typescript 4.8.0-dev.20220512 → 4.8.0-dev.20220513

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -893,6 +893,7 @@
893
893
  "Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650": "Vytvořte klíč jenom ze zpětných řetězců místo z řetězců, čísel nebo symbolů (možnost ze starší verze).",
894
894
  "Make_super_call_the_first_statement_in_the_constructor_90002": "Nastavit volání metody super() jako první příkaz v konstruktoru",
895
895
  "Mapped_object_type_implicitly_has_an_any_template_type_7039": "Typu mapovaného objektu má implicitně typ šablony any.",
896
+ "Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457": "Porovnává se ve výchozím nastavení se vzorem zahrnutí **/*.",
896
897
  "Matched_by_include_pattern_0_in_1_1407": "Porovnáváno podle vzoru zahrnutí {0} v {1}",
897
898
  "Member_0_implicitly_has_an_1_type_7008": "Člen {0} má implicitně typ {1}.",
898
899
  "Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045": "Člen {0} má implicitně typ {1}, ale je možné, že lepší typ by se vyvodil z použití.",
@@ -893,6 +893,7 @@
893
893
  "Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650": "Stellen Sie ein, dass keyof nur Zeichenfolgen, anstelle von Zeichenfolgen, Zahlen oder Symbolen zurückgibt. Legacy-Option.",
894
894
  "Make_super_call_the_first_statement_in_the_constructor_90002": "super()-Aufruf als erste Anweisung im Konstruktor festlegen",
895
895
  "Mapped_object_type_implicitly_has_an_any_template_type_7039": "Der zugeordnete Objekttyp weist implizit einen any-Vorlagentyp auf.",
896
+ "Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457": "Standardmäßig zugeordnetes Includemuster „**/*“",
896
897
  "Matched_by_include_pattern_0_in_1_1407": "Abgeglichen mit dem include-Muster \"{0}\" in \"{1}\"",
897
898
  "Member_0_implicitly_has_an_1_type_7008": "Der Member \"{0}\" weist implizit den Typ \"{1}\" auf.",
898
899
  "Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045": "Member \"{0}\" weist implizit einen Typ \"{1}\" auf, möglicherweise kann jedoch ein besserer Typ aus der Syntax abgeleitet werden.",
@@ -893,6 +893,7 @@
893
893
  "Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650": "Haga que keyof solo devuelva cadenas en lugar de cadenas, números o símbolos. Opción heredada.",
894
894
  "Make_super_call_the_first_statement_in_the_constructor_90002": "Hacer que la llamada a \"super()\" sea la primera instrucción del constructor",
895
895
  "Mapped_object_type_implicitly_has_an_any_template_type_7039": "El tipo de objeto asignado tiene implícitamente un tipo de plantilla \"any\".",
896
+ "Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457": "La coincidencia de forma predeterminada incluye el patrón '**/*'",
896
897
  "Matched_by_include_pattern_0_in_1_1407": "Coincidencia con el patrón de inclusión \"{0}\" en \"{1}\"",
897
898
  "Member_0_implicitly_has_an_1_type_7008": "El miembro '{0}' tiene un tipo '{1}' implícitamente.",
898
899
  "Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045": "El miembro \"{0}\" tiene un tipo \"{1}\" de forma implícita, pero se puede inferir un tipo más adecuado a partir del uso.",
@@ -893,6 +893,7 @@
893
893
  "Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650": "Faites en sorte que keyof retourne uniquement des chaînes au lieu de chaînes, de nombres ou de symboles. Option héritée.",
894
894
  "Make_super_call_the_first_statement_in_the_constructor_90002": "Faire de l'appel à 'super()' la première instruction du constructeur",
895
895
  "Mapped_object_type_implicitly_has_an_any_template_type_7039": "Le type d'objet mappé a implicitement un type de modèle 'any'.",
896
+ "Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457": "Mise en correspondance par défaut du modèle include '**/*'",
896
897
  "Matched_by_include_pattern_0_in_1_1407": "Correspond au modèle include '{0}' dans '{1}'",
897
898
  "Member_0_implicitly_has_an_1_type_7008": "Le membre '{0}' possède implicitement un type '{1}'.",
898
899
  "Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045": "Le membre '{0}' a implicitement un type '{1}', mais il est possible de déduire un meilleur type à partir de l'utilisation.",
@@ -893,6 +893,7 @@
893
893
  "Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650": "Imposta keyof in modo che restituisca solo stringhe invece di stringhe, numeri o simboli. Opzione legacy.",
894
894
  "Make_super_call_the_first_statement_in_the_constructor_90002": "Impostare la chiamata a 'super()' come prima istruzione nel costruttore",
895
895
  "Mapped_object_type_implicitly_has_an_any_template_type_7039": "Il tipo di oggetto con mapping contiene implicitamente un tipo di modello 'any'.",
896
+ "Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457": "Corrispondente per impostazione predefinita al criterio di inclusione '**/*'",
896
897
  "Matched_by_include_pattern_0_in_1_1407": "Corrispondenza tramite criterio di inclusione '{0}' in '{1}'",
897
898
  "Member_0_implicitly_has_an_1_type_7008": "Il membro '{0}' contiene implicitamente un tipo '{1}'.",
898
899
  "Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045": "Il membro '{0}' include implicitamente un tipo '{1}', ma è possibile dedurre un tipo migliore dall'utilizzo.",
