netlify-builder
netlify-builder copied to clipboard
chore(deps): update dependency ts-node to v10.8.1
This PR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
ts-node (source) | 10.0.0 -> 10.8.1 |
Release Notes
TypeStrong/ts-node
v10.8.1
Fixed
- Fixed #1769: source URLs in source map cache were malformed on Windows, affecting code coverage reports (#1769, #1771) @cspotcode
- Fixed #1778: typechecker was erronously resolving imports from ESM files as if they were from CJS files (#1778, #1782) @cspotcode
https://github.com/TypeStrong/ts-node/milestone/14
v10.8.0
Questions about this release? Ask in the official discussion thread: #1767
Added
- Added support for
module=NodeNext
,module=Node16
,.mts
,.cts
,.mjs
, and.cjs
file extensions (#1414, #1694, #1744, #1745, #1727, #1717, #1753, #1757) @cspotcode- For best results, enable
experimentalResolver
(docs) - 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"
- For best results, enable
- Added ability to include file extensions in CommonJS imports (#1727, #1753) @cspotcode
- Enables consistency with ESM, where file extensions are often mandatory
- Resolves from emitted to source file extensions (#1727, #1753) @cspotcode
- Must enable
experimentalResolver
, will be enabled by default in a future version (docs) - Typechecker requires importing the emitted file extension; ts-node resolves correctly to the source file. E.g.
import "./foo.js"
will executefoo.ts
See also: TypeScript issue #37582 - If typechecking is disabled, you can also use source file extensions. E.g.
import "./foo.ts"
- Must enable
- Added
experimentalSpecifierResolution
(#1727, #1753) @cspotcode- the same as Node's
--experimental-specifier-resolution
(Node docs) - can also be specified in
tsconfig.json
for convenience, to avoid the CLI flag - allows omitting file extensions in ESM imports, plus a few other CommonJS-style conveniences
- the same as Node's
- Adds
diagnostics
property toTSError
, with array of TypeScript diagnostic objects from the compiler (API docs) (#1705, #1706) @paulbrimicombe
Changed
- Renames option
experimentalResolverFeatures
toexperimentalResolver
(docs) (#1727) @cspotcode - Internal change to ESM loader for compatibility with forthcoming node versions: returns
shortCircuit: true
(#1714, #1715) @cspotcode - Performance: Optimize filesystem stat calls in ESM loader and new CommonJS resolver (#1758, #1759) @cspotcode
- Performance, maintenance: Upgrade source-mapper dependency "@cspotcode/source-map-support"
- Switches to "trace-mapping" for underlying source-map parsing (#1729) @cspotcode
Fixed
- Fixed bug where REPL
.type
command was not showing any type information when using TypeScript nightly builds (#1761, #1762) @cspotcode - Correctly suppress "Custom ESM Loaders" warning on newer node versions where the warning's prose changed (#1701) @cspotcode
- Fixed REPL bug where function signatures could not be entered across multiple lines (#1667, #1677) @d9k
- REPL treats unparenthesized object literals as objects, instead of as block scopes (#1697, #1699) @jhmaster2000
- Fixed bug where
preferTsExts
combined with third-party transpiler hooks could disruptnyc
code coverage (#1755) @cspotcode - Fixed bug where
file://
URLs in stack traces did not always use percent-encoding (#1738, #1726, #1729) @cspotcode - Fixed bug where v8-compile-cache-lib did not correctly unhook itself (#1717, #1718, #1719) @cspotcode
- This internal dependency is used to speed up loading the TypeScript compiler
Docs
- Many docs improvements (#1682) @cspotcode
- Options page: each option its own linkable header w/usage example (#1606) @cspotcode
- Categorize APIs in typedoc, make entrypoints more prominent (#1456) @cspotcode
- Clarify that the shorthand for
--project
is-P
, not-p
(#1731, #1734) @lobsterkatie - Add common ESM errors to Troubleshooting page (#1607) @cspotcode
https://github.com/TypeStrong/ts-node/milestone/12
v10.7.0
Questions about this release? Ask in the official discussion thread: #1680
Added
- Adds
--esm
flag, option, andts-node-esm
binary (#1258, #1655)- Enables full
esm
support; no need for--loader
norNODE_OPTIONS
- Use shebang
#!/usr/bin/env ts-node-esm
, runts-node --esm
, or add to your tsconfig.json:"ts-node": {"esm": true}
- Enables full
Changed
- Unflag ESM json modules on node >=17.5.0 (#1661, #1665) @Jamesernator
- no longer requires
--experimental-json-modules
- no longer requires
- Lazy-load dependencies to improve startup responsiveness. (#1676)
Fixed
- Fixed bug where "compiler", "transpiler", and swc backend would not resolve relative to the tsconfig.json that declared them (#1662, #1655)
- Enables reusable tsconfig.json shared via node module to include necessary dependencies
https://github.com/TypeStrong/ts-node/milestone/11
v10.6.0
Questions about this release? Ask in the official discussion thread: #1666
Added
- Adds workaround for extensionless entrypoints with ESM loader (#1649, #1654)
- You can now combine tools such as
mocha
with--loader ts-node/esm
, where previously node would throw[ERR_UNKNOWN_FILE_EXTENSION]
- node has a bug where combining
--loader
with an extensionless entrypoint causes this error nodejs/node#33226 - Some tools, for example
mocha
, have an extensionless entrypoint. (source, source) - Combining
NODE_OPTIONS=--loader ts-node/esm
with these tools causes this error. mochajs/mocha#4645 - node intends to fix this bug in a future release: nodejs/node#41711
- In the interim, we have implemented a workaround in ts-node.
- You can now combine tools such as
- Adds support for target "ES2022" in
moduleTypes
overrides (#1650)
Fixed
- Fixed bug where
--swc
and other third-party transpilers did not respectmoduleTypes
overrides (#1651, #1652, #1660) - Fixed bug where node flags were not preserved correctly in
process.execArgv
(#1657, #1658)- This affected
child_process.fork()
, since it usesprocess.execArgv
to create a similar child runtime. - With this fix,
child_process.fork()
will preserve both node flags andts-node
hooks.
- This affected
- Fixed compatibility TypeScript 4.7's API changes (#1647, #1648)
https://github.com/TypeStrong/ts-node/milestone/9
v10.5.0
Questions about this release? Ask in the official discussion thread: #1634
Added
- Eliminate "Emit Skipped" errors (#693, #1345, #1629)
- Avoids all "Emit Skipped" errors by performing a fallback
transpileOnly
-style transformation. - Does not affect typechecking. Type errors are still detected and thrown.
- Fallback has the same limitations as
isolatedModules
. This will only affect rare cases such as usingconst enums
withpreserveConstEnums
disabled. - Fixes #693
- Avoids all "Emit Skipped" errors by performing a fallback
- Graduate swc transpiler out of experimental; add
swc: true
convenience option (docs) (#1487, #1536, #1613, #1627)-
"swc": true
or--swc
will use swc for faster execution - This feature is no longer marked "experimental." Thank you to everyone who filed bugs!
-
- swc transpiler attempts to load
@swc/core
or@swc/wasm
dependencies from your project before falling-back to global installations (#1613, #1627)- global fallback only occurs when using a global installation of ts-node
- Add support for TypeScript's
traceResolution
output (docs) (#1128, #1491) @TheUnlocked - Support import assertions in ESM loader (docs) (#1557, #1558, #1559, #1573) @Pokute, @geigerzaehler
- Allows importing JSON files from ESM with the requisite flag (docs)
-
ts-node -vvv
also logs absolute paths tots-node
andtypescript
, to make it more obvious when you're accidentally using globally-installed versions (#1323, #1620) - Add swc target "es2022" (#1535, #1540)
- When you have target es2022 in tsconfig, will use swc's es2022 target
Changed
- Initialize TypeScript compiler before starting REPL prompt (#1498) @TheUnlocked
- Improves responsiveness for first line of REPL input
- Use
v8-compile-cache-lib
to load typescript - Support both
--camelCase
and--hyphen-case
for all CLI flags; update documentation to use--camelCase
(#1598, #1599)- Not a breaking change; CLI continues to accept both forms
- Make
TSError
diagnosticText
property non-enumerable to prevent it from being logged below the stack (#1632)
Fixed
- Fix #1538: REPL inputs fail to transpile via swc (#1538, #1541, #1602)
- Fix #1478: REPL erroneously logged
undefined
for all inputs after the first when using swc transpiler (#1478, #1580, #1602) - Fix #1389: In
--showConfig
output, emit accuratemoduleTypes
paths resolved relative to thetsconfig.json
which declared them (#1389, #1619) - Fix: Remove indentation from
ts-node --help
output (#1597, #1600) - Fix #1425: Merged definitions correctly into
tsconfig.schemastore-schema.json
(#1425, #1618) - Fix: Allow disabling
"use strict"
emit in SWC transpiler (#1531, #1537) - Fix: Add missing
ERR_UNKNOWN_FILE_EXTENSION
constructor; was throwingERR_UNKNOWN_FILE_EXTENSION is not a constructor
(#1562) @bluelovers - Fix #1565: entrypoint resolution failed on node v12.0.x and v12.1.x (#1565, #1566) @davidmurdoch
Docs
- Explain
env -S
flag for shebangs (docs) (#1448, #1545) @sheeit, @chee - Suggest
skipIgnore
when you want to compile files in node_modules (docs) (#1553) @webstrand - Fix typo in
moduleTypes
on options page (docs) (#1630, #1633)
Misc
- Adds experimental
experimentalResolverFeatures
option, but it does not do anything yet (#1514, #1614)
https://github.com/TypeStrong/ts-node/milestone/4
v10.4.0
Added
- Adds support for targets "es2020" and "es2021" to swc transpiler (#1521)
- Adds automatic target downgrade when using older versions of swc (#1521)
- If tsconfig specifies es2020, but your version of swc only supports up to es2019, ts-node will automatically switch to es2019 instead of throwing an error
Changed
Fixed
https://github.com/TypeStrong/ts-node/milestone/8
v10.3.1
Fixed
- Add version check to use new loader hooks API for node >=16.12.0 (#1522) @shrujalshah28
https://github.com/TypeStrong/ts-node/milestone/7
v10.3.0
Questions about this release? Ask in the official discussion thread: #1507
Added
- Declare types for node builtin modules within REPL so you do not need to import them (#1424, #1500)
- Node REPL exposes builtin modules as globals; typechecker now understands this
- Typechecking should no longer raise errors when using builtins without first importing
- For example:
util.promisify(setTimeout)(1000)
orfs.readFileSync('example.txt')
- Add
createEsmHooks()
function to create ESM loader hooks (API docs) (#1439) @nonara- Can be used to compose our loader hooks with another loader or additional logic
-
register()
accepts a ts-nodeService
(API docs) (#1474)-
register(options)
is still supported; no breaking changes
-
- Add support for Node.js's new loader hooks API (#1372, #1457, #1007) @jonaskello
- Node.js has changed their loader hooks API
- ts-node is compatible with all node versions, detects your node version and exposes the correct hooks API
- Node's new API currently only available in node v17 nightly builds
- Node will eventually backport the changes to node 16, and may also be backport to 14 and 12
- Add
--emit
to--help
output (#1400, #1484) @markbradley27
Changed
- When ts-node is registered and other libraries
require('source-map-support')
, they will be redirected to@cspotcode/source-map-support
- See complete description in Fixed section below
Fixed
- Fix #1440, #1441, #1438, #1495: Incorrect stack traces when third-party libraries use
source-map-support
instead of@cspotcode/source-map-support
(#1440, #1441, #1438, #1495, cspotcode/node-source-map-support#23, #1496, #1497) @ejose19- When ts-node is registered and other libraries
require('source-map-support')
, they will be redirected to@cspotcode/source-map-support
- ts-node uses
@cspotcode/source-map-support
for the fixes and enhancements listed here:@cspotcode/source-map-support
changelog - To ensure correct stack traces, all libraries must share a compatible sourcemap support implementation
- When ts-node is registered and other libraries
- Fix #1363: REPL may erroneously combine previous input with next input, eval both as a single statement (#1363, #1480) @TheUnlocked
- For example, entering
100
on first line and* 2
on second line would erronously be interpreted as100 * 2
- REPL now ensures both lines are separate statements, both when typechecking and when evaluating
- For example, entering
- Fix #1488: Node may log "circular dependency" warning when using
allowJs
(#1488, #1489) - Fix #1301: Filter empty strings from
TS_NODE_IGNORE
andTS_NODE_IGNORE_DIAGNOSTICS
; treat empty environment variable as empty array (#1301, #1483) @ValeriaVG-
TS_NODE_IGNORE= ts-node ./example.ts
will disable default ignore rules; will compile files in./node_modules
-
Docs
- Update VSCode debug configuration (Docs) (#1466)
- Update ESM-related messaging to clarify that experimental status is due to Node.js, not ts-node (#1455)
- Refer to ts-node consistently (#1481) @animafps
https://github.com/TypeStrong/ts-node/milestone/5
v10.2.1
Fixed
- Fixes #1426: Do not import typescript outside of configuration/project loading (#1433, #1426) @Songkeys
- We take care to load your project's version of typescript, falling back to a globally-installed version if necessary.
- 10.2.0 introduced a bug where we did not do this consistently, causing global or npx installations of ts-node to attempt loading typescript relative to themselves, not your project.
- This failed if typescript was not globally installed or npx did not install peer dependencies.
https://github.com/TypeStrong/ts-node/milestone/6
v10.2.0
Questions about this release? Ask in the official discussion thread: #1423
Added
- Adds top-level await support to REPL (#1383, #245) @ejose19
- Setting
"pretty": false
disables pretty formatting of diagnostics even when stdout is a TTY (#1418, #1420) @elevatebart- Applies to ts-node's
pretty
option, not to be confused with TypeScript'spretty
option
- Applies to ts-node's
- Ignores diagnostics which are annoying in an interactive REPL (#1396, #1120, #729, #850, #469)
- For example, when you input
const foo = 1
in the REPL,foo
is unused. We ignore the resulting diagnosticfoo 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
- For example, when you input
- Logged stack traces are colorized to match vanilla node's behavior (#1412, #1405)
Fixed
- Fix #1397: SWC transpiler should emit ECMAScript imports and exports when configuration dictates (#1409, #1397)
- Enables SWC transpiler to be used alongside
--loader
- Enables SWC transpiler to be used alongside
- Fix #1403: source-map-support breaks rendering of node errors (#1405, #1403)
- Fix #1410: rendering of async stack frames should include
async
annotations (#1405, #1410) - Fix #1411: wrong order of process 'exit' event and logging unhandled exception (#1405, #1411)
- Fix #1419: Should not throw
require.resolve
error when@types/node
peerDependency is missing (#1419, #1422)
https://github.com/TypeStrong/ts-node/milestone/2
v10.1.0
Questions about this release? Ask in the official discussion thread: #1390
Added
- Add
"moduleType"
option to override module type -- CommonJS or ECMAScript -- on select files. (docs) (#1342, #1371, #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"
andtsconfig.json
"module"
- akin to
.cjs
and.mjs
extensions, but for.ts
and.tsx
files - thanks to @jayaddison for help on test coverage
- Useful when a configuration file, for example
- Implement
"extends"
support for"ts-node"
options intsconfig.json
(#1328, #1356)-
"ts-node": {}
options will be parsed from extended tsconfigs - allows sharing and deduplicating ts-node configuration
-
- Un-deprecate
scope
andscopeDir
; add both to CLI andtsconfig.json
options; un-deprecateTS_NODE_SCOPE
env var; addTS_NODE_SCOPE_DIR
env var (docs) (#1346, #1367)
Changed
- Improve error messages thrown by native ESM loader hooks (#1357, #1373) @tars0x9752
- messages more closely match node; are more descriptive
- Emit
"ts-node"
object at the top of--showConfig
output instead of the bottom (#1355)
Fixed
- Fix #1282: Set correct globals in
[stdin]
,[eval]
, and<repl>
contexts (#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 ofmodule
,exports
, and builtin module aliasesfs
, etc
- Fix #1343: Set swc option
keepClassNames
totrue
(#1344) - Fix: #1387: REPL outputs 'use strict' after first empty line of input (#1388) @ejose19
Docs
https://github.com/TypeStrong/ts-node/milestone/3
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, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.
Kudos, SonarCloud Quality Gate passed!
0 Bugs
0 Vulnerabilities
0 Security Hotspots
0 Code Smells
No Coverage information
0.0% Duplication
Kudos, SonarCloud Quality Gate passed!
0 Bugs
0 Vulnerabilities
0 Security Hotspots
0 Code Smells
No Coverage information
0.0% Duplication
Kudos, SonarCloud Quality Gate passed!
0 Bugs
0 Vulnerabilities
0 Security Hotspots
0 Code Smells
No Coverage information
0.0% Duplication
Kudos, SonarCloud Quality Gate passed!
0 Bugs
0 Vulnerabilities
0 Security Hotspots
0 Code Smells
No Coverage information
0.0% Duplication
Renovate Ignore Notification
Because you closed this PR without merging, Renovate will ignore this update (10.9.1
). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps
array of your Renovate config.
If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.