Nestjs-Learning
Nestjs-Learning copied to clipboard
chore(deps): update dependency ts-node to v10
This PR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
ts-node (source) | ^8.0.0 -> ^10.0.0 |
Release Notes
TypeStrong/ts-node
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
v10.0.0
Questions about this release? Ask in the official discussion thread: #1337
Breaking changes are prefixed with [BREAKING]
Added
- Adds
--show-config
to log the resolved configuration (docs) (#1100, #1243) - Bundle and re-export @tsconfig/node* configurations for convenience (docs) (#1202, #1236, #1313)
- Default to appropriate @tsconfig/node* configuration based on node and typescript versions (docs) (#1202, #1236, #1313)
- Automatically reference @types/node; use globally-installed @types/node if not locally installed (#1240, #1257)
- Add
swc
integration and new--transpiler
option to use third-party transpilers for a massive speed boost on large codebases (docs) (#779, #1160) - Add
scopeDir
API option (docs) (#1155) - Add
projectSearchDir
API option (docs) (#1155) - Add
--cwd-mode
andts-node-cwd
to resolve config file relative to cwd, not entrypoint script (#1155)
Changed
-
[BREAKING] Make
--script-mode
default behavior; resolve tsconfig relative to entrypoint script instead of cwd (#949, #1197, #1155)- In most cases this change will have no noticeable effect
- Primarily benefits portable shell scripts on your
$PATH
, becausets-node
will respect the script's localtsconfig.json
- Use
--cwd-mode
orts-node-cwd
if you need legacy behavior
-
[BREAKING]
ignore
rules evaluate relative totsconfig.json
directory, otherwisecwd
(#1155) - [BREAKING] Remove support for node 10. Minimum supported version is node 12 (#1312)
- Rename
--dir
to--cwd
; renameTS_NODE_DIR
toTS_NODE_CWD
(#1155)-
--dir
andTS_NODE_DIR
are deprecated but still parsed for backwards-compatibility -
--dir
effectively changed the working directory ofts-node
; renaming makes this behavior more obvious
-
Deprecated
Removed
-
[BREAKING] Internal APIs removed from type declarations (#1242)
- Removed
DEFAULTS
,normalizeSlashes
,parse
,split
- No features were removed
- This will only affect consumers of
ts-node
's programmatic API
- Removed
Fixed
-
[BREAKING] Fix #1229 and #1235: always throw
ERR_REQUIRE_ESM
when attempting to execute ESM as CJS, even when not using--loader ts-node/esm
(#1232)- This aligns our behavior with vanilla
node
- This aligns our behavior with vanilla
-
[BREAKING] Fix #1225:
compiler
is loaded relative totsconfig.json
instead of entrypoint script (#1155)- In most cases this change will have no noticable effect
- Fix #1217: REPL not always using passed stdout and stderr (#1224)
- Fix #1220:
ts-node ./index
may execute the wrong file extension because tsconfig search poisons therequire.resolve
cache (#1155) - Fix #1322: Sourcemaps fail for filenames with spaces or other characters which are percent-encoded in URLs (#1160, #1330)
- Fix #1331: Resolution of node builtin modules in ESM loader fails on node >=12.20.0, <13 (#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, #1213, #1221, #1228, #1244, #1250, #1294, #1295, #1296, #1297
- Thanks to these contributors for PRs which improved our documentation
- add troubleshooting tip for syntax errors (#1201) @jedwards1211
- Clarify handling of tsx/jsx file extensions (#1179) @NaridaL
- Added
CONTRIBUTING.md
to document the codebase and our development workflow
https://github.com/TypeStrong/ts-node/milestone/1
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
v9.1.0
Added
- Expose ts-node REPL via the API (#1121) @MarcManiez
- Allow
--typeCheck
flag to override--transpileOnly
flag specified intsconfig.json
(#1142)
Changed
- Rename interface
Register
toService
. It is still aliased asRegister
for backwards compatibility (#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)
Fixed
- ESM resolver will preserve search portion of URL, used for cache busting (#1165) @frandiox
- Fix ESM resolution of builtin modules on node >=14.13.1 (#1136)
- Recognize
--es-module-specifier-resolution
as an alias of--experimental-specifier-resolution
for node 12 compatibility (#1122) @nguyensomniac
Docs
- Fix description of
ts-node-dev
in README (#1131) @iamandrewluca - Update
transformers
description to clarify incompatibility withtranspileOnly
(#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, #1148)
- Improve codecov rules to remove misleading test failures (#1159)
v9.0.0
Breaking changes are labelled [BREAKING] below.
Added
- Throw
ERR_REQUIRE_ESM
when a file isrequire()
d which should be loaded as ESM (#1031) - Re-add
"exports"
declaration to package.json in backwards-compatible way, enablingnode --loader ts-node/esm
without file extension (#1028) - Allow specifying
"require"
option via tsconfig (#925) - REPL respects node's
NODE_NO_READLINE
environment variable (#1090) - Add a transpile-only entrypoint for ESM loader:
node --loader ts-node/esm/transpile-only
(#1102) @concision
Changed
- [BREAKING] Drops support for node versions < 10 (#1036)
Fixed
- [BREAKING] Re-add
realpath
, which should fix workflows that use symlinks, such aspnpm
, Lerna workspaces, or other mono-repo configurations (#970) - Compile files within
node_modules
when--skip-ignore
or--ignore
options are configured to allow it (#970) - Fix #884 by not adding all referenced files to
getSourceFileNames
/rootNames
(#999) - Fix #996: bump
projectVersion
every timegetSourceFileNames
changes, avoiding accidentally outdated typechecking (#998) - Fix #1051: pass transformers object to
ts.transpileModule
(#1054) @thetutlage - Fix #1060: use source maps for stack traces in ESM modules (#1087)
- Fix #1072: Respect
--experimental-specifier-resolution
coming fromNODE_OPTIONS
in ESM loader (#1085) @evg656e - Fix #1098: ESM loader should skip
.cjs
,.mjs
, and any unexpected file extensions (#1103) @concision
Docs
- Better explain how to compile imports, either CommonJS or using experimental ESM loader. Resolves #1075 (#1086)
Misc
- Fix, re-enable, and add various tests (#1044, #1088, #1108, #1110, #1109, #1115, #1043, #999)
v8.10.2
Fixed
Fixes #1037: source maps broken on Windows. (#1038)
Misc
Fix failing tests on node 6 (#1035)
Push coverage from Github Actions; remove TravisCI (#1034)
Run tests e2e against an npm pack && npm install
ed ts-node (#1032)
Run CI tests on Windows (#1041)
Run CI only once per commit on pull requests and master (#1042)
v8.10.1
Fix
Fixes #1026: revert the addition of package.json "exports" because it blocked require()
s that used to work, for example require('ts-node/register')
(#1027)
v8.10.0
Added
Experimental support for native ECMAScript modules in node >=13 (#1007, #1010)
v8.9.1
Fixed
Fix --interactive
/ -i
flag so it forces REPL even when stdin is not a TTY (#1019)
v8.9.0
Fixed
Fix failing tests caused by recent changes to @types/node (#1016)
Fix #945: Bump source-map-support dependency to include upstream fix for worker threads error handling (#1015) @addaleax
Fix #1004: in --scriptMode
, resolve config file relative to realpath of entrypoint script (#1009)
Normalized filenames in cache to fix performance issues on Windows (#997) @sylc
Added
Add timestamps to debug logging (#994) @sylc
Docs
Improve coverage of the README (#1000) @KasparEtter
Change order of install commands in README (#993) @jacobdcastro
Mention ts-node -vv
flag in issue template (#1001)
Run GHActions tests on pull requests (#1017)
v8.8.2
Fixed
- Avoid pushing to
rootFileNames
with version
v8.8.1
Fixed
- Fix
--files
supportbe2c899
v8.8.0
Added
- Add
sanitize=true
to README for SVGs to work on NPM
Fixed
- Simplify
projectVersion++
by incrementing on each file change - List all files for
getScriptFileNames
(#985) - revisits the change in https://github.com/TypeStrong/ts-node/issues/884
v8.7.0
Fixed
- Remove buggy caching of
ts.sys.readDirectory
(#969) - Fix REPL ASI handling when user input starts with
-
(#944)
Added
- Implement
LanguageServiceHost::getProjectVersion
to workaround microsoft/TypeScript#36748 (#906 - Add
ts-node-transpile-only
binary (#939) @G-Rath
Changed
Docs
- Fix bash syntax error in README (#943) @abraj
- Add Github issue templates (#959, #965, #947)
- Add IntelliJ debug instructions to README (#958)
- Add mocha 7 usage example to README (#961)
v8.6.2
Fixed
- Downgrade
yn
due to node engine (#942)
v8.6.1
Fixed
- Fix the resolution order of
TS_NODE_COMPILER_OPTIONS
- closes https://github.com/TypeStrong/ts-node/issues/938
v8.6.0
Fixed
- Remove normalize slashes from config file loading for Windows
Added
- Configure using
tsconfig.json
(#921) @cspotcode 🎉 - Allow
dir
to be configurable - Add
--build
flag for emitting compiled TypeScript (under--compiler-host
mode) - Incremental compiler support (#895)
v8.5.4
- Fix relative
node_modules
ignore266eaa5
v8.5.3
Fixed
v8.5.2
Fixed
- Revert
--require
module loading change
v8.5.0
Added
- Expose
ts-script
for relativetsconfig.json
files from<script.ts>
- Support
--interactive
CLI option - Expose registered
ts-node
instance information onprocess
- Allow dynamic
enable
of registeredts-node
instances - Allow
--dir
to be configurable from CLI - Add
--scope
flag for directory scoped compilation of TypeScript - REPL history on node 11+
- Expose
create
function for programmatic compiler usage
Fixed
- Repeated RegExps in REPL will now compile
v8.4.1
Fixed
- Revert "List all files in memory cache improves perf 1.4x"
87a6e2c
v8.4.0
Added
Fixed
Configuration
📅 Schedule: 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 WhiteSource Renovate. View repository job log here.