@@ -893,6 +893,7 @@
893
893
  "Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650": "keyof により、文字列、数字、記号の代わりに、文字列のみが返されるようにします。レガシ オプションです。",
894
894
  "Make_super_call_the_first_statement_in_the_constructor_90002": "'super()' 呼び出しをコンストラクター内の最初のステートメントにする",
895
895
  "Mapped_object_type_implicitly_has_an_any_template_type_7039": "マップされたオブジェクト型のテンプレートの型は暗黙的に 'any' になります。",
896
+ "Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457": "既定で一致するインクルード パターン '**/*'",
896
897
  "Matched_by_include_pattern_0_in_1_1407": "'{1}' のインクルード パターン '{0}' に一致しています",
897
898
  "Member_0_implicitly_has_an_1_type_7008": "メンバー '{0}' の型は暗黙的に '{1}' になります。",
898
899
  "Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045": "メンバー '{0}' の型は暗黙的に '{1}' ですが、使い方からより良い型を推論する場合があります。",
@@ -893,6 +893,7 @@
893
893
  "Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650": "keyof가 문자열, 숫자 또는 기호 대신 문자열만 반환하도록 합니다. 레거시 옵션입니다.",
894
894
  "Make_super_call_the_first_statement_in_the_constructor_90002": "생성자의 첫 번째 문을 'super()'로 호출",
895
895
  "Mapped_object_type_implicitly_has_an_any_template_type_7039": "매핑된 개체 형식에는 'any' 템플릿 형식이 암시적으로 포함됩니다.",
896
+ "Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457": "기본적으로 일치되는 포함 패턴 '**/*'",
896
897
  "Matched_by_include_pattern_0_in_1_1407": "'{1}'의 포함 패턴 '{0}'(으)로 일치되었습니다.",
897
898
  "Member_0_implicitly_has_an_1_type_7008": "'{0}' 멤버에는 암시적으로 '{1}' 형식이 포함됩니다.",
898
899
  "Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045": "'{0}' 멤버는 암시적으로 '{1}' 형식이지만, 사용량에서 더 나은 형식을 유추할 수 있습니다.",
@@ -893,6 +893,7 @@
893
893
  "Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650": "Określ, że element keyof ma zwracać tylko ciągi zamiast ciągów, liczb i symboli. Starsza opcja.",
894
894
  "Make_super_call_the_first_statement_in_the_constructor_90002": "Ustaw wywołanie „super()” jako pierwszą instrukcję w konstruktorze",
895
895
  "Mapped_object_type_implicitly_has_an_any_template_type_7039": "Zmapowany typ obiektu niejawnie ma typ szablonu „any”.",
896
+ "Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457": "Dopasowywane domyślnie do wzorca dołączania „**/*”",
896
897
  "Matched_by_include_pattern_0_in_1_1407": "Zgodne z wzorcem dołączania „{0}” w elemencie „{1}”",
897
898
  "Member_0_implicitly_has_an_1_type_7008": "Dla składowej „{0}” niejawnie określono typ „{1}”.",
898
899
  "Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045": "Element członkowski „{0}” niejawnie ma typ „{1}”, ale lepszy typ można wywnioskować na podstawie użycia.",
@@ -893,6 +893,7 @@
893
893
  "Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650": "Fazer com que o keyof retorne apenas cadeias de caracteres, números ou símbolos. Opção herdada.",
894
894
  "Make_super_call_the_first_statement_in_the_constructor_90002": "Tornar a chamada 'super()' a primeira instrução no construtor",
895
895
  "Mapped_object_type_implicitly_has_an_any_template_type_7039": "O tipo de objeto mapeado implicitamente tem um tipo de modelo 'any'.",
896
+ "Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457": "Correspondido por padrão de inclusão padrão '**/*'",
896
897
  "Matched_by_include_pattern_0_in_1_1407": "Correspondência pelo padrão de inclusão '{0}' em '{1}'",
897
898
  "Member_0_implicitly_has_an_1_type_7008": "O membro '{0}' implicitamente tem um tipo '{1}'.",
898
899
  "Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045": "O membro '{0}' implicitamente tem um tipo '{1}', mas um tipo melhor pode ser inferido do uso.",
@@ -893,6 +893,7 @@
893
893
  "Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650": "Сделать так, чтобы keyof возвращал только строки, а не строки, числа или символы. Устаревший вариант.",
894
894
  "Make_super_call_the_first_statement_in_the_constructor_90002": "Сделайте вызов \"super()\" первой инструкцией в конструкторе",
895
895
  "Mapped_object_type_implicitly_has_an_any_template_type_7039": "Сопоставленный объект неявно имеет тип шаблона \"любой\".",
896
+ "Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457": "Сопоставление по умолчанию включает шаблон '**/*'",
896
897
  "Matched_by_include_pattern_0_in_1_1407": "Соответствует шаблону включения \"{0}\" в \"{1}\".",
897
898
  "Member_0_implicitly_has_an_1_type_7008": "Элемент \"{0}\" неявно имеет тип \"{1}\".",
898
899
  "Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045": "Член \"{0}\" неявно имеет тип \"{1}\", но из использования можно определить более подходящий тип.",
@@ -893,6 +893,7 @@
893
893
  "Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650": "Dize, sayı veya simge yerine yalnızca dönüş dizelerinin anahtarını oluşturun. Eski seçenek.",
894
894
  "Make_super_call_the_first_statement_in_the_constructor_90002": "Oluşturucudaki ilk deyime 'super()' tarafından çağrı yapılmasını sağla",
