-
Notifications
You must be signed in to change notification settings - Fork 879
Commit e31eac3
authored
Update dependency ts-node to v10 (#2020)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [ts-node](https://typestrong.org/ts-node)
([source](https://redirect.github.com/TypeStrong/ts-node)) |
dependencies | major | [`^8.6.2` ->
`^10.0.0`](https://renovatebot.com/diffs/npm/ts-node/8.10.2/10.9.2) |
| [ts-node](https://typestrong.org/ts-node)
([source](https://redirect.github.com/TypeStrong/ts-node)) |
devDependencies | major | [`8.10.2` ->
`10.9.2`](https://renovatebot.com/diffs/npm/ts-node/8.10.2/10.9.2) |
| [ts-node](https://typestrong.org/ts-node)
([source](https://redirect.github.com/TypeStrong/ts-node)) |
dependencies | major | [`^9.0.0` ->
`^10.0.0`](https://renovatebot.com/diffs/npm/ts-node/9.1.1/10.9.2) |
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>TypeStrong/ts-node (ts-node)</summary>
###
[`v10.9.2`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.9.2):
Fix `tsconfig.json` file not found
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v10.9.1...v10.9.2)
**Fixed**
- Fixed `tsconfig.json` file not found on latest TypeScript version
([https://github.com/TypeStrong/ts-node/pull/2091](https://redirect.github.com/TypeStrong/ts-node/pull/2091))
###
[`v10.9.1`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.9.1)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v10.9.0...v10.9.1)
**Fixed**
- Workaround nodejs bug introduced in 18.6.0
([#​1838](https://redirect.github.com/TypeStrong/ts-node/issues/1838))
[@​cspotcode](https://redirect.github.com/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`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.9.0)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v10.8.2...v10.9.0)
**Added**
- `--project` accepts path to a directory containing a `tsconfig.json`
([#​1829](https://redirect.github.com/TypeStrong/ts-node/issues/1829),
[#​1830](https://redirect.github.com/TypeStrong/ts-node/issues/1830))
[@​cspotcode](https://redirect.github.com/cspotcode)
- previously it required an explicit filename
- Added helpful error message when swc version is too old to support our
configuration
([#​1802](https://redirect.github.com/TypeStrong/ts-node/issues/1802))
[@​cspotcode](https://redirect.github.com/cspotcode)
- Added `experimentalTsImportSpecifiers` option which allows using
voluntary `.ts` file extensions in import specifiers (undocumented
except for [API
docs](https://typestrong.org/ts-node/api/interfaces/CreateOptions.html#experimentalTsImportSpecifiers))
([#​1815](https://redirect.github.com/TypeStrong/ts-node/issues/1815))
[@​cspotcode](https://redirect.github.com/cspotcode)
**Fixed**
- Fixed bug where `child_process.fork()` would erroneously execute the
parent's entrypoint script, not the intended child script
([#​1812](https://redirect.github.com/TypeStrong/ts-node/issues/1812),
[#​1814](https://redirect.github.com/TypeStrong/ts-node/issues/1814))
[@​devversion](https://redirect.github.com/devversion)
- Fixed support for jsx modes `"react-jsx"` and `"react-jsxdev"` in swc
transpiler
([#​1800](https://redirect.github.com/TypeStrong/ts-node/issues/1800),
[#​1802](https://redirect.github.com/TypeStrong/ts-node/issues/1802))
[@​cspotcode](https://redirect.github.com/cspotcode)
- Fixed support for import assertions in swc transpiler
([#​1817](https://redirect.github.com/TypeStrong/ts-node/issues/1817),
[#​1802](https://redirect.github.com/TypeStrong/ts-node/issues/1802))
[@​cspotcode](https://redirect.github.com/cspotcode)
- Fixed bug where calling `repl.evalCode()` with code not ending in a
newline would not update the typechecker accordingly
([#​1764](https://redirect.github.com/TypeStrong/ts-node/issues/1764),
[#​1824](https://redirect.github.com/TypeStrong/ts-node/issues/1824))
[@​cspotcode](https://redirect.github.com/cspotcode)
https://github.com/TypeStrong/ts-node/milestone/16?closed=1
###
[`v10.8.2`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.8.2)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v10.8.1...v10.8.2)
**Fixed**
- Revert "Use file URL for source map paths"
([#​1821](https://redirect.github.com/TypeStrong/ts-node/issues/1821))
[@​cspotcode](https://redirect.github.com/cspotcode)
- Fixes
[#​1790](https://redirect.github.com/TypeStrong/ts-node/issues/1790):
ts-node 10.8.1 regression where `nyc` code coverage reports had
incorrect paths
- Fixes
[#​1797](https://redirect.github.com/TypeStrong/ts-node/issues/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](https://redirect.github.com/TypeStrong/ts-node/issues/1792))
[@​queengooborg](https://redirect.github.com/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`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.8.1)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v10.8.0...v10.8.1)
**Fixed**
- Fixed
[#​1769](https://redirect.github.com/TypeStrong/ts-node/issues/1769):
source URLs in source map cache were malformed on Windows, affecting
code coverage reports
([#​1769](https://redirect.github.com/TypeStrong/ts-node/issues/1769),
[#​1771](https://redirect.github.com/TypeStrong/ts-node/issues/1771))
[@​PaperStrike](https://redirect.github.com/PaperStrike)
- Fixed
[#​1778](https://redirect.github.com/TypeStrong/ts-node/issues/1778):
typechecker was erronously resolving imports from ESM files as if they
were from CJS files
([#​1778](https://redirect.github.com/TypeStrong/ts-node/issues/1778),
[#​1782](https://redirect.github.com/TypeStrong/ts-node/issues/1782))
[@​cspotcode](https://redirect.github.com/cspotcode)
https://github.com/TypeStrong/ts-node/milestone/14
###
[`v10.8.0`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.8.0)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v10.7.0...v10.8.0)
Questions about this release? Ask in the official discussion thread:
[#​1767](https://redirect.github.com/TypeStrong/ts-node/issues/1767)
**Added**
- Added support for `module=NodeNext`, `module=Node16`, `.mts`, `.cts`,
`.mjs`, and `.cjs` file extensions
([#​1414](https://redirect.github.com/TypeStrong/ts-node/issues/1414),
[#​1694](https://redirect.github.com/TypeStrong/ts-node/issues/1694),
[#​1744](https://redirect.github.com/TypeStrong/ts-node/issues/1744),
[#​1745](https://redirect.github.com/TypeStrong/ts-node/issues/1745),
[#​1727](https://redirect.github.com/TypeStrong/ts-node/issues/1727),
[#​1717](https://redirect.github.com/TypeStrong/ts-node/issues/1717),
[#​1753](https://redirect.github.com/TypeStrong/ts-node/issues/1753),
[#​1757](https://redirect.github.com/TypeStrong/ts-node/issues/1757))
[@​cspotcode](https://redirect.github.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://redirect.github.com/TypeStrong/ts-node/issues/1727),
[#​1753](https://redirect.github.com/TypeStrong/ts-node/issues/1753))
[@​cspotcode](https://redirect.github.com/cspotcode)
- Enables consistency with ESM, where file extensions are often
mandatory
- Resolves from emitted to source file extensions
([#​1727](https://redirect.github.com/TypeStrong/ts-node/issues/1727),
[#​1753](https://redirect.github.com/TypeStrong/ts-node/issues/1753))
[@​cspotcode](https://redirect.github.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://redirect.github.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://redirect.github.com/TypeStrong/ts-node/issues/1727),
[#​1753](https://redirect.github.com/TypeStrong/ts-node/issues/1753))
[@​cspotcode](https://redirect.github.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://redirect.github.com/TypeStrong/ts-node/issues/1705),
[#​1706](https://redirect.github.com/TypeStrong/ts-node/issues/1706))
[@​paulbrimicombe](https://redirect.github.com/paulbrimicombe)
**Changed**
- Renames option `experimentalResolverFeatures` to
`experimentalResolver`
([docs](https://typestrong.org/ts-node/docs/options#experimentalresolver))
([#​1727](https://redirect.github.com/TypeStrong/ts-node/issues/1727))
[@​cspotcode](https://redirect.github.com/cspotcode)
- Internal change to ESM loader for compatibility with forthcoming node
versions: returns `shortCircuit: true`
([#​1714](https://redirect.github.com/TypeStrong/ts-node/issues/1714),
[#​1715](https://redirect.github.com/TypeStrong/ts-node/issues/1715))
[@​cspotcode](https://redirect.github.com/cspotcode)
- Performance: Optimize filesystem stat calls in ESM loader and new
CommonJS resolver
([#​1758](https://redirect.github.com/TypeStrong/ts-node/issues/1758),
[#​1759](https://redirect.github.com/TypeStrong/ts-node/issues/1759))
[@​cspotcode](https://redirect.github.com/cspotcode)
- Performance, maintenance: Upgrade source-mapper dependency
"[@​cspotcode/source-map-support](https://redirect.github.com/cspotcode/source-map-support)"
- Switches to "trace-mapping" for underlying source-map parsing
([#​1729](https://redirect.github.com/TypeStrong/ts-node/issues/1729))
[@​cspotcode](https://redirect.github.com/cspotcode)
**Fixed**
- Fixed bug where REPL `.type` command was not showing any type
information when using TypeScript nightly builds
([#​1761](https://redirect.github.com/TypeStrong/ts-node/issues/1761),
[#​1762](https://redirect.github.com/TypeStrong/ts-node/issues/1762))
[@​cspotcode](https://redirect.github.com/cspotcode)
- Correctly suppress "Custom ESM Loaders" warning on newer node versions
where the warning's prose changed
([#​1701](https://redirect.github.com/TypeStrong/ts-node/issues/1701))
[@​cspotcode](https://redirect.github.com/cspotcode)
- Fixed REPL bug where function signatures could not be entered across
multiple lines
([#​1667](https://redirect.github.com/TypeStrong/ts-node/issues/1667),
[#​1677](https://redirect.github.com/TypeStrong/ts-node/issues/1677))
[@​d9k](https://redirect.github.com/d9k)
- REPL treats unparenthesized object literals as objects, instead of as
block scopes
([#​1697](https://redirect.github.com/TypeStrong/ts-node/issues/1697),
[#​1699](https://redirect.github.com/TypeStrong/ts-node/issues/1699))
[@​jhmaster2000](https://redirect.github.com/jhmaster2000)
- Fixed bug where `preferTsExts` combined with third-party transpiler
hooks could disrupt `nyc` code coverage
([#​1755](https://redirect.github.com/TypeStrong/ts-node/issues/1755))
[@​cspotcode](https://redirect.github.com/cspotcode)
- Fixed bug where `file://` URLs in stack traces did not always use
percent-encoding
([#​1738](https://redirect.github.com/TypeStrong/ts-node/issues/1738),
[#​1726](https://redirect.github.com/TypeStrong/ts-node/issues/1726),
[#​1729](https://redirect.github.com/TypeStrong/ts-node/issues/1729))
[@​cspotcode](https://redirect.github.com/cspotcode)
- Fixed bug where v8-compile-cache-lib did not correctly unhook itself
([#​1717](https://redirect.github.com/TypeStrong/ts-node/issues/1717),
[#​1718](https://redirect.github.com/TypeStrong/ts-node/issues/1718),
[#​1719](https://redirect.github.com/TypeStrong/ts-node/issues/1719))
[@​cspotcode](https://redirect.github.com/cspotcode)
- This internal dependency is used to speed up loading the TypeScript
compiler
**Docs**
- Many docs improvements
([#​1682](https://redirect.github.com/TypeStrong/ts-node/issues/1682))
[@​cspotcode](https://redirect.github.com/cspotcode)
- Options page: each option its own linkable header w/usage example
([#​1606](https://redirect.github.com/TypeStrong/ts-node/issues/1606))
[@​cspotcode](https://redirect.github.com/cspotcode)
- Categorize APIs in typedoc, make entrypoints more prominent
([#​1456](https://redirect.github.com/TypeStrong/ts-node/issues/1456))
[@​cspotcode](https://redirect.github.com/cspotcode)
- Clarify that the shorthand for `--project` is `-P`, not `-p`
([#​1731](https://redirect.github.com/TypeStrong/ts-node/issues/1731),
[#​1734](https://redirect.github.com/TypeStrong/ts-node/issues/1734))
[@​lobsterkatie](https://redirect.github.com/lobsterkatie)
- Add common ESM errors to Troubleshooting page
([#​1607](https://redirect.github.com/TypeStrong/ts-node/issues/1607))
[@​cspotcode](https://redirect.github.com/cspotcode)
https://github.com/TypeStrong/ts-node/milestone/12
###
[`v10.7.0`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.7.0)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v10.6.0...v10.7.0)
Questions about this release? Ask in the official discussion thread:
[#​1680](https://redirect.github.com/TypeStrong/ts-node/issues/1680)
**Added**
- Adds `--esm` flag, option, and `ts-node-esm` binary
([#​1258](https://redirect.github.com/TypeStrong/ts-node/issues/1258),
[#​1655](https://redirect.github.com/TypeStrong/ts-node/issues/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**
- Unflag ESM json modules on node >=17.5.0
([#​1661](https://redirect.github.com/TypeStrong/ts-node/issues/1661),
[#​1665](https://redirect.github.com/TypeStrong/ts-node/issues/1665))
[@​Jamesernator](https://redirect.github.com/Jamesernator)
- no longer requires `--experimental-json-modules`
- Lazy-load dependencies to improve startup responsiveness.
([#​1676](https://redirect.github.com/TypeStrong/ts-node/issues/1676))
**Fixed**
- Fixed bug where "compiler", "transpiler", and swc backend would not
resolve relative to the tsconfig.json that declared them
([#​1662](https://redirect.github.com/TypeStrong/ts-node/issues/1662),
[#​1655](https://redirect.github.com/TypeStrong/ts-node/issues/1655))
- Enables reusable tsconfig.json shared via node module to include
necessary dependencies
https://github.com/TypeStrong/ts-node/milestone/11
###
[`v10.6.0`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.6.0)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v10.5.0...v10.6.0)
Questions about this release? Ask in the official discussion thread:
[#​1666](https://redirect.github.com/TypeStrong/ts-node/issues/1666)
**Added**
- Adds workaround for extensionless entrypoints with ESM loader
([#​1649](https://redirect.github.com/TypeStrong/ts-node/issues/1649),
[#​1654](https://redirect.github.com/TypeStrong/ts-node/issues/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](https://redirect.github.com/nodejs/node/issues/33226)
- Some tools, for example `mocha`, have an extensionless entrypoint.
([source](https://redirect.github.com/mochajs/mocha/blob/547ffd73535088322579d3d2026432112eae3d4b/package.json#L37),
[source](https://redirect.github.com/mochajs/mocha/blob/547ffd73535088322579d3d2026432112eae3d4b/bin/mocha))
- Combining `NODE_OPTIONS=--loader ts-node/esm` with these tools causes
this error.
[mochajs/mocha#4645](https://redirect.github.com/mochajs/mocha/issues/4645)
- node intends to fix this bug in a future release:
[nodejs/node#41711](https://redirect.github.com/nodejs/node/issues/41711)
- In the interim, we have implemented a workaround in ts-node.
- Adds support for target "ES2022" in `moduleTypes` overrides
([#​1650](https://redirect.github.com/TypeStrong/ts-node/issues/1650))
**Fixed**
- Fixed bug where `--swc` and other third-party transpilers did not
respect `moduleTypes` overrides
([#​1651](https://redirect.github.com/TypeStrong/ts-node/issues/1651),
[#​1652](https://redirect.github.com/TypeStrong/ts-node/issues/1652),
[#​1660](https://redirect.github.com/TypeStrong/ts-node/issues/1660))
- Fixed bug where node flags were not preserved correctly in
`process.execArgv`
([#​1657](https://redirect.github.com/TypeStrong/ts-node/issues/1657),
[#​1658](https://redirect.github.com/TypeStrong/ts-node/issues/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](https://redirect.github.com/TypeStrong/ts-node/issues/1647),
[#​1648](https://redirect.github.com/TypeStrong/ts-node/issues/1648))
https://github.com/TypeStrong/ts-node/milestone/9
###
[`v10.5.0`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.5.0)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v10.4.0...v10.5.0)
<!--
I don't make a discussion thread for every release. Github has a button
to make a discussion thread for a release.
Then I update the discussion thread to remove the release notes and
instead link to the release.
-->
Questions about this release? Ask in the official discussion thread:
[#​1634](https://redirect.github.com/TypeStrong/ts-node/issues/1634)
**Added**
- Eliminate "Emit Skipped" errors
([#​693](https://redirect.github.com/TypeStrong/ts-node/issues/693),
[#​1345](https://redirect.github.com/TypeStrong/ts-node/issues/1345),
[#​1629](https://redirect.github.com/TypeStrong/ts-node/issues/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](https://redirect.github.com/TypeStrong/ts-node/issues/693)
- Graduate swc transpiler out of experimental; add `swc: true`
convenience option
([docs](https://typestrong.org/ts-node/docs/transpilers))
([#​1487](https://redirect.github.com/TypeStrong/ts-node/issues/1487),
[#​1536](https://redirect.github.com/TypeStrong/ts-node/issues/1536),
[#​1613](https://redirect.github.com/TypeStrong/ts-node/issues/1613),
[#​1627](https://redirect.github.com/TypeStrong/ts-node/issues/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](https://redirect.github.com/TypeStrong/ts-node/issues/1613),
[#​1627](https://redirect.github.com/TypeStrong/ts-node/issues/1627))
- global fallback only occurs when using a global installation of
ts-node
- Add support for TypeScript's `traceResolution` output
([docs](https://www.typescriptlang.org/tsconfig/#traceResolution))
([#​1128](https://redirect.github.com/TypeStrong/ts-node/issues/1128),
[#​1491](https://redirect.github.com/TypeStrong/ts-node/issues/1491))
[@​TheUnlocked](https://redirect.github.com/TheUnlocked)
- Support import assertions in ESM loader
([docs](https://nodejs.org/dist/latest-v17.x/docs/api/esm.html#import-assertions))
([#​1557](https://redirect.github.com/TypeStrong/ts-node/issues/1557),
[#​1558](https://redirect.github.com/TypeStrong/ts-node/issues/1558),
[#​1559](https://redirect.github.com/TypeStrong/ts-node/issues/1559),
[#​1573](https://redirect.github.com/TypeStrong/ts-node/issues/1573))
[@​Pokute](https://redirect.github.com/Pokute),
[@​geigerzaehler](https://redirect.github.com/geigerzaehler)
- Allows importing JSON files from ESM with the requisite flag
([docs](https://nodejs.org/dist/latest-v17.x/docs/api/esm.html#json-modules))
- `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](https://redirect.github.com/TypeStrong/ts-node/issues/1323),
[#​1620](https://redirect.github.com/TypeStrong/ts-node/issues/1620))
- Add swc target "es2022"
([#​1535](https://redirect.github.com/TypeStrong/ts-node/issues/1535),
[#​1540](https://redirect.github.com/TypeStrong/ts-node/issues/1540))
- When you have target es2022 in tsconfig, will use swc's es2022 target
**Changed**
- Initialize TypeScript compiler before starting REPL prompt
([#​1498](https://redirect.github.com/TypeStrong/ts-node/issues/1498))
[@​TheUnlocked](https://redirect.github.com/TheUnlocked)
- Improves responsiveness for first line of REPL input
- Use `v8-compile-cache-lib` to load typescript
- improves startup time
([#​1339](https://redirect.github.com/TypeStrong/ts-node/issues/1339),
[#​1603](https://redirect.github.com/TypeStrong/ts-node/issues/1603))
- Support both `--camelCase` and `--hyphen-case` for all CLI flags;
update documentation to use `--camelCase`
([#​1598](https://redirect.github.com/TypeStrong/ts-node/issues/1598),
[#​1599](https://redirect.github.com/TypeStrong/ts-node/issues/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](https://redirect.github.com/TypeStrong/ts-node/issues/1632))
**Fixed**
- Fix
[#​1538](https://redirect.github.com/TypeStrong/ts-node/issues/1538):
REPL inputs fail to transpile via swc
([#​1538](https://redirect.github.com/TypeStrong/ts-node/issues/1538),
[#​1541](https://redirect.github.com/TypeStrong/ts-node/issues/1541),
[#​1602](https://redirect.github.com/TypeStrong/ts-node/issues/1602))
- Fix
[#​1478](https://redirect.github.com/TypeStrong/ts-node/issues/1478):
REPL erroneously logged `undefined` for all inputs after the first when
using swc transpiler
([#​1478](https://redirect.github.com/TypeStrong/ts-node/issues/1478),
[#​1580](https://redirect.github.com/TypeStrong/ts-node/issues/1580),
[#​1602](https://redirect.github.com/TypeStrong/ts-node/issues/1602))
- Fix
[#​1389](https://redirect.github.com/TypeStrong/ts-node/issues/1389):
In `--showConfig` output, emit accurate `moduleTypes` paths resolved
relative to the `tsconfig.json` which declared them
([#​1389](https://redirect.github.com/TypeStrong/ts-node/issues/1389),
[#​1619](https://redirect.github.com/TypeStrong/ts-node/issues/1619))
- Fix: Remove indentation from `ts-node --help` output
([#​1597](https://redirect.github.com/TypeStrong/ts-node/issues/1597),
[#​1600](https://redirect.github.com/TypeStrong/ts-node/issues/1600))
- Fix
[#​1425](https://redirect.github.com/TypeStrong/ts-node/issues/1425):
Merged definitions correctly into `tsconfig.schemastore-schema.json`
([#​1425](https://redirect.github.com/TypeStrong/ts-node/issues/1425),
[#​1618](https://redirect.github.com/TypeStrong/ts-node/issues/1618))
- Fix: Allow disabling `"use strict"` emit in SWC transpiler
([#​1531](https://redirect.github.com/TypeStrong/ts-node/issues/1531),
[#​1537](https://redirect.github.com/TypeStrong/ts-node/issues/1537))
- Fix: Add missing `ERR_UNKNOWN_FILE_EXTENSION` constructor; was
throwing `ERR_UNKNOWN_FILE_EXTENSION is not a constructor`
([#​1562](https://redirect.github.com/TypeStrong/ts-node/issues/1562))
[@​bluelovers](https://redirect.github.com/bluelovers)
- Fix
[#​1565](https://redirect.github.com/TypeStrong/ts-node/issues/1565):
entrypoint resolution failed on node v12.0.x and v12.1.x
([#​1565](https://redirect.github.com/TypeStrong/ts-node/issues/1565),
[#​1566](https://redirect.github.com/TypeStrong/ts-node/issues/1566))
[@​davidmurdoch](https://redirect.github.com/davidmurdoch)
##### Docs
- Explain `env -S` flag for shebangs
([docs](https://typestrong.org/ts-node/docs/usage#shebang))
([#​1448](https://redirect.github.com/TypeStrong/ts-node/issues/1448),
[#​1545](https://redirect.github.com/TypeStrong/ts-node/issues/1545))
[@​sheeit](https://redirect.github.com/sheeit),
[@​chee](https://redirect.github.com/chee)
- Suggest `skipIgnore` when you want to compile files in node_modules
([docs](https://typestrong.org/ts-node/docs/how-it-works))
([#​1553](https://redirect.github.com/TypeStrong/ts-node/issues/1553))
[@​webstrand](https://redirect.github.com/webstrand)
- Fix typo in `moduleTypes` on options page
([docs](https://typestrong.org/ts-node/docs/options))
([#​1630](https://redirect.github.com/TypeStrong/ts-node/issues/1630),
[#​1633](https://redirect.github.com/TypeStrong/ts-node/issues/1633))
##### Misc
- Adds experimental `experimentalResolverFeatures` option, but it does
not do anything yet
([#​1514](https://redirect.github.com/TypeStrong/ts-node/issues/1514),
[#​1614](https://redirect.github.com/TypeStrong/ts-node/issues/1614))
https://github.com/TypeStrong/ts-node/milestone/4
###
[`v10.4.0`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.4.0)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v10.3.1...v10.4.0)
**Added**
- Adds support for targets "es2020" and "es2021" to swc transpiler
([#​1521](https://redirect.github.com/TypeStrong/ts-node/issues/1521))
- Adds automatic target downgrade when using older versions of swc
([#​1521](https://redirect.github.com/TypeStrong/ts-node/issues/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**
- Improves types and API docs for `creatEsmHooks` ([API
docs](https://typestrong.org/ts-node/api/index.html#createEsmHooks))
([#​1506](https://redirect.github.com/TypeStrong/ts-node/issues/1506),
[#​1529](https://redirect.github.com/TypeStrong/ts-node/issues/1529))
**Fixed**
- Fix
[#​1526](https://redirect.github.com/TypeStrong/ts-node/issues/1526):
data URL handling in new ESM loader hooks API
([#​1526](https://redirect.github.com/TypeStrong/ts-node/issues/1526),
[#​1529](https://redirect.github.com/TypeStrong/ts-node/issues/1529))
https://github.com/TypeStrong/ts-node/milestone/8
###
[`v10.3.1`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.3.1)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v10.3.0...v10.3.1)
**Fixed**
- Add version check to use new loader hooks API for node >=16.12.0
([#​1522](https://redirect.github.com/TypeStrong/ts-node/issues/1522))
[@​shrujalshah28](https://redirect.github.com/shrujalshah28)
https://github.com/TypeStrong/ts-node/milestone/7
###
[`v10.3.0`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.3.0)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v10.2.1...v10.3.0)
Questions about this release? Ask in the official discussion thread:
[#​1507](https://redirect.github.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://redirect.github.com/TypeStrong/ts-node/issues/1424),
[#​1500](https://redirect.github.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://redirect.github.com/TypeStrong/ts-node/issues/1439))
[@​nonara](https://redirect.github.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://redirect.github.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://redirect.github.com/TypeStrong/ts-node/issues/1372),
[#​1457](https://redirect.github.com/TypeStrong/ts-node/issues/1457),
[#​1007](https://redirect.github.com/TypeStrong/ts-node/issues/1007))
[@​jonaskello](https://redirect.github.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://redirect.github.com/TypeStrong/ts-node/issues/1400),
[#​1484](https://redirect.github.com/TypeStrong/ts-node/issues/1484))
[@​markbradley27](https://redirect.github.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://redirect.github.com/TypeStrong/ts-node/issues/1440),
[#​1441](https://redirect.github.com/TypeStrong/ts-node/issues/1441),
[#​1438](https://redirect.github.com/TypeStrong/ts-node/issues/1438),
[#​1495](https://redirect.github.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://redirect.github.com/TypeStrong/ts-node/issues/1440),
[#​1441](https://redirect.github.com/TypeStrong/ts-node/issues/1441),
[#​1438](https://redirect.github.com/TypeStrong/ts-node/issues/1438),
[#​1495](https://redirect.github.com/TypeStrong/ts-node/issues/1495),
[cspotcode/node-source-map-support#23](https://redirect.github.com/cspotcode/node-source-map-support/issues/23),
[#​1496](https://redirect.github.com/TypeStrong/ts-node/issues/1496),
[#​1497](https://redirect.github.com/TypeStrong/ts-node/issues/1497))
[@​ejose19](https://redirect.github.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://redirect.github.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://redirect.github.com/TypeStrong/ts-node/issues/1363):
REPL may erroneously combine previous input with next input, eval both
as a single statement
([#​1363](https://redirect.github.com/TypeStrong/ts-node/issues/1363),
[#​1480](https://redirect.github.com/TypeStrong/ts-node/issues/1480))
[@​TheUnlocked](https://redirect.github.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://redirect.github.com/TypeStrong/ts-node/issues/1488):
Node may log "circular dependency" warning when using `allowJs`
([#​1488](https://redirect.github.com/TypeStrong/ts-node/issues/1488),
[#​1489](https://redirect.github.com/TypeStrong/ts-node/issues/1489))
- Fix
[#​1301](https://redirect.github.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://redirect.github.com/TypeStrong/ts-node/issues/1301),
[#​1483](https://redirect.github.com/TypeStrong/ts-node/issues/1483))
[@​ValeriaVG](https://redirect.github.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://redirect.github.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://redirect.github.com/TypeStrong/ts-node/issues/1455))
- Refer to ts-node consistently
([#​1481](https://redirect.github.com/TypeStrong/ts-node/issues/1481))
[@​animafps](https://redirect.github.com/animafps)
https://github.com/TypeStrong/ts-node/milestone/5
###
[`v10.2.1`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.2.1)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v10.2.0...v10.2.1)
**Fixed**
- Fixes
[#​1426](https://redirect.github.com/TypeStrong/ts-node/issues/1426):
Do not import typescript outside of configuration/project loading
([#​1433](https://redirect.github.com/TypeStrong/ts-node/issues/1433),
[#​1426](https://redirect.github.com/TypeStrong/ts-node/issues/1426))
[@​Songkeys](https://redirect.github.com/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
###
[`v10.2.0`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.2.0)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v10.1.0...v10.2.0)
Questions about this release? Ask in the official discussion thread:
[#​1423](https://redirect.github.com/TypeStrong/ts-node/issues/1423)
**Added**
- Adds top-level await support to REPL
([#​1383](https://redirect.github.com/TypeStrong/ts-node/issues/1383),
[#​245](https://redirect.github.com/TypeStrong/ts-node/issues/245))
[@​ejose19](https://redirect.github.com/ejose19)
- can be disabled with `--no-experimental-repl-await`,
`experimentalReplAwait`, or `TS_NODE_EXPERIMENTAL_REPL_AWAIT` ([CLI
docs](https://typestrong.org/ts-node/docs/options), [API
docs](https://typestrong.org/ts-node/api/interfaces/CreateOptions.html#experimentalReplAwait))
- Setting `"pretty": false` disables pretty formatting of diagnostics
even when stdout is a TTY
([#​1418](https://redirect.github.com/TypeStrong/ts-node/issues/1418),
[#​1420](https://redirect.github.com/TypeStrong/ts-node/issues/1420))
[@​elevatebart](https://redirect.github.com/elevatebart)
- Applies to ts-node's `pretty` option, not to be confused with
TypeScript's `pretty` option
- Ignores diagnostics which are annoying in an interactive REPL
([#​1396](https://redirect.github.com/TypeStrong/ts-node/issues/1396),
[#​1120](https://redirect.github.com/TypeStrong/ts-node/issues/1120),
[#​729](https://redirect.github.com/TypeStrong/ts-node/issues/729),
[#​850](https://redirect.github.com/TypeStrong/ts-node/issues/850),
[#​469](https://redirect.github.com/TypeStrong/ts-node/issues/469))
- For example, when you input `const foo = 1` in the REPL, `foo` is
unused. We ignore the resulting diagnostic `foo 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
- Logged stack traces are colorized to match vanilla node's behavior
([#​1412](https://redirect.github.com/TypeStrong/ts-node/issues/1412),
[#​1405](https://redirect.github.com/TypeStrong/ts-node/issues/1405))
**Fixed**
- Fix
[#​1397](https://redirect.github.com/TypeStrong/ts-node/issues/1397):
SWC transpiler should emit ECMAScript imports and exports when
configuration dictates
([#​1409](https://redirect.github.com/TypeStrong/ts-node/issues/1409),
[#​1397](https://redirect.github.com/TypeStrong/ts-node/issues/1397))
- Enables SWC transpiler to be used alongside `--loader`
- Fix
[#​1403](https://redirect.github.com/TypeStrong/ts-node/issues/1403):
source-map-support breaks rendering of node errors
([#​1405](https://redirect.github.com/TypeStrong/ts-node/issues/1405),
[#​1403](https://redirect.github.com/TypeStrong/ts-node/issues/1403))
- Fix
[#​1410](https://redirect.github.com/TypeStrong/ts-node/issues/1410):
rendering of async stack frames should include `async` annotations
([#​1405](https://redirect.github.com/TypeStrong/ts-node/issues/1405),
[#​1410](https://redirect.github.com/TypeStrong/ts-node/issues/1410))
- Fix
[#​1411](https://redirect.github.com/TypeStrong/ts-node/issues/1411):
wrong order of process 'exit' event and logging unhandled exception
([#​1405](https://redirect.github.com/TypeStrong/ts-node/issues/1405),
[#​1411](https://redirect.github.com/TypeStrong/ts-node/issues/1411))
- Fix
[#​1419](https://redirect.github.com/TypeStrong/ts-node/issues/1419):
Should not throw `require.resolve` error when `@types/node`
peerDependency is missing
([#​1419](https://redirect.github.com/TypeStrong/ts-node/issues/1419),
[#​1422](https://redirect.github.com/TypeStrong/ts-node/issues/1422))
https://github.com/TypeStrong/ts-node/milestone/2
###
[`v10.1.0`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.1.0)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v10.0.0...v10.1.0)
Questions about this release? Ask in the official discussion thread:
[#​1390](https://redirect.github.com/TypeStrong/ts-node/issues/1390)
**Added**
- Add `"moduleType"` option to override module type -- CommonJS or
ECMAScript -- on select files.
([docs](https://typestrong.org/ts-node/docs/module-type-overrides))
([#​1342](https://redirect.github.com/TypeStrong/ts-node/issues/1342),
[#​1371](https://redirect.github.com/TypeStrong/ts-node/issues/1371),
[#​1376](https://redirect.github.com/TypeStrong/ts-node/issues/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"` and `tsconfig.json`
`"module"`
- akin to `.cjs` and `.mjs` extensions, but for `.ts` and `.tsx` files
- thanks to [@​jayaddison](https://redirect.github.com/jayaddison)
for help on test coverage
- Implement `"extends"` support for `"ts-node"` options in
`tsconfig.json`
([#​1328](https://redirect.github.com/TypeStrong/ts-node/issues/1328),
[#​1356](https://redirect.github.com/TypeStrong/ts-node/issues/1356))
- `"ts-node": {}` options will be parsed from extended tsconfigs
- allows sharing and deduplicating ts-node configuration
- Un-deprecate `scope` and `scopeDir`; add both to CLI and
`tsconfig.json` options; un-deprecate `TS_NODE_SCOPE` env var; add
`TS_NODE_SCOPE_DIR` env var
([docs](https://typestrong.org/ts-node/docs/options))
([#​1346](https://redirect.github.com/TypeStrong/ts-node/issues/1346),
[#​1367](https://redirect.github.com/TypeStrong/ts-node/issues/1367))
**Changed**
- Improve error messages thrown by native ESM loader hooks
([#​1357](https://redirect.github.com/TypeStrong/ts-node/issues/1357),
[#​1373](https://redirect.github.com/TypeStrong/ts-node/issues/1373))
[@​tars0x9752](https://redirect.github.com/tars0x9752)
- messages more closely match node; are more descriptive
- Emit `"ts-node"` object at the top of `--showConfig` output instead of
the bottom
([#​1355](https://redirect.github.com/TypeStrong/ts-node/issues/1355))
**Fixed**
- Fix
[#​1282](https://redirect.github.com/TypeStrong/ts-node/issues/1282):
Set correct globals in `[stdin]`, `[eval]`, and `<repl>` contexts
([#​1333](https://redirect.github.com/TypeStrong/ts-node/issues/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 of `module`, `exports`, and builtin module
aliases `fs`, etc
- Fix
[#​1343](https://redirect.github.com/TypeStrong/ts-node/issues/1343):
Set swc option `keepClassNames` to `true`
([#​1344](https://redirect.github.com/TypeStrong/ts-node/issues/1344))
- Fix:
[#​1387](https://redirect.github.com/TypeStrong/ts-node/issues/1387):
REPL outputs 'use strict' after first empty line of input
([#​1388](https://redirect.github.com/TypeStrong/ts-node/issues/1388))
[@​ejose19](https://redirect.github.com/ejose19)
**Docs**
- Update ESM docs to say that env vars *are* supported with `node
--loader ts-node/esm`
([docs](https://redirect.github.com/TypeStrong/ts-node/issues/1007))
([#​1379](https://redirect.github.com/TypeStrong/ts-node/issues/1379))
https://github.com/TypeStrong/ts-node/milestone/3
###
[`v10.0.0`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v10.0.0)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v9.1.1...v10.0.0)
Questions about this release? Ask in the official discussion thread:
[#​1337](https://redirect.github.com/TypeStrong/ts-node/issues/1337)
*Breaking changes are prefixed with **\[BREAKING]***
**Added**
- Adds `--show-config` to log the resolved configuration
([docs](https://typestrong.org/ts-node/docs/troubleshooting#understanding-configuration))
([#​1100](https://redirect.github.com/TypeStrong/ts-node/issues/1100),
[#​1243](https://redirect.github.com/TypeStrong/ts-node/issues/1243))
- Bundle and re-export
[@​tsconfig/node](https://redirect.github.com/tsconfig/node)\*
configurations for convenience
([docs](https://typestrong.org/ts-node/docs/configuration#tsconfigbases))
([#​1202](https://redirect.github.com/TypeStrong/ts-node/issues/1202),
[#​1236](https://redirect.github.com/TypeStrong/ts-node/issues/1236),
[#​1313](https://redirect.github.com/TypeStrong/ts-node/issues/1313))
- Default to appropriate
[@​tsconfig/node](https://redirect.github.com/tsconfig/node)\*
configuration based on node and typescript versions
([docs](https://typestrong.org/ts-node/docs/configuration#default-config))
([#​1202](https://redirect.github.com/TypeStrong/ts-node/issues/1202),
[#​1236](https://redirect.github.com/TypeStrong/ts-node/issues/1236),
[#​1313](https://redirect.github.com/TypeStrong/ts-node/issues/1313))
- Automatically reference
[@​types/node](https://redirect.github.com/types/node); use
globally-installed
[@​types/node](https://redirect.github.com/types/node) if not
locally installed
([#​1240](https://redirect.github.com/TypeStrong/ts-node/issues/1240),
[#​1257](https://redirect.github.com/TypeStrong/ts-node/issues/1257))
- Add `swc` integration and new `--transpiler` option to use third-party
transpilers for a massive speed boost on large codebases
([docs](https://typestrong.org/ts-node/docs/transpilers))
([#​779](https://redirect.github.com/TypeStrong/ts-node/issues/779),
[#​1160](https://redirect.github.com/TypeStrong/ts-node/issues/1160))
- Add `scopeDir` API option
([docs](https://typestrong.org/ts-node/api/interfaces/RegisterOptions.html#scopeDir))
([#​1155](https://redirect.github.com/TypeStrong/ts-node/issues/1155))
- Add `projectSearchDir` API option
([docs](https://typestrong.org/ts-node/api/interfaces/RegisterOptions.html#projectSearchDir))
([#​1155](https://redirect.github.com/TypeStrong/ts-node/issues/1155))
- Add `--cwd-mode` and `ts-node-cwd` to resolve config file relative to
cwd, not entrypoint script
([#​1155](https://redirect.github.com/TypeStrong/ts-node/issues/1155))
**Changed**
- **\[BREAKING]** Make `--script-mode` default behavior; resolve
tsconfig relative to entrypoint script instead of cwd
([#​949](https://redirect.github.com/TypeStrong/ts-node/issues/949),
[#​1197](https://redirect.github.com/TypeStrong/ts-node/issues/1197),
[#​1155](https://redirect.github.com/TypeStrong/ts-node/issues/1155))
- In most cases this change will have no noticeable effect
- Primarily benefits portable shell scripts on your `$PATH`, because
`ts-node` will respect the script's local `tsconfig.json`
- Use `--cwd-mode` or `ts-node-cwd` if you need legacy behavior
- **\[BREAKING]** `ignore` rules evaluate relative to `tsconfig.json`
directory, otherwise `cwd`
([#​1155](https://redirect.github.com/TypeStrong/ts-node/issues/1155))
- **\[BREAKING]** Remove support for node 10. Minimum supported version
is node 12
([#​1312](https://redirect.github.com/TypeStrong/ts-node/issues/1312))
- Rename `--dir` to `--cwd`; rename `TS_NODE_DIR` to `TS_NODE_CWD`
([#​1155](https://redirect.github.com/TypeStrong/ts-node/issues/1155))
- `--dir` and `TS_NODE_DIR` are deprecated but still parsed for
backwards-compatibility
- `--dir` effectively changed the working directory of `ts-node`;
renaming makes this behavior more obvious
**Deprecated**
- Deprecate `TS_NODE_SCOPE`
([#​1155](https://redirect.github.com/TypeStrong/ts-node/issues/1155))
- Deprecate `--dir` and `TS_NODE_DIR`
([#​1155](https://redirect.github.com/TypeStrong/ts-node/issues/1155))
**Removed**
- **\[BREAKING]** Internal APIs removed from type declarations
([#​1242](https://redirect.github.com/TypeStrong/ts-node/issues/1242))
- Removed `DEFAULTS`, `normalizeSlashes`, `parse`, `split`
- No features were removed
- This will only affect consumers of `ts-node`'s programmatic API
**Fixed**
- **\[BREAKING]** Fix
[#​1229](https://redirect.github.com/TypeStrong/ts-node/issues/1229)
and
[#​1235](https://redirect.github.com/TypeStrong/ts-node/issues/1235):
always throw `ERR_REQUIRE_ESM` when attempting to execute ESM as CJS,
even when not using `--loader ts-node/esm`
([#​1232](https://redirect.github.com/TypeStrong/ts-node/issues/1232))
- This aligns our behavior with vanilla `node`
- **\[BREAKING]** Fix
[#​1225](https://redirect.github.com/TypeStrong/ts-node/issues/1225):
`compiler` is loaded relative to `tsconfig.json` instead of entrypoint
script
([#​1155](https://redirect.github.com/TypeStrong/ts-node/issues/1155))
- In most cases this change will have no noticable effect
- Fix
[#​1217](https://redirect.github.com/TypeStrong/ts-node/issues/1217):
REPL not always using passed stdout and stderr
([#​1224](https://redirect.github.com/TypeStrong/ts-node/issues/1224))
- Fix
[#​1220](https://redirect.github.com/TypeStrong/ts-node/issues/1220):
`ts-node ./index` may execute the wrong file extension because tsconfig
search poisons the `require.resolve` cache
([#​1155](https://redirect.github.com/TypeStrong/ts-node/issues/1155))
- Fix
[#​1322](https://redirect.github.com/TypeStrong/ts-node/issues/1322):
Sourcemaps fail for filenames with spaces or other characters which are
percent-encoded in URLs
([#​1160](https://redirect.github.com/TypeStrong/ts-node/issues/1160),
[#​1330](https://redirect.github.com/TypeStrong/ts-node/issues/1330))
- Fix
[#​1331](https://redirect.github.com/TypeStrong/ts-node/issues/1331):
Resolution of node builtin modules in ESM loader fails on node
>=12.20.0, <13
([#​1332](https://redirect.github.com/TypeStrong/ts-node/issues/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](https://redirect.github.com/TypeStrong/ts-node/issues/1207),
[#​1213](https://redirect.github.com/TypeStrong/ts-node/issues/1213),
[#​1221](https://redirect.github.com/TypeStrong/ts-node/issues/1221),
[#​1228](https://redirect.github.com/TypeStrong/ts-node/issues/1228),
[#​1244](https://redirect.github.com/TypeStrong/ts-node/issues/1244),
[#​1250](https://redirect.github.com/TypeStrong/ts-node/issues/1250),
[#​1294](https://redirect.github.com/TypeStrong/ts-node/issues/1294),
[#​1295](https://redirect.github.com/TypeStrong/ts-node/issues/1295),
[#​1296](https://redirect.github.com/TypeStrong/ts-node/issues/1296),
[#​1297](https://redirect.github.com/TypeStrong/ts-node/issues/1297)
- Thanks to these contributors for PRs which improved our documentation
- add troubleshooting tip for syntax errors
([#​1201](https://redirect.github.com/TypeStrong/ts-node/issues/1201))
[@​jedwards1211](https://redirect.github.com/jedwards1211)
- Clarify handling of tsx/jsx file extensions
([#​1179](https://redirect.github.com/TypeStrong/ts-node/issues/1179))
[@​NaridaL](https://redirect.github.com/NaridaL)
- Added `CONTRIBUTING.md` to document the codebase and our development
workflow
https://github.com/TypeStrong/ts-node/milestone/1
###
[`v9.1.1`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v9.1.1)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v9.1.0...v9.1.1)
No code changes. We re-packed and republished v9.1.1, because the v9.1.0
package was broken due to an npm v7 bug.
**Fixes**
- Published tarball had extra slashes in the paths of dist files.
[#​1172](https://redirect.github.com/TypeStrong/ts-node/issues/1172)
###
[`v9.1.0`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v9.1.0)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v9.0.0...v9.1.0)
**Added**
- Expose ts-node REPL via the API
([#​1121](https://redirect.github.com/TypeStrong/ts-node/issues/1121))
[@​MarcManiez](https://redirect.github.com/MarcManiez)
- Allow `--typeCheck` flag to override `--transpileOnly` flag specified
in `tsconfig.json`
([#​1142](https://redirect.github.com/TypeStrong/ts-node/issues/1142))
**Changed**
- Rename interface `Register` to `Service`. It is still aliased as
`Register` for backwards compatibility
([#​1158](https://redirect.github.com/TypeStrong/ts-node/issues/1158))
- Update code copied from node's ESM resolver to be the latest from node
15, to keep our ESM resolver's behavior as close as possible to vanilla
node
([#​1167](https://redirect.github.com/TypeStrong/ts-node/issues/1167))
**Fixed**
- ESM resolver will preserve search portion of URL, used for cache
busting
([#​1165](https://redirect.github.com/TypeStrong/ts-node/issues/1165))
[@​frandiox](https://redirect.github.com/frandiox)
- Fix ESM resolution of builtin modules on node >=14.13.1
([#​1136](https://redirect.github.com/TypeStrong/ts-node/issues/1136))
- Recognize `--es-module-specifier-resolution` as an alias of
`--experimental-specifier-resolution` for node 12 compatibility
([#​1122](https://redirect.github.com/TypeStrong/ts-node/issues/1122))
[@​nguyensomniac](https://redirect.github.com/nguyensomniac)
**Docs**
- Fix description of `ts-node-dev` in README
([#​1131](https://redirect.github.com/TypeStrong/ts-node/issues/1131))
[@​iamandrewluca](https://redirect.github.com/iamandrewluca)
- Update `transformers` description to clarify incompatibility with
`transpileOnly`
([#​1123](https://redirect.github.com/TypeStrong/ts-node/issues/1123))
**Misc**
- Changes to test matrix: Test against node 15; drop node 13 tests;
remove 12.16 in favor of latest 12.x.x
([#​1138](https://redirect.github.com/TypeStrong/ts-node/issues/1138),
[#​1148](https://redirect.github.com/TypeStrong/ts-node/issues/1148))
- Improve codecov rules to remove misleading test failures
([#​1159](https://redirect.github.com/TypeStrong/ts-node/issues/1159))
###
[`v9.0.0`](https://redirect.github.com/TypeStrong/ts-node/releases/tag/v9.0.0)
[Compare
Source](https://redirect.github.com/TypeStrong/ts-node/compare/v8.10.2...v9.0.0)
*Breaking changes are labelled \[BREAKING] below.*
**Added**
- Throw `ERR_REQUIRE_ESM` when a file is `require()`d which should be
loaded as ESM
([#​1031](https://redirect.github.com/TypeStrong/ts-node/issues/1031))
- Re-add `"exports"` declaration to package.json in backwards-compatible
way, enabling `node --loader ts-node/esm` without file extension
([#​1028](https://redirect.github.com/TypeStrong/ts-node/issues/1028))
- Allow specifying `"require"` option via tsconfig
([#​925](https://redirect.github.com/TypeStrong/ts-node/issues/925))
- REPL respects node's `NODE_NO_READLINE` environment variable
([#​1090](https://redirect.github.com/TypeStrong/ts-node/issues/1090))
- Add a transpile-only entrypoint for ESM loader: `node --loader
ts-node/esm/transpile-only`
([#​1102](https://redirect.github.com/TypeStrong/ts-node/issues/1102))
[@​concision](https://redirect.github.com/concision)
**Changed**
- \[BREAKING] Drops support for node versions < 10
([#​1036](https://redirect.github.com/TypeStrong/ts-node/issues/1036))
**Fixed**
- \[BREAKING] Re-add `realpath`, which should fix workflows that use
symlinks, such as `pnpm`, Lerna workspaces, or other mono-repo
configurations
([#​970](https://redirect.github.com/TypeStrong/ts-node/issues/970))
- Compile files within `node_modules` when `--skip-ignore` or `--ignore`
options are configured to allow it
([#​970](https://redirect.github.com/TypeStrong/ts-node/issues/970))
- Fix
[#​884](https://redirect.github.com/TypeStrong/ts-node/issues/884)
by not adding all referenced files to `getSourceFileNames`/`rootNames`
([#​999](https://redirect.github.com/TypeStrong/ts-node/issues/999))
- Fix
[#​996](https://redirect.github.com/TypeStrong/ts-node/issues/996):
bump `projectVersion` every time `getSourceFileNames` changes, avoiding
accidentally outdated typechecking
([#​998](https://redirect.github.com/TypeStrong/ts-node/issues/998))
- Fix
[#​1051](https://redirect.github.com/TypeStrong/ts-node/issues/1051):
pass transformers object to `ts.transpileModule`
([#​1054](https://redirect.github.com/TypeStrong/ts-node/issues/1054))
[@​thetutlage](https://redirect.github.com/thetutlage)
- Fix
[#​1060](https://redirect.github.com/TypeStrong/ts-node/issues/1060):
use source maps for stack traces in ESM modules
([#​1087](https://redirect.github.com/TypeStrong/ts-node/issues/1087))
- Fix
[#​1072](https://redirect.github.com/TypeStrong/ts-node/issues/1072):
Respect `--experimental-specifier-resolution` coming from `NODE_OPTIONS`
in ESM loader
([#​1085](https://redirect.github.com/TypeStrong/ts-node/issues/1085))
[@​evg656e](https://redirect.github.com/evg656e)
- Fix
[#​1098](https://redirect.github.com/TypeStrong/ts-node/issues/1098):
ESM loader should skip `.cjs`, `.mjs`, and any unexpected file
extensions
([#​1103](https://redirect.github.com/TypeStrong/ts-node/issues/1103))
[@​concision](https://redirect.github.com/concision)
**Docs**
- Better explain how to compile imports, either CommonJS or using
experimental ESM loader. Resolves
[#​1075](https://redirect.github.com/TypeStrong/ts-node/issues/1075)
([#​1086](https://redirect.github.com/TypeStrong/ts-node/issues/1086))
**Misc**
- Fix, re-enable, and add various tests
([#​1044](https://redirect.github.com/TypeStrong/ts-node/issues/1044),
[#​1088](https://redirect.github.com/TypeStrong/ts-node/issues/1088),
[#​1108](ht
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - "every weekday" (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 these
updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJpbXBhY3Qvbm8tY2hhbmdlbG9nLXJlcXVpcmVkIl19-->
Co-authored-by: pulumi-renovate[bot] <189166143+pulumi-renovate[bot]@users.noreply.github.com>1 parent b98ccf1 commit e31eac3Copy full SHA for e31eac3
File tree
3 files changed
+3
-3
lines changedFilter options
- aws-py-ecs-instances-autoapi/automation
- classic-azure-ts-cosmosapp-component
- testing-pac-ts
3 files changed
+3
-3
lines changedaws-py-ecs-instances-autoapi/automation/package.json
Copy file name to clipboardExpand all lines: aws-py-ecs-instances-autoapi/automation/package.json+1-1Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
9 | 9 |
| |
10 | 10 |
| |
11 | 11 |
| |
12 |
| - | |
| 12 | + | |
13 | 13 |
| |
14 | 14 |
| |
15 | 15 |
| |
|
classic-azure-ts-cosmosapp-component/package.json
Copy file name to clipboardExpand all lines: classic-azure-ts-cosmosapp-component/package.json+1-1Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
5 | 5 |
| |
6 | 6 |
| |
7 | 7 |
| |
8 |
| - | |
| 8 | + | |
9 | 9 |
| |
10 | 10 |
| |
11 | 11 |
| |
|
testing-pac-ts/package.json
Copy file name to clipboardExpand all lines: testing-pac-ts/package.json+1-1Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
10 |
| - | |
| 10 | + | |
11 | 11 |
| |
12 | 12 |
|
0 commit comments