diff --git a/Jakefile.js b/Jakefile.js index 3e0512de452ca..a3141559bfbc6 100644 --- a/Jakefile.js +++ b/Jakefile.js @@ -187,6 +187,12 @@ var es2016LibrarySourceMap = es2016LibrarySource.map(function(source) { return { target: "lib." + source, sources: ["header.d.ts", source] }; }) +var es2017LibrarySource = ["es2017.object.d.ts"]; + +var es2017LibrarySourceMap = es2017LibrarySource.map(function(source) { + return { target: "lib." + source, sources: ["header.d.ts", source] }; +}) + var hostsLibrarySources = ["dom.generated.d.ts", "webworker.importscripts.d.ts", "scripthost.d.ts"] var librarySourceMap = [ @@ -200,11 +206,12 @@ var librarySourceMap = [ { target: "lib.es5.d.ts", sources: ["header.d.ts", "es5.d.ts"] }, { target: "lib.es2015.d.ts", sources: ["header.d.ts", "es2015.d.ts"] }, { target: "lib.es2016.d.ts", sources: ["header.d.ts", "es2016.d.ts"] }, + { target: "lib.es2017.d.ts", sources: ["header.d.ts", "es2017.d.ts"] }, // JavaScript + all host library { target: "lib.d.ts", sources: ["header.d.ts", "es5.d.ts"].concat(hostsLibrarySources), }, { target: "lib.es6.d.ts", sources: ["header.d.ts", "es5.d.ts"].concat(es2015LibrarySources, hostsLibrarySources, "dom.iterable.d.ts"), }, -].concat(es2015LibrarySourceMap, es2016LibrarySourceMap); +].concat(es2015LibrarySourceMap, es2016LibrarySourceMap, es2017LibrarySourceMap); var libraryTargets = librarySourceMap.map(function (f) { return path.join(builtLocalDirectory, f.target); diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index abf58db0403ea..d9f9b040ac629 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -375,6 +375,7 @@ namespace ts { "es2015": "lib.es2015.d.ts", "es7": "lib.es2016.d.ts", "es2016": "lib.es2016.d.ts", + "es2017": "lib.es2017.d.ts", // Host only "dom": "lib.dom.d.ts", "webworker": "lib.webworker.d.ts", @@ -389,7 +390,8 @@ namespace ts { "es2015.reflect": "lib.es2015.reflect.d.ts", "es2015.symbol": "lib.es2015.symbol.d.ts", "es2015.symbol.wellknown": "lib.es2015.symbol.wellknown.d.ts", - "es2016.array.include": "lib.es2016.array.include.d.ts" + "es2016.array.include": "lib.es2016.array.include.d.ts", + "es2017.object": "lib.es2017.object.d.ts" }, }, description: Diagnostics.Specify_library_files_to_be_included_in_the_compilation_Colon diff --git a/src/lib/es2017.d.ts b/src/lib/es2017.d.ts new file mode 100644 index 0000000000000..aad5ff4d2ced9 --- /dev/null +++ b/src/lib/es2017.d.ts @@ -0,0 +1,2 @@ +/// +/// \ No newline at end of file diff --git a/src/lib/es2017.object.d.ts b/src/lib/es2017.object.d.ts new file mode 100644 index 0000000000000..95cc5692a0354 --- /dev/null +++ b/src/lib/es2017.object.d.ts @@ -0,0 +1,14 @@ +interface ObjectConstructor { + /** + * Returns an array of values of the enumerable properties of an object + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + values(o: { [s: string]: T }): T[]; + values(o: any): any[]; + /** + * Returns an array of key/values of the enumerable properties of an object + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + entries(o: { [s: string]: T }): [string, T][]; + entries(o: any): [string, any][]; +} \ No newline at end of file diff --git a/tests/baselines/reference/useObjectValuesAndEntries1.js b/tests/baselines/reference/useObjectValuesAndEntries1.js new file mode 100644 index 0000000000000..ee2c7115813f7 --- /dev/null +++ b/tests/baselines/reference/useObjectValuesAndEntries1.js @@ -0,0 +1,19 @@ +//// [useObjectValuesAndEntries1.ts] + +var o = { a: 1, b: 2 }; + +for (var x of Object.values(o)) { + let y = x; +} + +var entries = Object.entries(o); +var entries1 = Object.entries(1); // <-- entries: [string, any][] + +//// [useObjectValuesAndEntries1.js] +var o = { a: 1, b: 2 }; +for (var _i = 0, _a = Object.values(o); _i < _a.length; _i++) { + var x = _a[_i]; + var y = x; +} +var entries = Object.entries(o); +var entries1 = Object.entries(1); // <-- entries: [string, any][] diff --git a/tests/baselines/reference/useObjectValuesAndEntries1.symbols b/tests/baselines/reference/useObjectValuesAndEntries1.symbols new file mode 100644 index 0000000000000..55181e49babe3 --- /dev/null +++ b/tests/baselines/reference/useObjectValuesAndEntries1.symbols @@ -0,0 +1,32 @@ +=== tests/cases/conformance/es2017/useObjectValuesAndEntries1.ts === + +var o = { a: 1, b: 2 }; +>o : Symbol(o, Decl(useObjectValuesAndEntries1.ts, 1, 3)) +>a : Symbol(a, Decl(useObjectValuesAndEntries1.ts, 1, 9)) +>b : Symbol(b, Decl(useObjectValuesAndEntries1.ts, 1, 15)) + +for (var x of Object.values(o)) { +>x : Symbol(x, Decl(useObjectValuesAndEntries1.ts, 3, 8)) +>Object.values : Symbol(ObjectConstructor.values, Decl(lib.es2017.object.d.ts, --, --), Decl(lib.es2017.object.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>values : Symbol(ObjectConstructor.values, Decl(lib.es2017.object.d.ts, --, --), Decl(lib.es2017.object.d.ts, --, --)) +>o : Symbol(o, Decl(useObjectValuesAndEntries1.ts, 1, 3)) + + let y = x; +>y : Symbol(y, Decl(useObjectValuesAndEntries1.ts, 4, 7)) +>x : Symbol(x, Decl(useObjectValuesAndEntries1.ts, 3, 8)) +} + +var entries = Object.entries(o); +>entries : Symbol(entries, Decl(useObjectValuesAndEntries1.ts, 7, 3)) +>Object.entries : Symbol(ObjectConstructor.entries, Decl(lib.es2017.object.d.ts, --, --), Decl(lib.es2017.object.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>entries : Symbol(ObjectConstructor.entries, Decl(lib.es2017.object.d.ts, --, --), Decl(lib.es2017.object.d.ts, --, --)) +>o : Symbol(o, Decl(useObjectValuesAndEntries1.ts, 1, 3)) + +var entries1 = Object.entries(1); // <-- entries: [string, any][] +>entries1 : Symbol(entries1, Decl(useObjectValuesAndEntries1.ts, 8, 3)) +>Object.entries : Symbol(ObjectConstructor.entries, Decl(lib.es2017.object.d.ts, --, --), Decl(lib.es2017.object.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>entries : Symbol(ObjectConstructor.entries, Decl(lib.es2017.object.d.ts, --, --), Decl(lib.es2017.object.d.ts, --, --)) + diff --git a/tests/baselines/reference/useObjectValuesAndEntries1.types b/tests/baselines/reference/useObjectValuesAndEntries1.types new file mode 100644 index 0000000000000..27a0abb81ebb6 --- /dev/null +++ b/tests/baselines/reference/useObjectValuesAndEntries1.types @@ -0,0 +1,39 @@ +=== tests/cases/conformance/es2017/useObjectValuesAndEntries1.ts === + +var o = { a: 1, b: 2 }; +>o : { a: number; b: number; } +>{ a: 1, b: 2 } : { a: number; b: number; } +>a : number +>1 : number +>b : number +>2 : number + +for (var x of Object.values(o)) { +>x : number +>Object.values(o) : number[] +>Object.values : { (o: { [s: string]: T; }): T[]; (o: any): any[]; } +>Object : ObjectConstructor +>values : { (o: { [s: string]: T; }): T[]; (o: any): any[]; } +>o : { a: number; b: number; } + + let y = x; +>y : number +>x : number +} + +var entries = Object.entries(o); +>entries : [string, number][] +>Object.entries(o) : [string, number][] +>Object.entries : { (o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; } +>Object : ObjectConstructor +>entries : { (o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; } +>o : { a: number; b: number; } + +var entries1 = Object.entries(1); // <-- entries: [string, any][] +>entries1 : [string, any][] +>Object.entries(1) : [string, any][] +>Object.entries : { (o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; } +>Object : ObjectConstructor +>entries : { (o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; } +>1 : number + diff --git a/tests/baselines/reference/useObjectValuesAndEntries2.errors.txt b/tests/baselines/reference/useObjectValuesAndEntries2.errors.txt new file mode 100644 index 0000000000000..74119083a5fec --- /dev/null +++ b/tests/baselines/reference/useObjectValuesAndEntries2.errors.txt @@ -0,0 +1,17 @@ +tests/cases/conformance/es2017/useObjectValuesAndEntries2.ts(4,22): error TS2339: Property 'values' does not exist on type 'ObjectConstructor'. +tests/cases/conformance/es2017/useObjectValuesAndEntries2.ts(8,22): error TS2339: Property 'entries' does not exist on type 'ObjectConstructor'. + + +==== tests/cases/conformance/es2017/useObjectValuesAndEntries2.ts (2 errors) ==== + + var o = { a: 1, b: 2 }; + + for (var x of Object.values(o)) { + ~~~~~~ +!!! error TS2339: Property 'values' does not exist on type 'ObjectConstructor'. + let y = x; + } + + var entries = Object.entries(o); + ~~~~~~~ +!!! error TS2339: Property 'entries' does not exist on type 'ObjectConstructor'. \ No newline at end of file diff --git a/tests/baselines/reference/useObjectValuesAndEntries2.js b/tests/baselines/reference/useObjectValuesAndEntries2.js new file mode 100644 index 0000000000000..31918566844b1 --- /dev/null +++ b/tests/baselines/reference/useObjectValuesAndEntries2.js @@ -0,0 +1,17 @@ +//// [useObjectValuesAndEntries2.ts] + +var o = { a: 1, b: 2 }; + +for (var x of Object.values(o)) { + let y = x; +} + +var entries = Object.entries(o); + +//// [useObjectValuesAndEntries2.js] +var o = { a: 1, b: 2 }; +for (var _i = 0, _a = Object.values(o); _i < _a.length; _i++) { + var x = _a[_i]; + var y = x; +} +var entries = Object.entries(o); diff --git a/tests/baselines/reference/useObjectValuesAndEntries3.errors.txt b/tests/baselines/reference/useObjectValuesAndEntries3.errors.txt new file mode 100644 index 0000000000000..2b2c38bd9fe69 --- /dev/null +++ b/tests/baselines/reference/useObjectValuesAndEntries3.errors.txt @@ -0,0 +1,17 @@ +tests/cases/conformance/es2017/useObjectValuesAndEntries3.ts(4,22): error TS2339: Property 'values' does not exist on type 'ObjectConstructor'. +tests/cases/conformance/es2017/useObjectValuesAndEntries3.ts(8,22): error TS2339: Property 'entries' does not exist on type 'ObjectConstructor'. + + +==== tests/cases/conformance/es2017/useObjectValuesAndEntries3.ts (2 errors) ==== + + var o = { a: 1, b: 2 }; + + for (var x of Object.values(o)) { + ~~~~~~ +!!! error TS2339: Property 'values' does not exist on type 'ObjectConstructor'. + let y = x; + } + + var entries = Object.entries(o); + ~~~~~~~ +!!! error TS2339: Property 'entries' does not exist on type 'ObjectConstructor'. \ No newline at end of file diff --git a/tests/baselines/reference/useObjectValuesAndEntries3.js b/tests/baselines/reference/useObjectValuesAndEntries3.js new file mode 100644 index 0000000000000..9d3d4368cc77f --- /dev/null +++ b/tests/baselines/reference/useObjectValuesAndEntries3.js @@ -0,0 +1,16 @@ +//// [useObjectValuesAndEntries3.ts] + +var o = { a: 1, b: 2 }; + +for (var x of Object.values(o)) { + let y = x; +} + +var entries = Object.entries(o); + +//// [useObjectValuesAndEntries3.js] +var o = { a: 1, b: 2 }; +for (var x of Object.values(o)) { + let y = x; +} +var entries = Object.entries(o); diff --git a/tests/baselines/reference/useObjectValuesAndEntries4.js b/tests/baselines/reference/useObjectValuesAndEntries4.js new file mode 100644 index 0000000000000..7eb24e7aa7146 --- /dev/null +++ b/tests/baselines/reference/useObjectValuesAndEntries4.js @@ -0,0 +1,16 @@ +//// [useObjectValuesAndEntries4.ts] + +var o = { a: 1, b: 2 }; + +for (var x of Object.values(o)) { + let y = x; +} + +var entries = Object.entries(o); + +//// [useObjectValuesAndEntries4.js] +var o = { a: 1, b: 2 }; +for (var x of Object.values(o)) { + let y = x; +} +var entries = Object.entries(o); diff --git a/tests/baselines/reference/useObjectValuesAndEntries4.symbols b/tests/baselines/reference/useObjectValuesAndEntries4.symbols new file mode 100644 index 0000000000000..5edf23790cd92 --- /dev/null +++ b/tests/baselines/reference/useObjectValuesAndEntries4.symbols @@ -0,0 +1,26 @@ +=== tests/cases/conformance/es2017/useObjectValuesAndEntries4.ts === + +var o = { a: 1, b: 2 }; +>o : Symbol(o, Decl(useObjectValuesAndEntries4.ts, 1, 3)) +>a : Symbol(a, Decl(useObjectValuesAndEntries4.ts, 1, 9)) +>b : Symbol(b, Decl(useObjectValuesAndEntries4.ts, 1, 15)) + +for (var x of Object.values(o)) { +>x : Symbol(x, Decl(useObjectValuesAndEntries4.ts, 3, 8)) +>Object.values : Symbol(ObjectConstructor.values, Decl(lib.es2017.object.d.ts, --, --), Decl(lib.es2017.object.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>values : Symbol(ObjectConstructor.values, Decl(lib.es2017.object.d.ts, --, --), Decl(lib.es2017.object.d.ts, --, --)) +>o : Symbol(o, Decl(useObjectValuesAndEntries4.ts, 1, 3)) + + let y = x; +>y : Symbol(y, Decl(useObjectValuesAndEntries4.ts, 4, 7)) +>x : Symbol(x, Decl(useObjectValuesAndEntries4.ts, 3, 8)) +} + +var entries = Object.entries(o); +>entries : Symbol(entries, Decl(useObjectValuesAndEntries4.ts, 7, 3)) +>Object.entries : Symbol(ObjectConstructor.entries, Decl(lib.es2017.object.d.ts, --, --), Decl(lib.es2017.object.d.ts, --, --)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --)) +>entries : Symbol(ObjectConstructor.entries, Decl(lib.es2017.object.d.ts, --, --), Decl(lib.es2017.object.d.ts, --, --)) +>o : Symbol(o, Decl(useObjectValuesAndEntries4.ts, 1, 3)) + diff --git a/tests/baselines/reference/useObjectValuesAndEntries4.types b/tests/baselines/reference/useObjectValuesAndEntries4.types new file mode 100644 index 0000000000000..8defd2bf75803 --- /dev/null +++ b/tests/baselines/reference/useObjectValuesAndEntries4.types @@ -0,0 +1,31 @@ +=== tests/cases/conformance/es2017/useObjectValuesAndEntries4.ts === + +var o = { a: 1, b: 2 }; +>o : { a: number; b: number; } +>{ a: 1, b: 2 } : { a: number; b: number; } +>a : number +>1 : number +>b : number +>2 : number + +for (var x of Object.values(o)) { +>x : number +>Object.values(o) : number[] +>Object.values : { (o: { [s: string]: T; }): T[]; (o: any): any[]; } +>Object : ObjectConstructor +>values : { (o: { [s: string]: T; }): T[]; (o: any): any[]; } +>o : { a: number; b: number; } + + let y = x; +>y : number +>x : number +} + +var entries = Object.entries(o); +>entries : [string, number][] +>Object.entries(o) : [string, number][] +>Object.entries : { (o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; } +>Object : ObjectConstructor +>entries : { (o: { [s: string]: T; }): [string, T][]; (o: any): [string, any][]; } +>o : { a: number; b: number; } + diff --git a/tests/cases/conformance/es2017/useObjectValuesAndEntries1.ts b/tests/cases/conformance/es2017/useObjectValuesAndEntries1.ts new file mode 100644 index 0000000000000..145239a84b200 --- /dev/null +++ b/tests/cases/conformance/es2017/useObjectValuesAndEntries1.ts @@ -0,0 +1,11 @@ +// @target: es5 +// @lib: es5,es2017.object + +var o = { a: 1, b: 2 }; + +for (var x of Object.values(o)) { + let y = x; +} + +var entries = Object.entries(o); +var entries1 = Object.entries(1); // <-- entries: [string, any][] \ No newline at end of file diff --git a/tests/cases/conformance/es2017/useObjectValuesAndEntries2.ts b/tests/cases/conformance/es2017/useObjectValuesAndEntries2.ts new file mode 100644 index 0000000000000..d3596222a4736 --- /dev/null +++ b/tests/cases/conformance/es2017/useObjectValuesAndEntries2.ts @@ -0,0 +1,10 @@ +// @target: es5 +// @lib: es5 + +var o = { a: 1, b: 2 }; + +for (var x of Object.values(o)) { + let y = x; +} + +var entries = Object.entries(o); \ No newline at end of file diff --git a/tests/cases/conformance/es2017/useObjectValuesAndEntries3.ts b/tests/cases/conformance/es2017/useObjectValuesAndEntries3.ts new file mode 100644 index 0000000000000..b05d32744bfc9 --- /dev/null +++ b/tests/cases/conformance/es2017/useObjectValuesAndEntries3.ts @@ -0,0 +1,9 @@ +// @target: es6 + +var o = { a: 1, b: 2 }; + +for (var x of Object.values(o)) { + let y = x; +} + +var entries = Object.entries(o); \ No newline at end of file diff --git a/tests/cases/conformance/es2017/useObjectValuesAndEntries4.ts b/tests/cases/conformance/es2017/useObjectValuesAndEntries4.ts new file mode 100644 index 0000000000000..d319d6efee741 --- /dev/null +++ b/tests/cases/conformance/es2017/useObjectValuesAndEntries4.ts @@ -0,0 +1,10 @@ +// @target: es6 +// @lib: es2017 + +var o = { a: 1, b: 2 }; + +for (var x of Object.values(o)) { + let y = x; +} + +var entries = Object.entries(o); \ No newline at end of file diff --git a/tests/cases/unittests/commandLineParsing.ts b/tests/cases/unittests/commandLineParsing.ts index e220c2435587c..c59f6a4d78cc9 100644 --- a/tests/cases/unittests/commandLineParsing.ts +++ b/tests/cases/unittests/commandLineParsing.ts @@ -60,7 +60,7 @@ namespace ts { assertParseResult(["--lib", "es5,invalidOption", "0.ts"], { errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, @@ -217,7 +217,7 @@ namespace ts { start: undefined, length: undefined, }, { - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, @@ -237,7 +237,7 @@ namespace ts { assertParseResult(["--lib", "es5,", "es7", "0.ts"], { errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, @@ -257,7 +257,7 @@ namespace ts { assertParseResult(["--lib", "es5, ", "es7", "0.ts"], { errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code, diff --git a/tests/cases/unittests/convertCompilerOptionsFromJson.ts b/tests/cases/unittests/convertCompilerOptionsFromJson.ts index ed1d96a0fb705..b48d4ac451b27 100644 --- a/tests/cases/unittests/convertCompilerOptionsFromJson.ts +++ b/tests/cases/unittests/convertCompilerOptionsFromJson.ts @@ -233,7 +233,7 @@ namespace ts { file: undefined, start: 0, length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] @@ -264,7 +264,7 @@ namespace ts { file: undefined, start: 0, length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] @@ -295,7 +295,7 @@ namespace ts { file: undefined, start: 0, length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }] @@ -326,7 +326,7 @@ namespace ts { file: undefined, start: 0, length: 0, - messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include'", + messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object'", code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category }]