895
895
  "Mapped_object_type_implicitly_has_an_any_template_type_7039": "Eşleştirilmiş nesne türü örtük olarak 'any' şablon türüne sahip.",
896
+ "Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457": "Varsayılan '**/*' ekleme deseniyle eşleşti",
896
897
  "Matched_by_include_pattern_0_in_1_1407": "'{1}' içindeki '{0}' ekleme desenine göre eşleştirildi",
897
898
  "Member_0_implicitly_has_an_1_type_7008": "'{0}' üyesi örtük olarak '{1}' türüne sahip.",
898
899
  "Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045": "'{0}' üyesi örtük olarak bir '{1}' türüne sahip ancak kullanımdan daha iyi bir tür çıkarsanabilir.",
package/lib/tsc.js CHANGED
@@ -69,7 +69,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
69
69
  var ts;
70
70
  (function (ts) {
71
71
  ts.versionMajorMinor = "4.8";
72
- ts.version = ts.versionMajorMinor + ".0-dev.20220512";
72
+ ts.version = ts.versionMajorMinor + ".0-dev.20220513";
73
73
  var NativeCollections;
74
74
  (function (NativeCollections) {
75
75
  var globals = typeof globalThis !== "undefined" ? globalThis :
@@ -6079,6 +6079,7 @@ var ts;
6079
6079
  Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls: diag(2836, ts.DiagnosticCategory.Error, "Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836", "Import assertions are not allowed on statements that transpile to commonjs 'require' calls."),
6080
6080
  Import_assertion_values_must_be_string_literal_expressions: diag(2837, ts.DiagnosticCategory.Error, "Import_assertion_values_must_be_string_literal_expressions_2837", "Import assertion values must be string literal expressions."),
6081
6081
  All_declarations_of_0_must_have_identical_constraints: diag(2838, ts.DiagnosticCategory.Error, "All_declarations_of_0_must_have_identical_constraints_2838", "All declarations of '{0}' must have identical constraints."),
6082
+ This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value: diag(2839, ts.DiagnosticCategory.Error, "This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839", "This condition will always return '{0}' since JavaScript compares objects by reference, not value."),
6082
6083
  Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."),
6083
6084
  Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."),
6084
6085
  Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."),
@@ -9904,6 +9905,18 @@ var ts;
9904
9905
  return isLiteralKind(node.kind);
9905
9906
  }
9906
9907
  ts.isLiteralExpression = isLiteralExpression;
9908
+ function isLiteralExpressionOfObject(node) {
9909
+ switch (node.kind) {
9910
+ case 205:
9911
+ case 204:
9912
+ case 13:
9913
+ case 213:
9914
+ case 226:
9915
+ return true;
9916
+ }
9917
+ return false;
9918
+ }
9919
+ ts.isLiteralExpressionOfObject = isLiteralExpressionOfObject;
9907
9920
  function isTemplateLiteralKind(kind) {
9908
9921
  return 14 <= kind && kind <= 17;
9909
9922
  }
@@ -66099,6 +66112,10 @@ var ts;
66099
66112
  case 35:
66100
66113
  case 36:
66101
66114
  case 37:
66115
+ if (ts.isLiteralExpressionOfObject(left) || ts.isLiteralExpressionOfObject(right)) {
66116
+ var eqType = operator === 34 || operator === 36;
66117
+ error(errorNode, ts.Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
66118
+ }
66102
66119
  reportOperatorErrorUnless(function (left, right) { return isTypeEqualityComparableTo(left, right) || isTypeEqualityComparableTo(right, left); });
66103
66120
  return booleanType;
66104
66121
  case 102:
@@ -101705,6 +101722,13 @@ var ts;
101705
101722
  ExtendedConfigOfReferencedProject: "Extended config file of referenced project",
101706
101723
  WildcardDirectoryOfReferencedProject: "Wild card directory of referenced project",
101707
101724
  PackageJson: "package.json file",
101725
+ ClosedScriptInfo: "Closed Script info",
101726
+ ConfigFileForInferredRoot: "Config file for the inferred project root",
101727
+ NodeModules: "node_modules for closed script infos and package.jsons affecting module specifier cache",
101728
+ MissingSourceMapFile: "Missing source map file",
101729
+ NoopConfigFileForInferredRoot: "Noop Config file for the inferred project root",
101730
+ MissingGeneratedFile: "Missing generated file",
101731
+ NodeModulesForModuleSpecifierCache: "node_modules for module specifier cache invalidation",
101708
101732
  };
101709
101733
  function createWatchFactory(host, options) {
101710
101734
  var watchLogLevel = host.trace ? options.extendedDiagnostics ? ts.WatchLogLevel.Verbose : options.diagnostics ? ts.WatchLogLevel.TriggerOnly : ts.WatchLogLevel.None : ts.WatchLogLevel.None;
package/lib/tsserver.js CHANGED
@@ -100,7 +100,7 @@ var ts;
100
100
  // The following is baselined as a literal template type without intervention
101
101
  /** The version of the TypeScript compiler release */
102
102
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
103
- ts.version = ts.versionMajorMinor + ".0-dev.20220512";
103
+ ts.version = ts.versionMajorMinor + ".0-dev.20220513";
104
104
  /* @internal */
105
105
  var Comparison;
106
106
  (function (Comparison) {
@@ -8895,6 +8895,7 @@ var ts;
8895
8895
  Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls: diag(2836, ts.DiagnosticCategory.Error, "Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836", "Import assertions are not allowed on statements that transpile to commonjs 'require' calls."),
8896
8896
  Import_assertion_values_must_be_string_literal_expressions: diag(2837, ts.DiagnosticCategory.Error, "Import_assertion_values_must_be_string_literal_expressions_2837", "Import assertion values must be string literal expressions."),
8897
8897
  All_declarations_of_0_must_have_identical_constraints: diag(2838, ts.DiagnosticCategory.Error, "All_declarations_of_0_must_have_identical_constraints_2838", "All declarations of '{0}' must have identical constraints."),
8898
+ This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value: diag(2839, ts.DiagnosticCategory.Error, "This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839", "This condition will always return '{0}' since JavaScript compares objects by reference, not value."),
8898
8899
  Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."),
8899
8900
  Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."),
8900
8901
  Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."),
@@ -13205,6 +13206,19 @@ var ts;
13205
13206
  return isLiteralKind(node.kind);
13206
13207
  }
13207
13208
  ts.isLiteralExpression = isLiteralExpression;
13209
+ /** @internal */
13210
+ function isLiteralExpressionOfObject(node) {
13211
+ switch (node.kind) {
13212
+ case 205 /* ObjectLiteralExpression */:
13213
+ case 204 /* ArrayLiteralExpression */:
13214
+ case 13 /* RegularExpressionLiteral */:
13215
+ case 213 /* FunctionExpression */:
13216
+ case 226 /* ClassExpression */:
13217
+ return true;
13218
+ }
13219
+ return false;
13220
+ }
13221
+ ts.isLiteralExpressionOfObject = isLiteralExpressionOfObject;
13208
13222
  // Pseudo-literals
13209
13223
  /* @internal */
13210
13224
  function isTemplateLiteralKind(kind) {
@@ -78977,6 +78991,10 @@ var ts;
78977
78991
  case 35 /* ExclamationEqualsToken */:
78978
78992
  case 36 /* EqualsEqualsEqualsToken */:
78979
78993
  case 37 /* ExclamationEqualsEqualsToken */:
78994
+ if (ts.isLiteralExpressionOfObject(left) || ts.isLiteralExpressionOfObject(right)) {
78995
+ var eqType = operator === 34 /* EqualsEqualsToken */ || operator === 36 /* EqualsEqualsEqualsToken */;
78996
+ error(errorNode, ts.Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
78997
+ }
78980
78998
  reportOperatorErrorUnless(function (left, right) { return isTypeEqualityComparableTo(left, right) || isTypeEqualityComparableTo(right, left); });
78981
78999
  return booleanType;
78982
79000
  case 102 /* InstanceOfKeyword */:
@@ -122946,6 +122964,13 @@ var ts;
122946
122964
  ExtendedConfigOfReferencedProject: "Extended config file of referenced project",
122947
122965
  WildcardDirectoryOfReferencedProject: "Wild card directory of referenced project",
122948
122966
  PackageJson: "package.json file",
122967
+ ClosedScriptInfo: "Closed Script info",
122968
+ ConfigFileForInferredRoot: "Config file for the inferred project root",
122969
+ NodeModules: "node_modules for closed script infos and package.jsons affecting module specifier cache",
122970
+ MissingSourceMapFile: "Missing source map file",
122971
+ NoopConfigFileForInferredRoot: "Noop Config file for the inferred project root",
122972
+ MissingGeneratedFile: "Missing generated file",
122973
+ NodeModulesForModuleSpecifierCache: "node_modules for module specifier cache invalidation",
122949
122974
  };
122950
122975
  function createWatchFactory(host, options) {
122951
122976
  var watchLogLevel = host.trace ? options.extendedDiagnostics ? ts.WatchLogLevel.Verbose : options.diagnostics ? ts.WatchLogLevel.TriggerOnly : ts.WatchLogLevel.None : ts.WatchLogLevel.None;
@@ -165712,7 +165737,7 @@ var ts;
165712
165737
  function getDefaultLibFilePath(options) {
165713
165738
  // Check __dirname is defined and that we are on a node.js system.
165714
165739
  if (typeof __dirname !== "undefined") {
165715
- return __dirname + ts.directorySeparator + ts.getDefaultLibFileName(options);
165740
+ return ts.combinePaths(__dirname, ts.getDefaultLibFileName(options));
165716
165741
  }
165717
165742
  throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ");
165718
165743
  }
@@ -167841,16 +167866,6 @@ var ts;
167841
167866
  server.stringifyIndented = stringifyIndented;
167842
167867
  })(server = ts.server || (ts.server = {}));
167843
167868
  })(ts || (ts = {}));
167844
- /* @internal */
167845
- var ts;
167846
- (function (ts) {
167847
- ts.WatchType.ClosedScriptInfo = "Closed Script info";
167848
- ts.WatchType.ConfigFileForInferredRoot = "Config file for the inferred project root";
167849
- ts.WatchType.NodeModules = "node_modules for closed script infos and package.jsons affecting module specifier cache";
167850
- ts.WatchType.MissingSourceMapFile = "Missing source map file";
167851
- ts.WatchType.NoopConfigFileForInferredRoot = "Noop Config file for the inferred project root";
167852
- ts.WatchType.MissingGeneratedFile = "Missing generated file";
167853
- })(ts || (ts = {}));
167854
167869
  /* eslint-disable @typescript-eslint/no-unnecessary-qualifier */
167855
167870
  /**
167856
167871
  * Declaration module describing the TypeScript Server protocol
@@ -294,7 +294,7 @@ var ts;
294
294
  // The following is baselined as a literal template type without intervention
295
295
  /** The version of the TypeScript compiler release */
296
296
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
297
- ts.version = ts.versionMajorMinor + ".0-dev.20220512";
297
+ ts.version = ts.versionMajorMinor + ".0-dev.20220513";
298
298
  /* @internal */
299
299
  var Comparison;
300
300
  (function (Comparison) {
@@ -9089,6 +9089,7 @@ var ts;
9089
9089
  Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls: diag(2836, ts.DiagnosticCategory.Error, "Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836", "Import assertions are not allowed on statements that transpile to commonjs 'require' calls."),
9090
9090
  Import_assertion_values_must_be_string_literal_expressions: diag(2837, ts.DiagnosticCategory.Error, "Import_assertion_values_must_be_string_literal_expressions_2837", "Import assertion values must be string literal expressions."),
9091
9091
  All_declarations_of_0_must_have_identical_constraints: diag(2838, ts.DiagnosticCategory.Error, "All_declarations_of_0_must_have_identical_constraints_2838", "All declarations of '{0}' must have identical constraints."),
9092
+ This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value: diag(2839, ts.DiagnosticCategory.Error, "This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839", "This condition will always return '{0}' since JavaScript compares objects by reference, not value."),
9092
9093
  Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."),
9093
9094
  Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."),
9094
9095
  Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."),
@@ -13399,6 +13400,19 @@ var ts;
13399
13400
  return isLiteralKind(node.kind);
13400
13401
  }
13401
13402
  ts.isLiteralExpression = isLiteralExpression;
13403
+ /** @internal */
13404
+ function isLiteralExpressionOfObject(node) {
13405
+ switch (node.kind) {
13406
+ case 205 /* ObjectLiteralExpression */:
13407
+ case 204 /* ArrayLiteralExpression */:
13408
+ case 13 /* RegularExpressionLiteral */:
13409
+ case 213 /* FunctionExpression */:
13410
+ case 226 /* ClassExpression */:
13411
+ return true;
13412
+ }
13413
+ return false;
13414
+ }
13415
+ ts.isLiteralExpressionOfObject = isLiteralExpressionOfObject;
13402
13416
  // Pseudo-literals
13403
13417
  /* @internal */
13404
13418
  function isTemplateLiteralKind(kind) {
@@ -79171,6 +79185,10 @@ var ts;
79171
79185
  case 35 /* ExclamationEqualsToken */:
79172
79186
  case 36 /* EqualsEqualsEqualsToken */:
79173
79187
  case 37 /* ExclamationEqualsEqualsToken */:
79188
+ if (ts.isLiteralExpressionOfObject(left) || ts.isLiteralExpressionOfObject(right)) {
79189
+ var eqType = operator === 34 /* EqualsEqualsToken */ || operator === 36 /* EqualsEqualsEqualsToken */;
79190
+ error(errorNode, ts.Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
79191
+ }
79174
79192
  reportOperatorErrorUnless(function (left, right) { return isTypeEqualityComparableTo(left, right) || isTypeEqualityComparableTo(right, left); });
79175
79193
  return booleanType;
79176
79194
  case 102 /* InstanceOfKeyword */:
@@ -123140,6 +123158,13 @@ var ts;
123140
123158
  ExtendedConfigOfReferencedProject: "Extended config file of referenced project",
123141
123159
  WildcardDirectoryOfReferencedProject: "Wild card directory of referenced project",
123142
123160
  PackageJson: "package.json file",
123161
+ ClosedScriptInfo: "Closed Script info",
123162
+ ConfigFileForInferredRoot: "Config file for the inferred project root",
123163
+ NodeModules: "node_modules for closed script infos and package.jsons affecting module specifier cache",
123164
+ MissingSourceMapFile: "Missing source map file",
123165
+ NoopConfigFileForInferredRoot: "Noop Config file for the inferred project root",
123166
+ MissingGeneratedFile: "Missing generated file",
123167
+ NodeModulesForModuleSpecifierCache: "node_modules for module specifier cache invalidation",
123143
123168
  };
123144
123169
  function createWatchFactory(host, options) {
123145
123170
  var watchLogLevel = host.trace ? options.extendedDiagnostics ? ts.WatchLogLevel.Verbose : options.diagnostics ? ts.WatchLogLevel.TriggerOnly : ts.WatchLogLevel.None : ts.WatchLogLevel.None;
@@ -166323,7 +166348,7 @@ var ts;
166323
166348
  function getDefaultLibFilePath(options) {
166324
166349
  // Check __dirname is defined and that we are on a node.js system.
166325
166350
  if (typeof __dirname !== "undefined") {
166326
- return __dirname + ts.directorySeparator + ts.getDefaultLibFileName(options);
166351
+ return ts.combinePaths(__dirname, ts.getDefaultLibFileName(options));
166327
166352
  }
166328
166353
  throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ");
166329
166354
  }
@@ -168035,16 +168060,6 @@ var ts;
168035
168060
  server.stringifyIndented = stringifyIndented;
168036
168061
  })(server = ts.server || (ts.server = {}));
168037
168062
  })(ts || (ts = {}));
168038
- /* @internal */
168039
- var ts;
168040
- (function (ts) {
168041
- ts.WatchType.ClosedScriptInfo = "Closed Script info";
168042
- ts.WatchType.ConfigFileForInferredRoot = "Config file for the inferred project root";
168043
- ts.WatchType.NodeModules = "node_modules for closed script infos and package.jsons affecting module specifier cache";
168044
- ts.WatchType.MissingSourceMapFile = "Missing source map file";
168045
- ts.WatchType.NoopConfigFileForInferredRoot = "Noop Config file for the inferred project root";
168046
- ts.WatchType.MissingGeneratedFile = "Missing generated file";
168047
- })(ts || (ts = {}));
168048
168063
  /* eslint-disable @typescript-eslint/no-unnecessary-qualifier */
168049
168064
  /**
168050
168065
  * Declaration module describing the TypeScript Server protocol
package/lib/typescript.js CHANGED
@@ -294,7 +294,7 @@ var ts;
294
294
  // The following is baselined as a literal template type without intervention
295
295
  /** The version of the TypeScript compiler release */
296
296
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
297
- ts.version = ts.versionMajorMinor + ".0-dev.20220512";
297
+ ts.version = ts.versionMajorMinor + ".0-dev.20220513";
298
298
  /* @internal */
299
299
  var Comparison;
300
300
  (function (Comparison) {
@@ -9089,6 +9089,7 @@ var ts;
9089
9089
  Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls: diag(2836, ts.DiagnosticCategory.Error, "Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836", "Import assertions are not allowed on statements that transpile to commonjs 'require' calls."),
9090
9090
  Import_assertion_values_must_be_string_literal_expressions: diag(2837, ts.DiagnosticCategory.Error, "Import_assertion_values_must_be_string_literal_expressions_2837", "Import assertion values must be string literal expressions."),
9091
9091
  All_declarations_of_0_must_have_identical_constraints: diag(2838, ts.DiagnosticCategory.Error, "All_declarations_of_0_must_have_identical_constraints_2838", "All declarations of '{0}' must have identical constraints."),
9092
+ This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value: diag(2839, ts.DiagnosticCategory.Error, "This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839", "This condition will always return '{0}' since JavaScript compares objects by reference, not value."),
9092
9093
  Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."),
9093
9094
  Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."),
9094
9095
  Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."),
@@ -13399,6 +13400,19 @@ var ts;
13399
13400
  return isLiteralKind(node.kind);
13400
13401
  }
13401
13402
  ts.isLiteralExpression = isLiteralExpression;
13403
+ /** @internal */
13404
+ function isLiteralExpressionOfObject(node) {
13405
+ switch (node.kind) {
13406
+ case 205 /* ObjectLiteralExpression */:
13407
+ case 204 /* ArrayLiteralExpression */:
13408
+ case 13 /* RegularExpressionLiteral */:
13409
+ case 213 /* FunctionExpression */:
13410
+ case 226 /* ClassExpression */:
13411
+ return true;
13412
+ }
13413
+ return false;
13414
+ }
13415
+ ts.isLiteralExpressionOfObject = isLiteralExpressionOfObject;
13402
13416
  // Pseudo-literals
13403
13417
  /* @internal */
13404
13418
  function isTemplateLiteralKind(kind) {
@@ -79171,6 +79185,10 @@ var ts;
79171
79185
  case 35 /* ExclamationEqualsToken */:
79172
79186
  case 36 /* EqualsEqualsEqualsToken */:
79173
79187
  case 37 /* ExclamationEqualsEqualsToken */:
79188
+ if (ts.isLiteralExpressionOfObject(left) || ts.isLiteralExpressionOfObject(right)) {
79189
+ var eqType = operator === 34 /* EqualsEqualsToken */ || operator === 36 /* EqualsEqualsEqualsToken */;
79190
+ error(errorNode, ts.Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
79191
+ }
79174
79192
  reportOperatorErrorUnless(function (left, right) { return isTypeEqualityComparableTo(left, right) || isTypeEqualityComparableTo(right, left); });
79175
79193
  return booleanType;
79176
79194
  case 102 /* InstanceOfKeyword */:
@@ -123140,6 +123158,13 @@ var ts;
123140
123158
  ExtendedConfigOfReferencedProject: "Extended config file of referenced project",
123141
123159
  WildcardDirectoryOfReferencedProject: "Wild card directory of referenced project",
123142
123160
  PackageJson: "package.json file",
123161
+ ClosedScriptInfo: "Closed Script info",
123162
+ ConfigFileForInferredRoot: "Config file for the inferred project root",
123163
+ NodeModules: "node_modules for closed script infos and package.jsons affecting module specifier cache",
123164
+ MissingSourceMapFile: "Missing source map file",
123165
+ NoopConfigFileForInferredRoot: "Noop Config file for the inferred project root",
123166
+ MissingGeneratedFile: "Missing generated file",
123167
+ NodeModulesForModuleSpecifierCache: "node_modules for module specifier cache invalidation",
123143
123168
  };
123144
123169
  function createWatchFactory(host, options) {
123145
123170
  var watchLogLevel = host.trace ? options.extendedDiagnostics ? ts.WatchLogLevel.Verbose : options.diagnostics ? ts.WatchLogLevel.TriggerOnly : ts.WatchLogLevel.None : ts.WatchLogLevel.None;
@@ -166323,7 +166348,7 @@ var ts;
166323
166348
  function getDefaultLibFilePath(options) {
166324
166349
  // Check __dirname is defined and that we are on a node.js system.
166325
166350
  if (typeof __dirname !== "undefined") {
166326
- return __dirname + ts.directorySeparator + ts.getDefaultLibFileName(options);
166351
+ return ts.combinePaths(__dirname, ts.getDefaultLibFileName(options));
166327
166352
  }
166328
166353
  throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ");
166329
166354
  }
@@ -294,7 +294,7 @@ var ts;
294
294
  // The following is baselined as a literal template type without intervention
295
295
  /** The version of the TypeScript compiler release */
296
296
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
297
- ts.version = ts.versionMajorMinor + ".0-dev.20220512";
297
+ ts.version = ts.versionMajorMinor + ".0-dev.20220513";
298
298
  /* @internal */
299
299
  var Comparison;
300
300
  (function (Comparison) {
@@ -9089,6 +9089,7 @@ var ts;
9089
9089
  Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls: diag(2836, ts.DiagnosticCategory.Error, "Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836", "Import assertions are not allowed on statements that transpile to commonjs 'require' calls."),
9090
9090
  Import_assertion_values_must_be_string_literal_expressions: diag(2837, ts.DiagnosticCategory.Error, "Import_assertion_values_must_be_string_literal_expressions_2837", "Import assertion values must be string literal expressions."),
9091
9091
  All_declarations_of_0_must_have_identical_constraints: diag(2838, ts.DiagnosticCategory.Error, "All_declarations_of_0_must_have_identical_constraints_2838", "All declarations of '{0}' must have identical constraints."),
9092
+ This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value: diag(2839, ts.DiagnosticCategory.Error, "This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839", "This condition will always return '{0}' since JavaScript compares objects by reference, not value."),
9092
9093
  Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."),
9093
9094
  Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."),
9094
9095
  Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."),
@@ -13399,6 +13400,19 @@ var ts;
13399
13400
  return isLiteralKind(node.kind);
13400
13401
  }
13401
13402
  ts.isLiteralExpression = isLiteralExpression;
13403
+ /** @internal */
13404
+ function isLiteralExpressionOfObject(node) {
13405
+ switch (node.kind) {
13406
+ case 205 /* ObjectLiteralExpression */:
13407
+ case 204 /* ArrayLiteralExpression */:
13408
+ case 13 /* RegularExpressionLiteral */:
13409
+ case 213 /* FunctionExpression */:
13410
+ case 226 /* ClassExpression */:
13411
+ return true;
13412
+ }
13413
+ return false;
13414
+ }
13415
+ ts.isLiteralExpressionOfObject = isLiteralExpressionOfObject;
13402
13416
  // Pseudo-literals
13403
13417
  /* @internal */
13404
13418
  function isTemplateLiteralKind(kind) {
@@ -79171,6 +79185,10 @@ var ts;
79171
79185
  case 35 /* ExclamationEqualsToken */:
79172
79186
  case 36 /* EqualsEqualsEqualsToken */:
79173
79187
  case 37 /* ExclamationEqualsEqualsToken */:
79188
+ if (ts.isLiteralExpressionOfObject(left) || ts.isLiteralExpressionOfObject(right)) {
79189
+ var eqType = operator === 34 /* EqualsEqualsToken */ || operator === 36 /* EqualsEqualsEqualsToken */;
79190
+ error(errorNode, ts.Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
79191
+ }
79174
79192
  reportOperatorErrorUnless(function (left, right) { return isTypeEqualityComparableTo(left, right) || isTypeEqualityComparableTo(right, left); });
79175
79193
  return booleanType;
79176
79194
  case 102 /* InstanceOfKeyword */:
@@ -123140,6 +123158,13 @@ var ts;
123140
123158
  ExtendedConfigOfReferencedProject: "Extended config file of referenced project",
123141
123159
  WildcardDirectoryOfReferencedProject: "Wild card directory of referenced project",
123142
123160
  PackageJson: "package.json file",
123161
+ ClosedScriptInfo: "Closed Script info",
123162
+ ConfigFileForInferredRoot: "Config file for the inferred project root",
123163
+ NodeModules: "node_modules for closed script infos and package.jsons affecting module specifier cache",
123164
+ MissingSourceMapFile: "Missing source map file",
123165
+ NoopConfigFileForInferredRoot: "Noop Config file for the inferred project root",
123166
+ MissingGeneratedFile: "Missing generated file",
123167
+ NodeModulesForModuleSpecifierCache: "node_modules for module specifier cache invalidation",
123143
123168
  };
123144
123169
  function createWatchFactory(host, options) {
123145
123170
  var watchLogLevel = host.trace ? options.extendedDiagnostics ? ts.WatchLogLevel.Verbose : options.diagnostics ? ts.WatchLogLevel.TriggerOnly : ts.WatchLogLevel.None : ts.WatchLogLevel.None;
@@ -166323,7 +166348,7 @@ var ts;
166323
166348
  function getDefaultLibFilePath(options) {
166324
166349
  // Check __dirname is defined and that we are on a node.js system.
166325
166350
  if (typeof __dirname !== "undefined") {
166326
- return __dirname + ts.directorySeparator + ts.getDefaultLibFileName(options);
166351
+ return ts.combinePaths(__dirname, ts.getDefaultLibFileName(options));
166327
166352
  }
166328
166353
  throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ");
166329
166354
  }
@@ -89,7 +89,7 @@ var ts;
89
89
  // The following is baselined as a literal template type without intervention
90
90
  /** The version of the TypeScript compiler release */
91
91
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
92
- ts.version = ts.versionMajorMinor + ".0-dev.20220512";
92
+ ts.version = ts.versionMajorMinor + ".0-dev.20220513";
93
93
  /* @internal */
94
94
  var Comparison;
95
95
  (function (Comparison) {
@@ -8884,6 +8884,7 @@ var ts;
8884
8884
  Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls: diag(2836, ts.DiagnosticCategory.Error, "Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836", "Import assertions are not allowed on statements that transpile to commonjs 'require' calls."),
8885
8885
  Import_assertion_values_must_be_string_literal_expressions: diag(2837, ts.DiagnosticCategory.Error, "Import_assertion_values_must_be_string_literal_expressions_2837", "Import assertion values must be string literal expressions."),
8886
8886
  All_declarations_of_0_must_have_identical_constraints: diag(2838, ts.DiagnosticCategory.Error, "All_declarations_of_0_must_have_identical_constraints_2838", "All declarations of '{0}' must have identical constraints."),
8887
+ This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value: diag(2839, ts.DiagnosticCategory.Error, "This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839", "This condition will always return '{0}' since JavaScript compares objects by reference, not value."),
8887
8888
  Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."),
8888
8889
  Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."),
8889
8890
  Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."),
@@ -13194,6 +13195,19 @@ var ts;
13194
13195
  return isLiteralKind(node.kind);
13195
13196
  }
13196
13197
  ts.isLiteralExpression = isLiteralExpression;
13198
+ /** @internal */
13199
+ function isLiteralExpressionOfObject(node) {
13200
+ switch (node.kind) {
13201
+ case 205 /* ObjectLiteralExpression */:
13202
+ case 204 /* ArrayLiteralExpression */:
13203
+ case 13 /* RegularExpressionLiteral */:
13204
+ case 213 /* FunctionExpression */:
13205
+ case 226 /* ClassExpression */:
13206
+ return true;
13207
+ }
13208
+ return false;
13209
+ }
13210
+ ts.isLiteralExpressionOfObject = isLiteralExpressionOfObject;
13197
13211
  // Pseudo-literals
13198
13212
  /* @internal */
13199
13213
  function isTemplateLiteralKind(kind) {
@@ -78966,6 +78980,10 @@ var ts;
78966
78980
  case 35 /* ExclamationEqualsToken */:
78967
78981
  case 36 /* EqualsEqualsEqualsToken */:
78968
78982
  case 37 /* ExclamationEqualsEqualsToken */:
78983
+ if (ts.isLiteralExpressionOfObject(left) || ts.isLiteralExpressionOfObject(right)) {
78984
+ var eqType = operator === 34 /* EqualsEqualsToken */ || operator === 36 /* EqualsEqualsEqualsToken */;
78985
+ error(errorNode, ts.Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true");
78986
+ }
78969
78987
  reportOperatorErrorUnless(function (left, right) { return isTypeEqualityComparableTo(left, right) || isTypeEqualityComparableTo(right, left); });
78970
78988
  return booleanType;
78971
78989
  case 102 /* InstanceOfKeyword */:
@@ -122935,6 +122953,13 @@ var ts;
122935
122953
  ExtendedConfigOfReferencedProject: "Extended config file of referenced project",
122936
122954
  WildcardDirectoryOfReferencedProject: "Wild card directory of referenced project",
122937
122955
  PackageJson: "package.json file",
122956
+ ClosedScriptInfo: "Closed Script info",
122957
+ ConfigFileForInferredRoot: "Config file for the inferred project root",
122958
+ NodeModules: "node_modules for closed script infos and package.jsons affecting module specifier cache",
122959
+ MissingSourceMapFile: "Missing source map file",
122960
+ NoopConfigFileForInferredRoot: "Noop Config file for the inferred project root",
122961
+ MissingGeneratedFile: "Missing generated file",
122962
+ NodeModulesForModuleSpecifierCache: "node_modules for module specifier cache invalidation",
122938
122963
  };
122939
122964
  function createWatchFactory(host, options) {
122940
122965
  var watchLogLevel = host.trace ? options.extendedDiagnostics ? ts.WatchLogLevel.Verbose : options.diagnostics ? ts.WatchLogLevel.TriggerOnly : ts.WatchLogLevel.None : ts.WatchLogLevel.None;
@@ -893,6 +893,7 @@
893
893
  "Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650": "僅讓 keyof 傳回字串,而不是單一字串、數字或符號。舊版選項。",
894
894
  "Make_super_call_the_first_statement_in_the_constructor_90002": "使 'super()' 呼叫成為建構函式中的第一個陳述式",
895
895
  "Mapped_object_type_implicitly_has_an_any_template_type_7039": "對應的物件類型隱含具有 'any' 範本類型。",
896
+ "Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457": "依預設比對包含模式 '**/*'",
896
897
  "Matched_by_include_pattern_0_in_1_1407": "依 '{1}' 中的包含模式 '{0}' 比對",
897
898
  "Member_0_implicitly_has_an_1_type_7008": "成員 '{0}' 隱含了 '{1}' 類型。",
898
899
  "Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045": "成員 '{0}' 隱含 '{1}' 類型,但可從使用方式推斷更適合的類型。",
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "typescript",
3
3
  "author": "Microsoft Corp.",
4
4
  "homepage": "https://www.typescriptlang.org/",
5
- "version": "4.8.0-dev.20220512",
5
+ "version": "4.8.0-dev.20220513",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [