TypeStrong/ts-node (ts-node)
### [`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)
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
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 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, check this box
This PR contains the following updates:
10.4.0
->10.9.2
Release Notes
TypeStrong/ts-node (ts-node)
### [`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) 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/4Configuration
📅 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 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 was generated by Mend Renovate. View the repository job log.