Skip to content

Commit

Permalink
Add es2023 target (#58140)
Browse files Browse the repository at this point in the history
  • Loading branch information
gabritto authored Apr 12, 2024
1 parent f5bc6dd commit 551a600
Show file tree
Hide file tree
Showing 13 changed files with 34 additions and 7 deletions.
1 change: 1 addition & 0 deletions src/compiler/commandLineParser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -534,6 +534,7 @@ export const targetOptionDeclaration: CommandLineOptionOfCustomType = {
es2020: ScriptTarget.ES2020,
es2021: ScriptTarget.ES2021,
es2022: ScriptTarget.ES2022,
es2023: ScriptTarget.ES2023,
esnext: ScriptTarget.ESNext,
})),
affectsSourceFile: true,
Expand Down
1 change: 1 addition & 0 deletions src/compiler/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7362,6 +7362,7 @@ export const enum ScriptTarget {
ES2020 = 7,
ES2021 = 8,
ES2022 = 9,
ES2023 = 10,
ESNext = 99,
JSON = 100,
Latest = ESNext,
Expand Down
2 changes: 2 additions & 0 deletions src/compiler/utilitiesPublic.ts
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,8 @@ export function getDefaultLibFileName(options: CompilerOptions): string {
switch (getEmitScriptTarget(options)) {
case ScriptTarget.ESNext:
return "lib.esnext.full.d.ts";
case ScriptTarget.ES2023:
return "lib.es2023.full.d.ts";
case ScriptTarget.ES2022:
return "lib.es2022.full.d.ts";
case ScriptTarget.ES2021:
Expand Down
1 change: 1 addition & 0 deletions src/server/protocol.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3142,6 +3142,7 @@ export const enum ScriptTarget {
ES2020 = "es2020",
ES2021 = "es2021",
ES2022 = "es2022",
ES2023 = "es2023",
ESNext = "esnext",
JSON = "json",
Latest = ESNext,
Expand Down
2 changes: 2 additions & 0 deletions tests/baselines/reference/api/typescript.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2416,6 +2416,7 @@ declare namespace ts {
ES2020 = "es2020",
ES2021 = "es2021",
ES2022 = "es2022",
ES2023 = "es2023",
ESNext = "esnext",
JSON = "json",
Latest = "esnext",
Expand Down Expand Up @@ -7019,6 +7020,7 @@ declare namespace ts {
ES2020 = 7,
ES2021 = 8,
ES2022 = 9,
ES2023 = 10,
ESNext = 99,
JSON = 100,
Latest = 99,
Expand Down
20 changes: 20 additions & 0 deletions tests/baselines/reference/callChainWithSuper(target=es2023).js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
//// [tests/cases/conformance/expressions/optionalChaining/callChain/callChainWithSuper.ts] ////

//// [callChainWithSuper.ts]
// GH#34952
class Base { method?() {} }
class Derived extends Base {
method1() { return super.method?.(); }
method2() { return super["method"]?.(); }
}

//// [callChainWithSuper.js]
"use strict";
// GH#34952
class Base {
method() { }
}
class Derived extends Base {
method1() { return super.method?.(); }
method2() { return super["method"]?.(); }
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ FileNames::
0.ts
Errors::
error TS6044: Compiler option 'target' expects an argument.
error TS6046: Argument for '--target' option must be: 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext'.
error TS6046: Argument for '--target' option must be: 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext'.
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,5 @@ CompilerOptions::
"configFilePath": "tsconfig.json"
}
Errors::
[91merror[0m[90m TS6046: [0mArgument for '--target' option must be: 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext'.
[91merror[0m[90m TS6046: [0mArgument for '--target' option must be: 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext'.

Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ CompilerOptions::
"configFilePath": "tsconfig.json"
}
Errors::
[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'.
[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'.

3 "target": "",
   ~~
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Errors::
  ~~~
 19 }
  ~
[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'.
[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'.

3 "target": "<%- options.useTsWithBabel ? 'esnext' : 'es5' %>",
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ default: false

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

--module, -m
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ default: false

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

--module, -m
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ default: false

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

--module, -m
Expand Down

0 comments on commit 551a600

Please sign in to comment.