@@ -141,12 +141,12 @@ const jsxOptionMap = new Map(Object.entries({
141141export const inverseJsxOptionMap : Map < string , string > = new Map ( mapIterator ( jsxOptionMap . entries ( ) , ( [ key , value ] : [ string , JsxEmit ] ) => [ "" + value , key ] as const ) ) ;
142142
143143// NOTE: The order here is important to default lib ordering as entries will have the same
144- // order in the generated program (see `getDefaultLibPriority ` in program.ts). This
144+ // order in the generated program (see `getDefaultLibFilePriority ` in program.ts). This
145145// order also affects overload resolution when a type declared in one lib is
146146// augmented in another lib.
147147// NOTE: We must reevaluate the target for upcoming features when each successive TC39 edition is ratified in
148148// June of each year. This includes changes to `LanguageFeatureMinimumTarget`, `ScriptTarget`,
149- // `ScriptTargetFeatures` transformers/esnext.ts, compiler/commandLineParser.ts,
149+ // `ScriptTargetFeatures`, `CommandLineOptionOfCustomType`, transformers/esnext.ts, compiler/commandLineParser.ts,
150150// compiler/utilitiesPublic.ts, and the contents of each lib/esnext.*.d.ts file.
151151const libEntries : [ string , string ] [ ] = [
152152 // JavaScript only
@@ -163,6 +163,7 @@ const libEntries: [string, string][] = [
163163 [ "es2022" , "lib.es2022.d.ts" ] ,
164164 [ "es2023" , "lib.es2023.d.ts" ] ,
165165 [ "es2024" , "lib.es2024.d.ts" ] ,
166+ [ "es2025" , "lib.es2025.d.ts" ] ,
166167 [ "esnext" , "lib.esnext.d.ts" ] ,
167168 // Host only
168169 [ "dom" , "lib.dom.d.ts" ] ,
@@ -173,7 +174,7 @@ const libEntries: [string, string][] = [
173174 [ "webworker.iterable" , "lib.webworker.iterable.d.ts" ] ,
174175 [ "webworker.asynciterable" , "lib.webworker.asynciterable.d.ts" ] ,
175176 [ "scripthost" , "lib.scripthost.d.ts" ] ,
176- // ES2015 Or ESNext By-feature options
177+ // ES2015 and later By-feature options
177178 [ "es2015.core" , "lib.es2015.core.d.ts" ] ,
178179 [ "es2015.collection" , "lib.es2015.collection.d.ts" ] ,
179180 [ "es2015.generator" , "lib.es2015.generator.d.ts" ] ,
@@ -230,27 +231,35 @@ const libEntries: [string, string][] = [
230231 [ "es2024.regexp" , "lib.es2024.regexp.d.ts" ] ,
231232 [ "es2024.sharedmemory" , "lib.es2024.sharedmemory.d.ts" ] ,
232233 [ "es2024.string" , "lib.es2024.string.d.ts" ] ,
233- [ "esnext.array" , "lib.es2023.array.d.ts" ] ,
234- [ "esnext.collection" , "lib.esnext.collection.d.ts" ] ,
235- [ "esnext.symbol" , "lib.es2019.symbol.d.ts" ] ,
234+ [ "es2025.collection" , "lib.es2025.collection.d.ts" ] ,
235+ [ "es2025.float16" , "lib.es2025.float16.d.ts" ] ,
236+ [ "es2025.intl" , "lib.es2025.intl.d.ts" ] ,
237+ [ "es2025.iterator" , "lib.es2025.iterator.d.ts" ] ,
238+ [ "es2025.promise" , "lib.es2025.promise.d.ts" ] ,
239+ [ "es2025.regexp" , "lib.es2025.regexp.d.ts" ] ,
240+ // Fallback for backward compatibility
236241 [ "esnext.asynciterable" , "lib.es2018.asynciterable.d.ts" ] ,
237- [ "esnext.intl" , "lib.esnext.intl.d.ts" ] ,
238- [ "esnext.disposable" , "lib.esnext.disposable.d.ts" ] ,
242+ [ "esnext.symbol" , "lib.es2019.symbol.d.ts" ] ,
239243 [ "esnext.bigint" , "lib.es2020.bigint.d.ts" ] ,
240- [ "esnext.string" , "lib.es2022.string.d.ts" ] ,
241- [ "esnext.promise" , "lib.es2024.promise.d.ts" ] ,
242244 [ "esnext.weakref" , "lib.es2021.weakref.d.ts" ] ,
243- [ "esnext.decorators" , "lib.esnext.decorators.d.ts" ] ,
244245 [ "esnext.object" , "lib.es2024.object.d.ts" ] ,
245- [ "esnext.array" , "lib.esnext.array.d.ts" ] ,
246246 [ "esnext.regexp" , "lib.es2024.regexp.d.ts" ] ,
247247 [ "esnext.string" , "lib.es2024.string.d.ts" ] ,
248- [ "esnext.iterator" , "lib.esnext.iterator.d.ts" ] ,
249- [ "esnext.promise" , "lib.esnext.promise.d.ts" ] ,
250- [ "esnext.float16" , "lib.esnext.float16.d.ts" ] ,
251- [ "esnext.typedarrays" , "lib.esnext.typedarrays.d.ts" ] ,
248+ [ "esnext.float16" , "lib.es2025.float16.d.ts" ] ,
249+ [ "esnext.iterator" , "lib.es2025.iterator.d.ts" ] ,
250+ [ "esnext.promise" , "lib.es2025.promise.d.ts" ] ,
251+ // ESNext By-feature options
252+ [ "esnext.array" , "lib.esnext.array.d.ts" ] ,
253+ [ "esnext.collection" , "lib.esnext.collection.d.ts" ] ,
254+ [ "esnext.date" , "lib.esnext.date.d.ts" ] ,
255+ [ "esnext.decorators" , "lib.esnext.decorators.d.ts" ] ,
256+ [ "esnext.disposable" , "lib.esnext.disposable.d.ts" ] ,
252257 [ "esnext.error" , "lib.esnext.error.d.ts" ] ,
258+ [ "esnext.intl" , "lib.esnext.intl.d.ts" ] ,
253259 [ "esnext.sharedmemory" , "lib.esnext.sharedmemory.d.ts" ] ,
260+ [ "esnext.temporal" , "lib.esnext.temporal.d.ts" ] ,
261+ [ "esnext.typedarrays" , "lib.esnext.typedarrays.d.ts" ] ,
262+ // Decorators
254263 [ "decorators" , "lib.decorators.d.ts" ] ,
255264 [ "decorators.legacy" , "lib.decorators.legacy.d.ts" ] ,
256265] ;
@@ -555,6 +564,10 @@ export const commonOptionsWithBuild: CommandLineOption[] = [
555564 } ,
556565] ;
557566
567+ // NOTE: We must reevaluate the target for upcoming features when each successive TC39 edition is ratified in
568+ // June of each year. This includes changes to `LanguageFeatureMinimumTarget`, `ScriptTarget`,
569+ // `ScriptTargetFeatures`, `CommandLineOptionOfCustomType`, transformers/esnext.ts, compiler/commandLineParser.ts,
570+ // compiler/utilitiesPublic.ts, and the contents of each lib/esnext.*.d.ts file.
558571/** @internal */
559572export const targetOptionDeclaration : CommandLineOptionOfCustomType = {
560573 name : "target" ,
@@ -573,6 +586,7 @@ export const targetOptionDeclaration: CommandLineOptionOfCustomType = {
573586 es2022 : ScriptTarget . ES2022 ,
574587 es2023 : ScriptTarget . ES2023 ,
575588 es2024 : ScriptTarget . ES2024 ,
589+ es2025 : ScriptTarget . ES2025 ,
576590 esnext : ScriptTarget . ESNext ,
577591 } ) ) ,
578592 affectsSourceFile : true ,
@@ -961,6 +975,16 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [
961975 description : Diagnostics . Built_in_iterators_are_instantiated_with_a_TReturn_type_of_undefined_instead_of_any ,
962976 defaultValueDescription : Diagnostics . true_unless_strict_is_false ,
963977 } ,
978+ {
979+ name : "stableTypeOrdering" ,
980+ type : "boolean" ,
981+ affectsSemanticDiagnostics : true ,
982+ affectsBuildInfo : true ,
983+ showInHelp : false ,
984+ category : Diagnostics . Type_Checking ,
985+ description : Diagnostics . Ensure_types_are_ordered_stably_and_deterministically_across_compilations ,
986+ defaultValueDescription : true ,
987+ } ,
964988 {
965989 name : "noImplicitThis" ,
966990 type : "boolean" ,
0 commit comments