Skip to content

Commit 551a600

Browse files
authored
Add es2023 target (microsoft#58140)
1 parent f5bc6dd commit 551a600

13 files changed

+34
-7
lines changed

src/compiler/commandLineParser.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -534,6 +534,7 @@ export const targetOptionDeclaration: CommandLineOptionOfCustomType = {
534534
es2020: ScriptTarget.ES2020,
535535
es2021: ScriptTarget.ES2021,
536536
es2022: ScriptTarget.ES2022,
537+
es2023: ScriptTarget.ES2023,
537538
esnext: ScriptTarget.ESNext,
538539
})),
539540
affectsSourceFile: true,

src/compiler/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7362,6 +7362,7 @@ export const enum ScriptTarget {
73627362
ES2020 = 7,
73637363
ES2021 = 8,
73647364
ES2022 = 9,
7365+
ES2023 = 10,
73657366
ESNext = 99,
73667367
JSON = 100,
73677368
Latest = ESNext,

src/compiler/utilitiesPublic.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,8 @@ export function getDefaultLibFileName(options: CompilerOptions): string {
311311
switch (getEmitScriptTarget(options)) {
312312
case ScriptTarget.ESNext:
313313
return "lib.esnext.full.d.ts";
314+
case ScriptTarget.ES2023:
315+
return "lib.es2023.full.d.ts";
314316
case ScriptTarget.ES2022:
315317
return "lib.es2022.full.d.ts";
316318
case ScriptTarget.ES2021:

src/server/protocol.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3142,6 +3142,7 @@ export const enum ScriptTarget {
31423142
ES2020 = "es2020",
31433143
ES2021 = "es2021",
31443144
ES2022 = "es2022",
3145+
ES2023 = "es2023",
31453146
ESNext = "esnext",
31463147
JSON = "json",
31473148
Latest = ESNext,

tests/baselines/reference/api/typescript.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2416,6 +2416,7 @@ declare namespace ts {
24162416
ES2020 = "es2020",
24172417
ES2021 = "es2021",
24182418
ES2022 = "es2022",
2419+
ES2023 = "es2023",
24192420
ESNext = "esnext",
24202421
JSON = "json",
24212422
Latest = "esnext",
@@ -7019,6 +7020,7 @@ declare namespace ts {
70197020
ES2020 = 7,
70207021
ES2021 = 8,
70217022
ES2022 = 9,
7023+
ES2023 = 10,
70227024
ESNext = 99,
70237025
JSON = 100,
70247026
Latest = 99,
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//// [tests/cases/conformance/expressions/optionalChaining/callChain/callChainWithSuper.ts] ////
2+
3+
//// [callChainWithSuper.ts]
4+
// GH#34952
5+
class Base { method?() {} }
6+
class Derived extends Base {
7+
method1() { return super.method?.(); }
8+
method2() { return super["method"]?.(); }
9+
}
10+
11+
//// [callChainWithSuper.js]
12+
"use strict";
13+
// GH#34952
14+
class Base {
15+
method() { }
16+
}
17+
class Derived extends Base {
18+
method1() { return super.method?.(); }
19+
method2() { return super["method"]?.(); }
20+
}

tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --target.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ FileNames::
77
0.ts
88
Errors::
99
error TS6044: Compiler option 'target' expects an argument.
10-
error TS6046: Argument for '--target' option must be: 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext'.
10+
error TS6046: Argument for '--target' option must be: 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext'.

tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert incorrect option of target to compiler-options with json api.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ CompilerOptions::
2323
"configFilePath": "tsconfig.json"
2424
}
2525
Errors::
26-
[91merror[0m[90m TS6046: [0mArgument for '--target' option must be: 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext'.
26+
[91merror[0m[90m TS6046: [0mArgument for '--target' option must be: 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext'.
2727

tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert incorrect option of target to compiler-options with jsonSourceFile api.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ CompilerOptions::
2323
"configFilePath": "tsconfig.json"
2424
}
2525
Errors::
26-
[96mtsconfig.json[0m:[93m3[0m:[93m15[0m - [91merror[0m[90m TS6046: [0mArgument for '--target' option must be: 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext'.
26+
[96mtsconfig.json[0m:[93m3[0m:[93m15[0m - [91merror[0m[90m TS6046: [0mArgument for '--target' option must be: 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext'.
2727

2828
3 "target": "",
2929
   ~~

tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert tsconfig options when there are multiple invalid strings with jsonSourceFile api.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Errors::
4747
  ~~~
4848
 19 }
4949
  ~
50-
[96mtsconfig.json[0m:[93m3[0m:[93m15[0m - [91merror[0m[90m TS6046: [0mArgument for '--target' option must be: 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext'.
50+
[96mtsconfig.json[0m:[93m3[0m:[93m15[0m - [91merror[0m[90m TS6046: [0mArgument for '--target' option must be: 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext'.
5151

5252
3 "target": "<%- options.useTsWithBabel ? 'esnext' : 'es5' %>",
5353
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

tests/baselines/reference/tsc/runWithoutArgs/does-not-add-color-when-NO_COLOR-is-set.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ default: false
101101

102102
--target, -t
103103
Set the JavaScript language version for emitted JavaScript and include compatible library declarations.
104-
one of: es5, es6/es2015, es2016, es2017, es2018, es2019, es2020, es2021, es2022, esnext
104+
one of: es5, es6/es2015, es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, esnext
105105
default: es5
106106

107107
--module, -m

tests/baselines/reference/tsc/runWithoutArgs/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped-when-host-can't-provide-terminal-width.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ default: false
101101

102102
--target, -t
103103
Set the JavaScript language version for emitted JavaScript and include compatible library declarations.
104-
one of: es5, es6/es2015, es2016, es2017, es2018, es2019, es2020, es2021, es2022, esnext
104+
one of: es5, es6/es2015, es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, esnext
105105
default: es5
106106

107107
--module, -m

tests/baselines/reference/tsc/runWithoutArgs/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ default: false
101101

102102
--target, -t
103103
Set the JavaScript language version for emitted JavaScript and include compatible library declarations.
104-
one of: es5, es6/es2015, es2016, es2017, es2018, es2019, es2020, es2021, es2022, esnext
104+
one of: es5, es6/es2015, es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, esnext
105105
default: es5
106106

107107
--module, -m

0 commit comments

Comments
 (0)