typescript 4.6.0-dev.20211208 → 4.6.0-dev.20211212

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.
@@ -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.20211208";
297
+ ts.version = ts.versionMajorMinor + ".0-dev.20211212";
298
298
  /* @internal */
299
299
  var Comparison;
300
300
  (function (Comparison) {
@@ -24632,7 +24632,7 @@ var ts;
24632
24632
  // @api
24633
24633
  function createAssertClause(elements, multiLine) {
24634
24634
  var node = createBaseNode(292 /* AssertClause */);
24635
- node.elements = elements;
24635
+ node.elements = createNodeArray(elements);
24636
24636
  node.multiLine = multiLine;
24637
24637
  node.transformFlags |= 4 /* ContainsESNext */;
24638
24638
  return node;
@@ -54253,7 +54253,27 @@ var ts;
54253
54253
  return mapType(source, function (t) { return getRestType(t, properties, symbol); });
54254
54254
  }
54255
54255
  var omitKeyType = getUnionType(ts.map(properties, getLiteralTypeFromPropertyName));
54256
+ var spreadableProperties = [];
54257
+ var unspreadableToRestKeys = [];
54258
+ for (var _i = 0, _a = getPropertiesOfType(source); _i < _a.length; _i++) {
54259
+ var prop = _a[_i];
54260
+ var literalTypeFromProperty = getLiteralTypeFromProperty(prop, 8576 /* StringOrNumberLiteralOrUnique */);
54261
+ if (!isTypeAssignableTo(literalTypeFromProperty, omitKeyType)
54262
+ && !(ts.getDeclarationModifierFlagsFromSymbol(prop) & (8 /* Private */ | 16 /* Protected */))
54263
+ && isSpreadableProperty(prop)) {
54264
+ spreadableProperties.push(prop);
54265
+ }
54266
+ else {
54267
+ unspreadableToRestKeys.push(literalTypeFromProperty);
54268
+ }
54269
+ }
54256
54270
  if (isGenericObjectType(source) || isGenericIndexType(omitKeyType)) {
54271
+ if (unspreadableToRestKeys.length) {
54272
+ // If the type we're spreading from has properties that cannot
54273
+ // be spread into the rest type (e.g. getters, methods), ensure
54274
+ // they are explicitly omitted, as they would in the non-generic case.
54275
+ omitKeyType = getUnionType(__spreadArray([omitKeyType], unspreadableToRestKeys, true));
54276
+ }
54257
54277
  if (omitKeyType.flags & 131072 /* Never */) {
54258
54278
  return source;
54259
54279
  }
@@ -54264,13 +54284,9 @@ var ts;
54264
54284
  return getTypeAliasInstantiation(omitTypeAlias, [source, omitKeyType]);
54265
54285
  }
54266
54286
  var members = ts.createSymbolTable();
54267
- for (var _i = 0, _a = getPropertiesOfType(source); _i < _a.length; _i++) {
54268
- var prop = _a[_i];
54269
- if (!isTypeAssignableTo(getLiteralTypeFromProperty(prop, 8576 /* StringOrNumberLiteralOrUnique */), omitKeyType)
54270
- && !(ts.getDeclarationModifierFlagsFromSymbol(prop) & (8 /* Private */ | 16 /* Protected */))
54271
- && isSpreadableProperty(prop)) {
54272
- members.set(prop.escapedName, getSpreadSymbol(prop, /*readonly*/ false));
54273
- }
54287
+ for (var _b = 0, spreadableProperties_1 = spreadableProperties; _b < spreadableProperties_1.length; _b++) {
54288
+ var prop = spreadableProperties_1[_b];
54289
+ members.set(prop.escapedName, getSpreadSymbol(prop, /*readonly*/ false));
54274
54290
  }
54275
54291
  var result = createAnonymousType(symbol, members, ts.emptyArray, ts.emptyArray, getIndexInfosOfType(source));
54276
54292
  result.objectFlags |= 8388608 /* ObjectRestType */;
@@ -74537,7 +74553,7 @@ var ts;
74537
74553
  typeArguments.pop();
74538
74554
  }
74539
74555
  while (typeArguments.length < typeParameters.length) {
74540
- typeArguments.push(getConstraintOfTypeParameter(typeParameters[typeArguments.length]) || getDefaultTypeArgumentType(isJs));
74556
+ typeArguments.push(getDefaultFromTypeParameter(typeParameters[typeArguments.length]) || getConstraintOfTypeParameter(typeParameters[typeArguments.length]) || getDefaultTypeArgumentType(isJs));
74541
74557
  }
74542
74558
  return typeArguments;
74543
74559
  }
@@ -75193,8 +75209,7 @@ var ts;
75193
75209
  */
75194
75210
  function checkCallExpression(node, checkMode) {
75195
75211
  var _a;
75196
- if (!checkGrammarTypeArguments(node, node.typeArguments))
75197
- checkGrammarArguments(node.arguments);
75212
+ checkGrammarTypeArguments(node, node.typeArguments);
75198
75213
  var signature = getResolvedSignature(node, /*candidatesOutArray*/ undefined, checkMode);
75199
75214
  if (signature === resolvingSignature) {
75200
75215
  // CheckMode.SkipGenericFunctions is enabled and this is a call to a generic function that
@@ -75299,8 +75314,7 @@ var ts;
75299
75314
  }
75300
75315
  function checkImportCallExpression(node) {
75301
75316
  // Check grammar of dynamic import
75302
- if (!checkGrammarArguments(node.arguments))
75303
- checkGrammarImportCallExpression(node);
75317
+ checkGrammarImportCallExpression(node);
75304
75318
  if (node.arguments.length === 0) {
75305
75319
  return createPromiseReturnType(node, anyType);
75306
75320
  }
@@ -82408,7 +82422,7 @@ var ts;
82408
82422
  for (var _a = 0, properties_4 = properties_5; _a < properties_4.length; _a++) {
82409
82423
  var prop = properties_4[_a];
82410
82424
  var existing = seen.get(prop.escapedName);
82411
- if (existing && !isPropertyIdenticalTo(existing, prop)) {
82425
+ if (existing && prop.parent === existing.parent) {
82412
82426
  seen.delete(prop.escapedName);
82413
82427
  }
82414
82428
  }
@@ -85961,20 +85975,6 @@ var ts;
85961
85975
  }
85962
85976
  return false;
85963
85977
  }
85964
- function checkGrammarForOmittedArgument(args) {
85965
- if (args) {
85966
- for (var _i = 0, args_4 = args; _i < args_4.length; _i++) {
85967
- var arg = args_4[_i];
85968
- if (arg.kind === 226 /* OmittedExpression */) {
85969
- return grammarErrorAtPos(arg, arg.pos, 0, ts.Diagnostics.Argument_expression_expected);
85970
- }
85971
- }
85972
- }
85973
- return false;
85974
- }
85975
- function checkGrammarArguments(args) {
85976
- return checkGrammarForOmittedArgument(args);
85977
- }
85978
85978
  function checkGrammarHeritageClause(node) {
85979
85979
  var types = node.types;
85980
85980
  if (checkGrammarForDisallowedTrailingComma(types)) {
@@ -103222,7 +103222,7 @@ var ts;
103222
103222
  if (ts.isIdentifier(node.expression)) {
103223
103223
  var expression = substituteExpressionIdentifier(node.expression);
103224
103224
  noSubstitution[ts.getNodeId(expression)] = true;
103225
- if (!ts.isIdentifier(expression)) {
103225
+ if (!ts.isIdentifier(expression) && !(ts.getEmitFlags(node.expression) & 4096 /* HelperName */)) {
103226
103226
  return ts.addEmitFlags(factory.updateCallExpression(node, expression,
103227
103227
  /*typeArguments*/ undefined, node.arguments), 536870912 /* IndirectCall */);
103228
103228
  }
@@ -103233,7 +103233,7 @@ var ts;
103233
103233
  if (ts.isIdentifier(node.tag)) {
103234
103234
  var tag = substituteExpressionIdentifier(node.tag);
103235
103235
  noSubstitution[ts.getNodeId(tag)] = true;
103236
- if (!ts.isIdentifier(tag)) {
103236
+ if (!ts.isIdentifier(tag) && !(ts.getEmitFlags(node.tag) & 4096 /* HelperName */)) {
103237
103237
  return ts.addEmitFlags(factory.updateTaggedTemplateExpression(node, tag,
103238
103238
  /*typeArguments*/ undefined, node.template), 536870912 /* IndirectCall */);
103239
103239
  }
@@ -113859,6 +113859,7 @@ var ts;
113859
113859
  ts.getImpliedNodeFormatForFile = getImpliedNodeFormatForFile;
113860
113860
  /** @internal */
113861
113861
  ts.plainJSErrors = new ts.Set([
113862
+ // binder errors
113862
113863
  ts.Diagnostics.Cannot_redeclare_block_scoped_variable_0.code,
113863
113864
  ts.Diagnostics.A_module_cannot_have_multiple_default_exports.code,
113864
113865
  ts.Diagnostics.Another_export_default_is_here.code,
@@ -113874,6 +113875,81 @@ var ts;
113874
113875
  ts.Diagnostics.A_label_is_not_allowed_here.code,
113875
113876
  ts.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode.code,
113876
113877
  ts.Diagnostics.with_statements_are_not_allowed_in_strict_mode.code,
113878
+ // grammar errors
113879
+ ts.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement.code,
113880
+ ts.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement.code,
113881
+ ts.Diagnostics.A_class_declaration_without_the_default_modifier_must_have_a_name.code,
113882
+ ts.Diagnostics.A_class_member_cannot_have_the_0_keyword.code,
113883
+ ts.Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name.code,
113884
+ ts.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement.code,
113885
+ ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code,
113886
+ ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code,
113887
+ ts.Diagnostics.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement.code,
113888
+ ts.Diagnostics.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration.code,
113889
+ ts.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context.code,
113890
+ ts.Diagnostics.A_destructuring_declaration_must_have_an_initializer.code,
113891
+ ts.Diagnostics.A_get_accessor_cannot_have_parameters.code,
113892
+ ts.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern.code,
113893
+ ts.Diagnostics.A_rest_element_cannot_have_a_property_name.code,
113894
+ ts.Diagnostics.A_rest_element_cannot_have_an_initializer.code,
113895
+ ts.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern.code,
113896
+ ts.Diagnostics.A_rest_parameter_cannot_have_an_initializer.code,
113897
+ ts.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list.code,
113898
+ ts.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma.code,
113899
+ ts.Diagnostics.A_return_statement_can_only_be_used_within_a_function_body.code,
113900
+ ts.Diagnostics.A_return_statement_cannot_be_used_inside_a_class_static_block.code,
113901
+ ts.Diagnostics.A_set_accessor_cannot_have_rest_parameter.code,
113902
+ ts.Diagnostics.A_set_accessor_must_have_exactly_one_parameter.code,
113903
+ ts.Diagnostics.An_export_declaration_can_only_be_used_in_a_module.code,
113904
+ ts.Diagnostics.An_export_declaration_cannot_have_modifiers.code,
113905
+ ts.Diagnostics.An_import_declaration_can_only_be_used_in_a_namespace_or_module.code,
113906
+ ts.Diagnostics.An_import_declaration_cannot_have_modifiers.code,
113907
+ ts.Diagnostics.An_object_member_cannot_be_declared_optional.code,
113908
+ ts.Diagnostics.Argument_of_dynamic_import_cannot_be_spread_element.code,
113909
+ ts.Diagnostics.Cannot_assign_to_private_method_0_Private_methods_are_not_writable.code,
113910
+ ts.Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause.code,
113911
+ ts.Diagnostics.Catch_clause_variable_cannot_have_an_initializer.code,
113912
+ ts.Diagnostics.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator.code,
113913
+ ts.Diagnostics.Classes_can_only_extend_a_single_class.code,
113914
+ ts.Diagnostics.Classes_may_not_have_a_field_named_constructor.code,
113915
+ ts.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code,
113916
+ ts.Diagnostics.Duplicate_label_0.code,
113917
+ ts.Diagnostics.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments.code,
113918
+ ts.Diagnostics.For_await_loops_cannot_be_used_inside_a_class_static_block.code,
113919
+ ts.Diagnostics.JSX_attributes_must_only_be_assigned_a_non_empty_expression.code,
113920
+ ts.Diagnostics.JSX_elements_cannot_have_multiple_attributes_with_the_same_name.code,
113921
+ ts.Diagnostics.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array.code,
113922
+ ts.Diagnostics.JSX_property_access_expressions_cannot_include_JSX_namespace_names.code,
113923
+ ts.Diagnostics.Jump_target_cannot_cross_function_boundary.code,
113924
+ ts.Diagnostics.Line_terminator_not_permitted_before_arrow.code,
113925
+ ts.Diagnostics.Modifiers_cannot_appear_here.code,
113926
+ ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement.code,
113927
+ ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement.code,
113928
+ ts.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies.code,
113929
+ ts.Diagnostics.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression.code,
113930
+ ts.Diagnostics.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier.code,
113931
+ ts.Diagnostics.Tagged_template_expressions_are_not_permitted_in_an_optional_chain.code,
113932
+ ts.Diagnostics.The_left_hand_side_of_a_for_of_statement_may_not_be_async.code,
113933
+ ts.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer.code,
113934
+ ts.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer.code,
113935
+ ts.Diagnostics.Trailing_comma_not_allowed.code,
113936
+ ts.Diagnostics.Variable_declaration_list_cannot_be_empty.code,
113937
+ ts.Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses.code,
113938
+ ts.Diagnostics._0_expected.code,
113939
+ ts.Diagnostics._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2.code,
113940
+ ts.Diagnostics._0_list_cannot_be_empty.code,
113941
+ ts.Diagnostics._0_modifier_already_seen.code,
113942
+ ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration.code,
113943
+ ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element.code,
113944
+ ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter.code,
113945
+ ts.Diagnostics._0_modifier_cannot_appear_on_class_elements_of_this_kind.code,
113946
+ ts.Diagnostics._0_modifier_cannot_be_used_here.code,
113947
+ ts.Diagnostics._0_modifier_must_precede_1_modifier.code,
113948
+ ts.Diagnostics.const_declarations_can_only_be_declared_inside_a_block.code,
113949
+ ts.Diagnostics.const_declarations_must_be_initialized.code,
113950
+ ts.Diagnostics.extends_clause_already_seen.code,
113951
+ ts.Diagnostics.let_declarations_can_only_be_declared_inside_a_block.code,
113952
+ ts.Diagnostics.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations.code,
113877
113953
  ]);
113878
113954
  /**
113879
113955
  * Determine if source file needs to be re-created even if its text hasn't changed
@@ -114903,9 +114979,10 @@ var ts;
114903
114979
  var includeBindAndCheckDiagnostics = !isTsNoCheck && (sourceFile.scriptKind === 3 /* TS */ || sourceFile.scriptKind === 4 /* TSX */
114904
114980
  || sourceFile.scriptKind === 5 /* External */ || isPlainJs || isCheckJs || sourceFile.scriptKind === 7 /* Deferred */);
114905
114981
  var bindDiagnostics = includeBindAndCheckDiagnostics ? sourceFile.bindDiagnostics : ts.emptyArray;
114906
- var checkDiagnostics = includeBindAndCheckDiagnostics && !isPlainJs ? typeChecker.getDiagnostics(sourceFile, cancellationToken) : ts.emptyArray;
114982
+ var checkDiagnostics = includeBindAndCheckDiagnostics ? typeChecker.getDiagnostics(sourceFile, cancellationToken) : ts.emptyArray;
114907
114983
  if (isPlainJs) {
114908
114984
  bindDiagnostics = ts.filter(bindDiagnostics, function (d) { return ts.plainJSErrors.has(d.code); });
114985
+ checkDiagnostics = ts.filter(checkDiagnostics, function (d) { return ts.plainJSErrors.has(d.code); });
114909
114986
  }
114910
114987
  // skip ts-expect-error errors in plain JS files, and skip JSDoc errors except in checked JS
114911
114988
  return getMergedBindAndCheckDiagnostics(sourceFile, includeBindAndCheckDiagnostics && !isPlainJs, bindDiagnostics, checkDiagnostics, isCheckJs ? sourceFile.jsDocDiagnostics : undefined);
@@ -127981,6 +128058,9 @@ var ts;
127981
128058
  }
127982
128059
  return;
127983
128060
  }
128061
+ if (ts.isConstTypeReference(token.parent)) {
128062
+ return 3 /* keyword */;
128063
+ }
127984
128064
  }
127985
128065
  return 2 /* identifier */;
127986
128066
  }
@@ -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.20211208";
92
+ ts.version = ts.versionMajorMinor + ".0-dev.20211212";
93
93
  /* @internal */
94
94
  var Comparison;
95
95
  (function (Comparison) {
@@ -24427,7 +24427,7 @@ var ts;
24427
24427
  // @api
24428
24428
  function createAssertClause(elements, multiLine) {
24429
24429
  var node = createBaseNode(292 /* AssertClause */);
24430
- node.elements = elements;
24430
+ node.elements = createNodeArray(elements);
24431
24431
  node.multiLine = multiLine;
24432
24432
  node.transformFlags |= 4 /* ContainsESNext */;
24433
24433
  return node;
@@ -54048,7 +54048,27 @@ var ts;
54048
54048
  return mapType(source, function (t) { return getRestType(t, properties, symbol); });
54049
54049
  }
54050
54050
  var omitKeyType = getUnionType(ts.map(properties, getLiteralTypeFromPropertyName));
54051
+ var spreadableProperties = [];
54052
+ var unspreadableToRestKeys = [];
54053
+ for (var _i = 0, _a = getPropertiesOfType(source); _i < _a.length; _i++) {
54054
+ var prop = _a[_i];
54055
+ var literalTypeFromProperty = getLiteralTypeFromProperty(prop, 8576 /* StringOrNumberLiteralOrUnique */);
54056
+ if (!isTypeAssignableTo(literalTypeFromProperty, omitKeyType)
54057
+ && !(ts.getDeclarationModifierFlagsFromSymbol(prop) & (8 /* Private */ | 16 /* Protected */))
54058
+ && isSpreadableProperty(prop)) {
54059
+ spreadableProperties.push(prop);
54060
+ }
54061
+ else {
54062
+ unspreadableToRestKeys.push(literalTypeFromProperty);
54063
+ }
54064
+ }
54051
54065
  if (isGenericObjectType(source) || isGenericIndexType(omitKeyType)) {
54066
+ if (unspreadableToRestKeys.length) {
54067
+ // If the type we're spreading from has properties that cannot
54068
+ // be spread into the rest type (e.g. getters, methods), ensure
54069
+ // they are explicitly omitted, as they would in the non-generic case.
54070
+ omitKeyType = getUnionType(__spreadArray([omitKeyType], unspreadableToRestKeys, true));
54071
+ }
54052
54072
  if (omitKeyType.flags & 131072 /* Never */) {
54053
54073
  return source;
54054
54074
  }
@@ -54059,13 +54079,9 @@ var ts;
54059
54079
  return getTypeAliasInstantiation(omitTypeAlias, [source, omitKeyType]);
54060
54080
  }
54061
54081
  var members = ts.createSymbolTable();
54062
- for (var _i = 0, _a = getPropertiesOfType(source); _i < _a.length; _i++) {
54063
- var prop = _a[_i];
54064
- if (!isTypeAssignableTo(getLiteralTypeFromProperty(prop, 8576 /* StringOrNumberLiteralOrUnique */), omitKeyType)
54065
- && !(ts.getDeclarationModifierFlagsFromSymbol(prop) & (8 /* Private */ | 16 /* Protected */))
54066
- && isSpreadableProperty(prop)) {
54067
- members.set(prop.escapedName, getSpreadSymbol(prop, /*readonly*/ false));
54068
- }
54082
+ for (var _b = 0, spreadableProperties_1 = spreadableProperties; _b < spreadableProperties_1.length; _b++) {
54083
+ var prop = spreadableProperties_1[_b];
54084
+ members.set(prop.escapedName, getSpreadSymbol(prop, /*readonly*/ false));
54069
54085
  }
54070
54086
  var result = createAnonymousType(symbol, members, ts.emptyArray, ts.emptyArray, getIndexInfosOfType(source));
54071
54087
  result.objectFlags |= 8388608 /* ObjectRestType */;
@@ -74332,7 +74348,7 @@ var ts;
74332
74348
  typeArguments.pop();
74333
74349
  }
74334
74350
  while (typeArguments.length < typeParameters.length) {
74335
- typeArguments.push(getConstraintOfTypeParameter(typeParameters[typeArguments.length]) || getDefaultTypeArgumentType(isJs));
74351
+ typeArguments.push(getDefaultFromTypeParameter(typeParameters[typeArguments.length]) || getConstraintOfTypeParameter(typeParameters[typeArguments.length]) || getDefaultTypeArgumentType(isJs));
74336
74352
  }
74337
74353
  return typeArguments;
74338
74354
  }
@@ -74988,8 +75004,7 @@ var ts;
74988
75004
  */
74989
75005
  function checkCallExpression(node, checkMode) {
74990
75006
  var _a;
74991
- if (!checkGrammarTypeArguments(node, node.typeArguments))
74992
- checkGrammarArguments(node.arguments);
75007
+ checkGrammarTypeArguments(node, node.typeArguments);
74993
75008
  var signature = getResolvedSignature(node, /*candidatesOutArray*/ undefined, checkMode);
74994
75009
  if (signature === resolvingSignature) {
74995
75010
  // CheckMode.SkipGenericFunctions is enabled and this is a call to a generic function that
@@ -75094,8 +75109,7 @@ var ts;
75094
75109
  }
75095
75110
  function checkImportCallExpression(node) {
75096
75111
  // Check grammar of dynamic import
75097
- if (!checkGrammarArguments(node.arguments))
75098
- checkGrammarImportCallExpression(node);
75112
+ checkGrammarImportCallExpression(node);
75099
75113
  if (node.arguments.length === 0) {
75100
75114
  return createPromiseReturnType(node, anyType);
75101
75115
  }
@@ -82203,7 +82217,7 @@ var ts;
82203
82217
  for (var _a = 0, properties_4 = properties_5; _a < properties_4.length; _a++) {
82204
82218
  var prop = properties_4[_a];
82205
82219
  var existing = seen.get(prop.escapedName);
82206
- if (existing && !isPropertyIdenticalTo(existing, prop)) {
82220
+ if (existing && prop.parent === existing.parent) {
82207
82221
  seen.delete(prop.escapedName);
82208
82222
  }
82209
82223
  }
@@ -85756,20 +85770,6 @@ var ts;
85756
85770
  }
85757
85771
  return false;
85758
85772
  }
85759
- function checkGrammarForOmittedArgument(args) {
85760
- if (args) {
85761
- for (var _i = 0, args_4 = args; _i < args_4.length; _i++) {
85762
- var arg = args_4[_i];
85763
- if (arg.kind === 226 /* OmittedExpression */) {
85764
- return grammarErrorAtPos(arg, arg.pos, 0, ts.Diagnostics.Argument_expression_expected);
85765
- }
85766
- }
85767
- }
85768
- return false;
85769
- }
85770
- function checkGrammarArguments(args) {
85771
- return checkGrammarForOmittedArgument(args);
85772
- }
85773
85773
  function checkGrammarHeritageClause(node) {
85774
85774
  var types = node.types;
85775
85775
  if (checkGrammarForDisallowedTrailingComma(types)) {
@@ -103017,7 +103017,7 @@ var ts;
103017
103017
  if (ts.isIdentifier(node.expression)) {
103018
103018
  var expression = substituteExpressionIdentifier(node.expression);
103019
103019
  noSubstitution[ts.getNodeId(expression)] = true;
103020
- if (!ts.isIdentifier(expression)) {
103020
+ if (!ts.isIdentifier(expression) && !(ts.getEmitFlags(node.expression) & 4096 /* HelperName */)) {
103021
103021
  return ts.addEmitFlags(factory.updateCallExpression(node, expression,
103022
103022
  /*typeArguments*/ undefined, node.arguments), 536870912 /* IndirectCall */);
103023
103023
  }
@@ -103028,7 +103028,7 @@ var ts;
103028
103028
  if (ts.isIdentifier(node.tag)) {
103029
103029
  var tag = substituteExpressionIdentifier(node.tag);
103030
103030
  noSubstitution[ts.getNodeId(tag)] = true;
103031
- if (!ts.isIdentifier(tag)) {
103031
+ if (!ts.isIdentifier(tag) && !(ts.getEmitFlags(node.tag) & 4096 /* HelperName */)) {
103032
103032
  return ts.addEmitFlags(factory.updateTaggedTemplateExpression(node, tag,
103033
103033
  /*typeArguments*/ undefined, node.template), 536870912 /* IndirectCall */);
103034
103034
  }
@@ -113654,6 +113654,7 @@ var ts;
113654
113654
  ts.getImpliedNodeFormatForFile = getImpliedNodeFormatForFile;
113655
113655
  /** @internal */
113656
113656
  ts.plainJSErrors = new ts.Set([
113657
+ // binder errors
113657
113658
  ts.Diagnostics.Cannot_redeclare_block_scoped_variable_0.code,
113658
113659
  ts.Diagnostics.A_module_cannot_have_multiple_default_exports.code,
113659
113660
  ts.Diagnostics.Another_export_default_is_here.code,
@@ -113669,6 +113670,81 @@ var ts;
113669
113670
  ts.Diagnostics.A_label_is_not_allowed_here.code,
113670
113671
  ts.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode.code,
113671
113672
  ts.Diagnostics.with_statements_are_not_allowed_in_strict_mode.code,
113673
+ // grammar errors
113674
+ ts.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement.code,
113675
+ ts.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement.code,
113676
+ ts.Diagnostics.A_class_declaration_without_the_default_modifier_must_have_a_name.code,
113677
+ ts.Diagnostics.A_class_member_cannot_have_the_0_keyword.code,
113678
+ ts.Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name.code,
113679
+ ts.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement.code,
113680
+ ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code,
113681
+ ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code,
113682
+ ts.Diagnostics.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement.code,
113683
+ ts.Diagnostics.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration.code,
113684
+ ts.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context.code,
113685
+ ts.Diagnostics.A_destructuring_declaration_must_have_an_initializer.code,
113686
+ ts.Diagnostics.A_get_accessor_cannot_have_parameters.code,
113687
+ ts.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern.code,
113688
+ ts.Diagnostics.A_rest_element_cannot_have_a_property_name.code,
113689
+ ts.Diagnostics.A_rest_element_cannot_have_an_initializer.code,
113690
+ ts.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern.code,
113691
+ ts.Diagnostics.A_rest_parameter_cannot_have_an_initializer.code,
113692
+ ts.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list.code,
113693
+ ts.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma.code,
113694
+ ts.Diagnostics.A_return_statement_can_only_be_used_within_a_function_body.code,
113695
+ ts.Diagnostics.A_return_statement_cannot_be_used_inside_a_class_static_block.code,
113696
+ ts.Diagnostics.A_set_accessor_cannot_have_rest_parameter.code,
113697
+ ts.Diagnostics.A_set_accessor_must_have_exactly_one_parameter.code,
113698
+ ts.Diagnostics.An_export_declaration_can_only_be_used_in_a_module.code,
113699
+ ts.Diagnostics.An_export_declaration_cannot_have_modifiers.code,
113700
+ ts.Diagnostics.An_import_declaration_can_only_be_used_in_a_namespace_or_module.code,
113701
+ ts.Diagnostics.An_import_declaration_cannot_have_modifiers.code,
113702
+ ts.Diagnostics.An_object_member_cannot_be_declared_optional.code,
113703
+ ts.Diagnostics.Argument_of_dynamic_import_cannot_be_spread_element.code,
113704
+ ts.Diagnostics.Cannot_assign_to_private_method_0_Private_methods_are_not_writable.code,
113705
+ ts.Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause.code,
113706
+ ts.Diagnostics.Catch_clause_variable_cannot_have_an_initializer.code,
113707
+ ts.Diagnostics.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator.code,
113708
+ ts.Diagnostics.Classes_can_only_extend_a_single_class.code,
113709
+ ts.Diagnostics.Classes_may_not_have_a_field_named_constructor.code,
113710
+ ts.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code,
113711
+ ts.Diagnostics.Duplicate_label_0.code,
113712
+ ts.Diagnostics.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments.code,
113713
+ ts.Diagnostics.For_await_loops_cannot_be_used_inside_a_class_static_block.code,
113714
+ ts.Diagnostics.JSX_attributes_must_only_be_assigned_a_non_empty_expression.code,
113715
+ ts.Diagnostics.JSX_elements_cannot_have_multiple_attributes_with_the_same_name.code,
113716
+ ts.Diagnostics.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array.code,
113717
+ ts.Diagnostics.JSX_property_access_expressions_cannot_include_JSX_namespace_names.code,
113718
+ ts.Diagnostics.Jump_target_cannot_cross_function_boundary.code,
113719
+ ts.Diagnostics.Line_terminator_not_permitted_before_arrow.code,
113720
+ ts.Diagnostics.Modifiers_cannot_appear_here.code,
113721
+ ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement.code,
113722
+ ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement.code,
113723
+ ts.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies.code,
113724
+ ts.Diagnostics.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression.code,
113725
+ ts.Diagnostics.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier.code,
113726
+ ts.Diagnostics.Tagged_template_expressions_are_not_permitted_in_an_optional_chain.code,
113727
+ ts.Diagnostics.The_left_hand_side_of_a_for_of_statement_may_not_be_async.code,
113728
+ ts.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer.code,
113729
+ ts.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer.code,
113730
+ ts.Diagnostics.Trailing_comma_not_allowed.code,
113731
+ ts.Diagnostics.Variable_declaration_list_cannot_be_empty.code,
113732
+ ts.Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses.code,
113733
+ ts.Diagnostics._0_expected.code,
113734
+ ts.Diagnostics._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2.code,
113735
+ ts.Diagnostics._0_list_cannot_be_empty.code,
113736
+ ts.Diagnostics._0_modifier_already_seen.code,
113737
+ ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration.code,
113738
+ ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element.code,
113739
+ ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter.code,
113740
+ ts.Diagnostics._0_modifier_cannot_appear_on_class_elements_of_this_kind.code,
113741
+ ts.Diagnostics._0_modifier_cannot_be_used_here.code,
113742
+ ts.Diagnostics._0_modifier_must_precede_1_modifier.code,
113743
+ ts.Diagnostics.const_declarations_can_only_be_declared_inside_a_block.code,
113744
+ ts.Diagnostics.const_declarations_must_be_initialized.code,
113745
+ ts.Diagnostics.extends_clause_already_seen.code,
113746
+ ts.Diagnostics.let_declarations_can_only_be_declared_inside_a_block.code,
113747
+ ts.Diagnostics.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations.code,
113672
113748
  ]);
113673
113749
  /**
113674
113750
  * Determine if source file needs to be re-created even if its text hasn't changed
@@ -114698,9 +114774,10 @@ var ts;
114698
114774
  var includeBindAndCheckDiagnostics = !isTsNoCheck && (sourceFile.scriptKind === 3 /* TS */ || sourceFile.scriptKind === 4 /* TSX */
114699
114775
  || sourceFile.scriptKind === 5 /* External */ || isPlainJs || isCheckJs || sourceFile.scriptKind === 7 /* Deferred */);
114700
114776
  var bindDiagnostics = includeBindAndCheckDiagnostics ? sourceFile.bindDiagnostics : ts.emptyArray;
114701
- var checkDiagnostics = includeBindAndCheckDiagnostics && !isPlainJs ? typeChecker.getDiagnostics(sourceFile, cancellationToken) : ts.emptyArray;
114777
+ var checkDiagnostics = includeBindAndCheckDiagnostics ? typeChecker.getDiagnostics(sourceFile, cancellationToken) : ts.emptyArray;
114702
114778
  if (isPlainJs) {
114703
114779
  bindDiagnostics = ts.filter(bindDiagnostics, function (d) { return ts.plainJSErrors.has(d.code); });
114780
+ checkDiagnostics = ts.filter(checkDiagnostics, function (d) { return ts.plainJSErrors.has(d.code); });
114704
114781
  }
114705
114782
  // skip ts-expect-error errors in plain JS files, and skip JSDoc errors except in checked JS
114706
114783
  return getMergedBindAndCheckDiagnostics(sourceFile, includeBindAndCheckDiagnostics && !isPlainJs, bindDiagnostics, checkDiagnostics, isCheckJs ? sourceFile.jsDocDiagnostics : undefined);
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.6.0-dev.20211208",
5
+ "version": "4.6.0-dev.20211212",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -28,6 +28,7 @@
28
28
  "engines": {
29
29
  "node": ">=4.2.0"
30
30
  },
31
+ "packageManager": "npm@6.14.15",
31
32
  "devDependencies": {
32
33
  "@octokit/rest": "latest",
33
34
  "@types/browserify": "latest",