Open
Description
Breaking changes we should include in the next major, v11
Implemented in #1760
Minimum node version: v14
Minimum TS version: 4.0 (from https://github.com/DefinitelyTyped/DefinitelyTyped#support-window)
- Remove
ts.createIncrementalProgram
fallback tots.createEmitAndSemanticDiagnosticsBuilderProgram
- stop installing source-map-support in
create()
; only inregister()
- Re-align TS version support with DefinitelyTyped
- Find DT's minimum supported version
- Find all semver checks for versions older than that; remove them
- Make
enableExperimentalEsmLoaderInterop()
on by default- and remove the conditional code, remove that enabler method
- Re-align node version support w/EOLs
- Did we officially announce the dropping of node 10? Or do we merely support non-EOLed versions as a general policy
- remove
ts-script
entrypoint; replaced byts-node-script
- Make
ts-node/dist/bin
main()
export@internal
- Modify
nodeEval
function signature to acceptcontext: Context
(See TODO in the code) - change signature of REPL
nodeEval(code: string, context: any
tonodeEval(code: string, context: Context
- remove @tsconfig/bases node10 and node12
- add @tsconfig/bases node18
- switch all @tsconfig/bases deps to wildcard (like is typically done for @types) so they will respect whatever version you want to install
Still to do
- Mention minimum supported node and TS versions in docs: node 14, TS 4.0
- Clean up
createEvalAwarePartialHost
API surface- Augment
Service
API to allow setting overridden file contents - Use this new override API surface in the REPL
- Eliminate the need for
evalAwarePartialHost
but leave a pass-through shim for backwards compatibility - Update code samples to use simpler API
- Augment
- Enable path-mapping by default (Add path mapping support to ESM and CJS loaders #1585, Add path mapping support to ESM and CJS loaders #1585 (comment))
- resolve
compiler
andtranspiler
options relative to the tsconfig that declared them. In "extends" chains, this may be different- For example:
- if tsconfig.json extends ./node_modules/foo/tsconfig.shared.json which declares
compiler: "augmented-ts"
- should resolve compiler ./node_modules/foo/node_modules/augmented-ts
- if tsconfig.json extends ./node_modules/foo/tsconfig.shared.json which declares
- For example:
- forbid
-p
without-e
; exit with an error if you try to pass-p
without-e
; suggest you maybe meant-P
to specify a config file? - change options precedence order: CLI flags > environment variables > config file > defaults
- To shorten stack traces for thrown
TSError
, create and throw error in lowest point of ts-node callstack #1785- Might be breaking change to transpiler or
compile()
APIs, since will be returning an error description instead of throwing an error
- Might be breaking change to transpiler or
- remove
cwd
option, or at least stop resolving entrypoint relative to it #1834 - Always put brotli payload in execArgv, even for non-esm bootstrapping #1831
- auto-enable
experimentalResolver
; convert it to a non-experimental, opt-out flag- Captured as part of Resolver improvements in next minor or major version #1756
- default to
nodenext
, notcommonjs
- types update: remove third arg from loader hooks'
next
callback