typescript 5.2.0-dev.20230626 → 5.2.0-dev.20230628
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.
- package/lib/tsc.js +56 -59
- package/lib/tsserver.js +115 -68
- package/lib/tsserverlibrary.d.ts +1 -1
- package/lib/tsserverlibrary.js +115 -68
- package/lib/typescript.d.ts +1 -1
- package/lib/typescript.js +115 -68
- package/lib/typingsInstaller.js +2 -3
- package/package.json +2 -2
package/lib/typescript.js
CHANGED
|
@@ -35,7 +35,7 @@ var ts = (() => {
|
|
|
35
35
|
"src/compiler/corePublic.ts"() {
|
|
36
36
|
"use strict";
|
|
37
37
|
versionMajorMinor = "5.2";
|
|
38
|
-
version = `${versionMajorMinor}.0-dev.
|
|
38
|
+
version = `${versionMajorMinor}.0-dev.20230628`;
|
|
39
39
|
Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
40
40
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
41
41
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -7516,7 +7516,6 @@ ${lanes.join("\n")}
|
|
|
7516
7516
|
This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0: diag(2343, 1 /* Error */, "This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343", "This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),
|
|
7517
7517
|
Type_0_does_not_satisfy_the_constraint_1: diag(2344, 1 /* Error */, "Type_0_does_not_satisfy_the_constraint_1_2344", "Type '{0}' does not satisfy the constraint '{1}'."),
|
|
7518
7518
|
Argument_of_type_0_is_not_assignable_to_parameter_of_type_1: diag(2345, 1 /* Error */, "Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345", "Argument of type '{0}' is not assignable to parameter of type '{1}'."),
|
|
7519
|
-
Call_target_does_not_contain_any_signatures: diag(2346, 1 /* Error */, "Call_target_does_not_contain_any_signatures_2346", "Call target does not contain any signatures."),
|
|
7520
7519
|
Untyped_function_calls_may_not_accept_type_arguments: diag(2347, 1 /* Error */, "Untyped_function_calls_may_not_accept_type_arguments_2347", "Untyped function calls may not accept type arguments."),
|
|
7521
7520
|
Value_of_type_0_is_not_callable_Did_you_mean_to_include_new: diag(2348, 1 /* Error */, "Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348", "Value of type '{0}' is not callable. Did you mean to include 'new'?"),
|
|
7522
7521
|
This_expression_is_not_callable: diag(2349, 1 /* Error */, "This_expression_is_not_callable_2349", "This expression is not callable."),
|
|
@@ -8126,7 +8125,6 @@ ${lanes.join("\n")}
|
|
|
8126
8125
|
Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0: diag(5081, 1 /* Error */, "Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081", "Cannot find a tsconfig.json file at the current directory: {0}."),
|
|
8127
8126
|
_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1: diag(5082, 1 /* Error */, "_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082", "'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),
|
|
8128
8127
|
Cannot_read_file_0: diag(5083, 1 /* Error */, "Cannot_read_file_0_5083", "Cannot read file '{0}'."),
|
|
8129
|
-
Tuple_members_must_all_have_names_or_all_not_have_names: diag(5084, 1 /* Error */, "Tuple_members_must_all_have_names_or_all_not_have_names_5084", "Tuple members must all have names or all not have names."),
|
|
8130
8128
|
A_tuple_member_cannot_be_both_optional_and_rest: diag(5085, 1 /* Error */, "A_tuple_member_cannot_be_both_optional_and_rest_5085", "A tuple member cannot be both optional and rest."),
|
|
8131
8129
|
A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type: diag(5086, 1 /* Error */, "A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086", "A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),
|
|
8132
8130
|
A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type: diag(5087, 1 /* Error */, "A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087", "A labeled tuple element is declared as rest with a '...' before the name, rather than before the type."),
|
|
@@ -9052,6 +9050,7 @@ ${lanes.join("\n")}
|
|
|
9052
9050
|
Inline_variable: diag(95184, 3 /* Message */, "Inline_variable_95184", "Inline variable"),
|
|
9053
9051
|
Could_not_find_variable_to_inline: diag(95185, 3 /* Message */, "Could_not_find_variable_to_inline_95185", "Could not find variable to inline."),
|
|
9054
9052
|
Variables_with_multiple_declarations_cannot_be_inlined: diag(95186, 3 /* Message */, "Variables_with_multiple_declarations_cannot_be_inlined_95186", "Variables with multiple declarations cannot be inlined."),
|
|
9053
|
+
Add_missing_comma_for_object_member_completion_0: diag(95187, 3 /* Message */, "Add_missing_comma_for_object_member_completion_0_95187", "Add missing comma for object member completion '{0}'."),
|
|
9055
9054
|
No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer: diag(18004, 1 /* Error */, "No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004", "No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),
|
|
9056
9055
|
Classes_may_not_have_a_field_named_constructor: diag(18006, 1 /* Error */, "Classes_may_not_have_a_field_named_constructor_18006", "Classes may not have a field named 'constructor'."),
|
|
9057
9056
|
JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array: diag(18007, 1 /* Error */, "JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007", "JSX expressions may not use the comma operator. Did you mean to write an array?"),
|
|
@@ -50407,19 +50406,18 @@ ${lanes.join("\n")}
|
|
|
50407
50406
|
const arity = getTypeReferenceArity(type2);
|
|
50408
50407
|
const tupleConstituentNodes = mapToTypeNodes(typeArguments.slice(0, arity), context);
|
|
50409
50408
|
if (tupleConstituentNodes) {
|
|
50410
|
-
|
|
50411
|
-
|
|
50412
|
-
|
|
50409
|
+
const { labeledElementDeclarations } = type2.target;
|
|
50410
|
+
for (let i = 0; i < tupleConstituentNodes.length; i++) {
|
|
50411
|
+
const flags = type2.target.elementFlags[i];
|
|
50412
|
+
const labeledElementDeclaration = labeledElementDeclarations == null ? void 0 : labeledElementDeclarations[i];
|
|
50413
|
+
if (labeledElementDeclaration) {
|
|
50413
50414
|
tupleConstituentNodes[i] = factory.createNamedTupleMember(
|
|
50414
50415
|
flags & 12 /* Variable */ ? factory.createToken(26 /* DotDotDotToken */) : void 0,
|
|
50415
|
-
factory.createIdentifier(unescapeLeadingUnderscores(getTupleElementLabel(
|
|
50416
|
+
factory.createIdentifier(unescapeLeadingUnderscores(getTupleElementLabel(labeledElementDeclaration))),
|
|
50416
50417
|
flags & 2 /* Optional */ ? factory.createToken(58 /* QuestionToken */) : void 0,
|
|
50417
50418
|
flags & 4 /* Rest */ ? factory.createArrayTypeNode(tupleConstituentNodes[i]) : tupleConstituentNodes[i]
|
|
50418
50419
|
);
|
|
50419
|
-
}
|
|
50420
|
-
} else {
|
|
50421
|
-
for (let i = 0; i < Math.min(arity, tupleConstituentNodes.length); i++) {
|
|
50422
|
-
const flags = type2.target.elementFlags[i];
|
|
50420
|
+
} else {
|
|
50423
50421
|
tupleConstituentNodes[i] = flags & 12 /* Variable */ ? factory.createRestTypeNode(flags & 4 /* Rest */ ? factory.createArrayTypeNode(tupleConstituentNodes[i]) : tupleConstituentNodes[i]) : flags & 2 /* Optional */ ? factory.createOptionalTypeNode(tupleConstituentNodes[i]) : tupleConstituentNodes[i];
|
|
50424
50422
|
}
|
|
50425
50423
|
}
|
|
@@ -55531,17 +55529,18 @@ ${lanes.join("\n")}
|
|
|
55531
55529
|
function getExpandedParameters(sig, skipUnionExpanding) {
|
|
55532
55530
|
if (signatureHasRestParameter(sig)) {
|
|
55533
55531
|
const restIndex = sig.parameters.length - 1;
|
|
55532
|
+
const restName = sig.parameters[restIndex].escapedName;
|
|
55534
55533
|
const restType = getTypeOfSymbol(sig.parameters[restIndex]);
|
|
55535
55534
|
if (isTupleType(restType)) {
|
|
55536
|
-
return [expandSignatureParametersWithTupleMembers(restType, restIndex)];
|
|
55535
|
+
return [expandSignatureParametersWithTupleMembers(restType, restIndex, restName)];
|
|
55537
55536
|
} else if (!skipUnionExpanding && restType.flags & 1048576 /* Union */ && every(restType.types, isTupleType)) {
|
|
55538
|
-
return map(restType.types, (t) => expandSignatureParametersWithTupleMembers(t, restIndex));
|
|
55537
|
+
return map(restType.types, (t) => expandSignatureParametersWithTupleMembers(t, restIndex, restName));
|
|
55539
55538
|
}
|
|
55540
55539
|
}
|
|
55541
55540
|
return [sig.parameters];
|
|
55542
|
-
function expandSignatureParametersWithTupleMembers(restType, restIndex) {
|
|
55543
|
-
const elementTypes =
|
|
55544
|
-
const associatedNames = getUniqAssociatedNamesFromTupleType(restType);
|
|
55541
|
+
function expandSignatureParametersWithTupleMembers(restType, restIndex, restName) {
|
|
55542
|
+
const elementTypes = getTypeArguments(restType);
|
|
55543
|
+
const associatedNames = getUniqAssociatedNamesFromTupleType(restType, restName);
|
|
55545
55544
|
const restParams = map(elementTypes, (t, i) => {
|
|
55546
55545
|
const name = associatedNames && associatedNames[i] ? associatedNames[i] : getParameterNameAtPosition(sig, restIndex + i, restType);
|
|
55547
55546
|
const flags = restType.target.elementFlags[i];
|
|
@@ -55552,10 +55551,10 @@ ${lanes.join("\n")}
|
|
|
55552
55551
|
});
|
|
55553
55552
|
return concatenate(sig.parameters.slice(0, restIndex), restParams);
|
|
55554
55553
|
}
|
|
55555
|
-
function getUniqAssociatedNamesFromTupleType(type) {
|
|
55554
|
+
function getUniqAssociatedNamesFromTupleType(type, restName) {
|
|
55556
55555
|
const associatedNamesMap = /* @__PURE__ */ new Map();
|
|
55557
|
-
return map(type.target.labeledElementDeclarations, (labeledElement) => {
|
|
55558
|
-
const name = getTupleElementLabel(labeledElement);
|
|
55556
|
+
return map(type.target.labeledElementDeclarations, (labeledElement, i) => {
|
|
55557
|
+
const name = getTupleElementLabel(labeledElement, i, restName);
|
|
55559
55558
|
const prevCounter = associatedNamesMap.get(name);
|
|
55560
55559
|
if (prevCounter === void 0) {
|
|
55561
55560
|
associatedNamesMap.set(name, 1);
|
|
@@ -58489,13 +58488,10 @@ ${lanes.join("\n")}
|
|
|
58489
58488
|
return readonly ? globalReadonlyArrayType : globalArrayType;
|
|
58490
58489
|
}
|
|
58491
58490
|
const elementFlags = map(node.elements, getTupleElementFlags);
|
|
58492
|
-
|
|
58493
|
-
|
|
58494
|
-
|
|
58495
|
-
|
|
58496
|
-
/*associatedNames*/
|
|
58497
|
-
missingName ? void 0 : node.elements
|
|
58498
|
-
);
|
|
58491
|
+
return getTupleTargetType(elementFlags, readonly, map(node.elements, memberIfLabeledElementDeclaration));
|
|
58492
|
+
}
|
|
58493
|
+
function memberIfLabeledElementDeclaration(member) {
|
|
58494
|
+
return isNamedTupleMember(member) || isParameter(member) ? member : void 0;
|
|
58499
58495
|
}
|
|
58500
58496
|
function isDeferredTypeReferenceNode(node, hasDefaultTypeArguments) {
|
|
58501
58497
|
return !!getAliasSymbolForTypeNode(node) || isResolvedByTypeAlias(node) && (node.kind === 188 /* ArrayType */ ? mayResolveTypeAlias(node.elementType) : node.kind === 189 /* TupleType */ ? some(node.elements, mayResolveTypeAlias) : hasDefaultTypeArguments || some(node.typeArguments, mayResolveTypeAlias));
|
|
@@ -58570,7 +58566,7 @@ ${lanes.join("\n")}
|
|
|
58570
58566
|
function isReadonlyTypeOperator(node) {
|
|
58571
58567
|
return isTypeOperatorNode(node) && node.operator === 148 /* ReadonlyKeyword */;
|
|
58572
58568
|
}
|
|
58573
|
-
function createTupleType(elementTypes, elementFlags, readonly = false, namedMemberDeclarations) {
|
|
58569
|
+
function createTupleType(elementTypes, elementFlags, readonly = false, namedMemberDeclarations = []) {
|
|
58574
58570
|
const tupleTarget = getTupleTargetType(elementFlags || map(elementTypes, (_) => 1 /* Required */), readonly, namedMemberDeclarations);
|
|
58575
58571
|
return tupleTarget === emptyGenericType ? emptyObjectType : elementTypes.length ? createNormalizedTypeReference(tupleTarget, elementTypes) : tupleTarget;
|
|
58576
58572
|
}
|
|
@@ -58578,7 +58574,8 @@ ${lanes.join("\n")}
|
|
|
58578
58574
|
if (elementFlags.length === 1 && elementFlags[0] & 4 /* Rest */) {
|
|
58579
58575
|
return readonly ? globalReadonlyArrayType : globalArrayType;
|
|
58580
58576
|
}
|
|
58581
|
-
const
|
|
58577
|
+
const memberIds = mapDefined(namedMemberDeclarations, (node) => node ? getNodeId(node) : void 0);
|
|
58578
|
+
const key = map(elementFlags, (f) => f & 1 /* Required */ ? "#" : f & 2 /* Optional */ ? "?" : f & 4 /* Rest */ ? "." : "*").join() + (readonly ? "R" : "") + (memberIds.length ? "," + memberIds.join(",") : "");
|
|
58582
58579
|
let type = tupleTypes.get(key);
|
|
58583
58580
|
if (!type) {
|
|
58584
58581
|
tupleTypes.set(key, type = createTupleTargetType(elementFlags, readonly, namedMemberDeclarations));
|
|
@@ -58660,7 +58657,7 @@ ${lanes.join("\n")}
|
|
|
58660
58657
|
}
|
|
58661
58658
|
const expandedTypes = [];
|
|
58662
58659
|
const expandedFlags = [];
|
|
58663
|
-
|
|
58660
|
+
const expandedDeclarations = [];
|
|
58664
58661
|
let lastRequiredIndex = -1;
|
|
58665
58662
|
let firstRestIndex = -1;
|
|
58666
58663
|
let lastOptionalOrRestIndex = -1;
|
|
@@ -58698,7 +58695,7 @@ ${lanes.join("\n")}
|
|
|
58698
58695
|
));
|
|
58699
58696
|
expandedTypes.splice(firstRestIndex + 1, lastOptionalOrRestIndex - firstRestIndex);
|
|
58700
58697
|
expandedFlags.splice(firstRestIndex + 1, lastOptionalOrRestIndex - firstRestIndex);
|
|
58701
|
-
expandedDeclarations
|
|
58698
|
+
expandedDeclarations.splice(firstRestIndex + 1, lastOptionalOrRestIndex - firstRestIndex);
|
|
58702
58699
|
}
|
|
58703
58700
|
const tupleTarget = getTupleTargetType(expandedFlags, target.readonly, expandedDeclarations);
|
|
58704
58701
|
return tupleTarget === emptyGenericType ? emptyObjectType : expandedFlags.length ? createTypeReference(tupleTarget, expandedTypes) : tupleTarget;
|
|
@@ -58718,11 +58715,7 @@ ${lanes.join("\n")}
|
|
|
58718
58715
|
true
|
|
58719
58716
|
) : type);
|
|
58720
58717
|
expandedFlags.push(flags);
|
|
58721
|
-
|
|
58722
|
-
expandedDeclarations.push(declaration);
|
|
58723
|
-
} else {
|
|
58724
|
-
expandedDeclarations = void 0;
|
|
58725
|
-
}
|
|
58718
|
+
expandedDeclarations.push(declaration);
|
|
58726
58719
|
}
|
|
58727
58720
|
}
|
|
58728
58721
|
function sliceTupleType(type, index, endSkipCount = 0) {
|
|
@@ -63396,7 +63389,6 @@ ${lanes.join("\n")}
|
|
|
63396
63389
|
} else if (targetFlags & 8388608 /* IndexedAccess */) {
|
|
63397
63390
|
if (sourceFlags & 8388608 /* IndexedAccess */) {
|
|
63398
63391
|
if (result2 = isRelatedTo(source2.objectType, target2.objectType, 3 /* Both */, reportErrors2)) {
|
|
63399
|
-
instantiateType(source2.objectType, reportUnreliableMapper);
|
|
63400
63392
|
result2 &= isRelatedTo(source2.indexType, target2.indexType, 3 /* Both */, reportErrors2);
|
|
63401
63393
|
}
|
|
63402
63394
|
if (result2) {
|
|
@@ -64551,7 +64543,7 @@ ${lanes.join("\n")}
|
|
|
64551
64543
|
}
|
|
64552
64544
|
}
|
|
64553
64545
|
}
|
|
64554
|
-
const filtered = contains(include, 0 /* False */) ? getUnionType(types.filter((_, i) => include[i])) : target;
|
|
64546
|
+
const filtered = contains(include, 0 /* False */) ? getUnionType(types.filter((_, i) => include[i]), 0 /* None */) : target;
|
|
64555
64547
|
return filtered.flags & 131072 /* Never */ ? target : filtered;
|
|
64556
64548
|
}
|
|
64557
64549
|
function isWeakType(type) {
|
|
@@ -69081,17 +69073,14 @@ ${lanes.join("\n")}
|
|
|
69081
69073
|
}
|
|
69082
69074
|
}
|
|
69083
69075
|
function getTypeForThisExpressionFromJSDoc(node) {
|
|
69084
|
-
const jsdocType = getJSDocType(node);
|
|
69085
|
-
if (jsdocType && jsdocType.kind === 324 /* JSDocFunctionType */) {
|
|
69086
|
-
const jsDocFunctionType = jsdocType;
|
|
69087
|
-
if (jsDocFunctionType.parameters.length > 0 && jsDocFunctionType.parameters[0].name && jsDocFunctionType.parameters[0].name.escapedText === "this" /* This */) {
|
|
69088
|
-
return getTypeFromTypeNode(jsDocFunctionType.parameters[0].type);
|
|
69089
|
-
}
|
|
69090
|
-
}
|
|
69091
69076
|
const thisTag = getJSDocThisTag(node);
|
|
69092
69077
|
if (thisTag && thisTag.typeExpression) {
|
|
69093
69078
|
return getTypeFromTypeNode(thisTag.typeExpression);
|
|
69094
69079
|
}
|
|
69080
|
+
const signature = getSignatureOfTypeTag(node);
|
|
69081
|
+
if (signature) {
|
|
69082
|
+
return getThisTypeOfSignature(signature);
|
|
69083
|
+
}
|
|
69095
69084
|
}
|
|
69096
69085
|
function isInConstructorArgumentInitializer(node, constructorDecl) {
|
|
69097
69086
|
return !!findAncestor(node, (n) => isFunctionLikeDeclaration(n) ? "quit" : n.kind === 169 /* Parameter */ && n.parent === constructorDecl);
|
|
@@ -72993,12 +72982,7 @@ ${lanes.join("\n")}
|
|
|
72993
72982
|
}
|
|
72994
72983
|
const candidates = candidatesOutArray || [];
|
|
72995
72984
|
reorderCandidates(signatures, candidates, callChainFlags);
|
|
72996
|
-
|
|
72997
|
-
if (reportErrors2) {
|
|
72998
|
-
diagnostics.add(getDiagnosticForCallNode(node, Diagnostics.Call_target_does_not_contain_any_signatures));
|
|
72999
|
-
}
|
|
73000
|
-
return resolveErrorCall(node);
|
|
73001
|
-
}
|
|
72985
|
+
Debug.assert(candidates.length, "Revert #54442 and add a testcase with whatever triggered this");
|
|
73002
72986
|
const args = getEffectiveCallArguments(node);
|
|
73003
72987
|
const isSingleNonGenericCandidate = candidates.length === 1 && !candidates[0].typeParameters;
|
|
73004
72988
|
let argCheckMode = !isDecorator2 && !isSingleNonGenericCandidate && some(args, isContextSensitive) ? 4 /* SkipContextSensitive */ : 0 /* Normal */;
|
|
@@ -74450,7 +74434,10 @@ ${lanes.join("\n")}
|
|
|
74450
74434
|
}
|
|
74451
74435
|
return type;
|
|
74452
74436
|
}
|
|
74453
|
-
function getTupleElementLabel(d) {
|
|
74437
|
+
function getTupleElementLabel(d, index, restParameterName = "arg") {
|
|
74438
|
+
if (!d) {
|
|
74439
|
+
return `${restParameterName}_${index}`;
|
|
74440
|
+
}
|
|
74454
74441
|
Debug.assert(isIdentifier(d.name));
|
|
74455
74442
|
return d.name.escapedText;
|
|
74456
74443
|
}
|
|
@@ -74464,7 +74451,7 @@ ${lanes.join("\n")}
|
|
|
74464
74451
|
if (isTupleType(restType)) {
|
|
74465
74452
|
const associatedNames = restType.target.labeledElementDeclarations;
|
|
74466
74453
|
const index = pos - paramCount;
|
|
74467
|
-
return associatedNames
|
|
74454
|
+
return getTupleElementLabel(associatedNames == null ? void 0 : associatedNames[index], index, restParameter.escapedName);
|
|
74468
74455
|
}
|
|
74469
74456
|
return restParameter.escapedName;
|
|
74470
74457
|
}
|
|
@@ -77819,12 +77806,7 @@ ${lanes.join("\n")}
|
|
|
77819
77806
|
const elementTypes = node.elements;
|
|
77820
77807
|
let seenOptionalElement = false;
|
|
77821
77808
|
let seenRestElement = false;
|
|
77822
|
-
const hasNamedElement = some(elementTypes, isNamedTupleMember);
|
|
77823
77809
|
for (const e of elementTypes) {
|
|
77824
|
-
if (e.kind !== 202 /* NamedTupleMember */ && hasNamedElement) {
|
|
77825
|
-
grammarErrorOnNode(e, Diagnostics.Tuple_members_must_all_have_names_or_all_not_have_names);
|
|
77826
|
-
break;
|
|
77827
|
-
}
|
|
77828
77810
|
const flags = getTupleElementFlags(e);
|
|
77829
77811
|
if (flags & 8 /* Variadic */) {
|
|
77830
77812
|
const type = getTypeFromTypeNode(e.type);
|
|
@@ -110460,6 +110442,21 @@ ${lanes.join("\n")}
|
|
|
110460
110442
|
const modifiers = factory2.createModifiersFromModifierFlags(getEffectiveModifierFlags(statement) & (258047 /* All */ ^ 1 /* Export */));
|
|
110461
110443
|
return factory2.updateModifiers(statement, modifiers);
|
|
110462
110444
|
}
|
|
110445
|
+
function updateModuleDeclarationAndKeyword(node, modifiers, name, body) {
|
|
110446
|
+
const updated = factory2.updateModuleDeclaration(node, modifiers, name, body);
|
|
110447
|
+
if (isAmbientModule(updated) || updated.flags & 32 /* Namespace */) {
|
|
110448
|
+
return updated;
|
|
110449
|
+
}
|
|
110450
|
+
const fixed = factory2.createModuleDeclaration(
|
|
110451
|
+
updated.modifiers,
|
|
110452
|
+
updated.name,
|
|
110453
|
+
updated.body,
|
|
110454
|
+
updated.flags | 32 /* Namespace */
|
|
110455
|
+
);
|
|
110456
|
+
setOriginalNode(fixed, updated);
|
|
110457
|
+
setTextRange(fixed, updated);
|
|
110458
|
+
return fixed;
|
|
110459
|
+
}
|
|
110463
110460
|
function transformTopLevelDeclaration(input) {
|
|
110464
110461
|
if (lateMarkedStatements) {
|
|
110465
110462
|
while (orderedRemoveItem(lateMarkedStatements, input))
|
|
@@ -110647,7 +110644,7 @@ ${lanes.join("\n")}
|
|
|
110647
110644
|
needsScopeFixMarker = oldNeedsScopeFix;
|
|
110648
110645
|
resultHasScopeMarker = oldHasScopeFix;
|
|
110649
110646
|
const mods = ensureModifiers(input);
|
|
110650
|
-
return cleanup(
|
|
110647
|
+
return cleanup(updateModuleDeclarationAndKeyword(
|
|
110651
110648
|
input,
|
|
110652
110649
|
mods,
|
|
110653
110650
|
isExternalModuleAugmentation(input) ? rewriteModuleSpecifier(input, input.name) : input.name,
|
|
@@ -110661,7 +110658,7 @@ ${lanes.join("\n")}
|
|
|
110661
110658
|
const id = getOriginalNodeId(inner);
|
|
110662
110659
|
const body = lateStatementReplacementMap.get(id);
|
|
110663
110660
|
lateStatementReplacementMap.delete(id);
|
|
110664
|
-
return cleanup(
|
|
110661
|
+
return cleanup(updateModuleDeclarationAndKeyword(
|
|
110665
110662
|
input,
|
|
110666
110663
|
mods,
|
|
110667
110664
|
input.name,
|
|
@@ -136396,7 +136393,10 @@ ${lanes.join("\n")}
|
|
|
136396
136393
|
if (isExpression(parent2) && (getExpressionPrecedence(replacement) < getExpressionPrecedence(parent2) || needsParentheses(parent2))) {
|
|
136397
136394
|
return factory.createParenthesizedExpression(replacement);
|
|
136398
136395
|
}
|
|
136399
|
-
if (isFunctionLike(replacement) && isCallLikeExpression(parent2)) {
|
|
136396
|
+
if (isFunctionLike(replacement) && (isCallLikeExpression(parent2) || isPropertyAccessExpression(parent2))) {
|
|
136397
|
+
return factory.createParenthesizedExpression(replacement);
|
|
136398
|
+
}
|
|
136399
|
+
if (isPropertyAccessExpression(parent2) && (isNumericLiteral(replacement) || isObjectLiteralExpression(replacement))) {
|
|
136400
136400
|
return factory.createParenthesizedExpression(replacement);
|
|
136401
136401
|
}
|
|
136402
136402
|
return replacement;
|
|
@@ -156787,6 +156787,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
156787
156787
|
return { name: completionNameForLiteral(sourceFile, preferences, literal), kind: "string" /* string */, kindModifiers: "" /* none */, sortText: SortText.LocationPriority };
|
|
156788
156788
|
}
|
|
156789
156789
|
function createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, position, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importStatementCompletion, useSemicolons, options, preferences, completionKind, formatContext, isJsxIdentifierExpected, isRightOfOpenTag, includeSymbol) {
|
|
156790
|
+
var _a, _b;
|
|
156790
156791
|
let insertText;
|
|
156791
156792
|
let filterText;
|
|
156792
156793
|
let replacementSpan = getReplacementSpanForContextToken(replacementToken);
|
|
@@ -156845,6 +156846,12 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
156845
156846
|
if ((origin == null ? void 0 : origin.kind) === 64 /* TypeOnlyAlias */) {
|
|
156846
156847
|
hasAction = true;
|
|
156847
156848
|
}
|
|
156849
|
+
if (completionKind === 0 /* ObjectPropertyDeclaration */ && contextToken && ((_a = findPrecedingToken(contextToken.pos, sourceFile, contextToken)) == null ? void 0 : _a.kind) !== 28 /* CommaToken */) {
|
|
156850
|
+
if (isMethodDeclaration(contextToken.parent.parent) || isGetAccessorDeclaration(contextToken.parent.parent) || isSetAccessorDeclaration(contextToken.parent.parent) || isSpreadAssignment(contextToken.parent) || ((_b = findAncestor(contextToken.parent, isPropertyAssignment)) == null ? void 0 : _b.getLastToken(sourceFile)) === contextToken || isShorthandPropertyAssignment(contextToken.parent) && getLineAndCharacterOfPosition(sourceFile, contextToken.getEnd()).line !== getLineAndCharacterOfPosition(sourceFile, position).line) {
|
|
156851
|
+
source = "ObjectLiteralMemberWithComma/" /* ObjectLiteralMemberWithComma */;
|
|
156852
|
+
hasAction = true;
|
|
156853
|
+
}
|
|
156854
|
+
}
|
|
156848
156855
|
if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && completionKind === 3 /* MemberLike */ && isClassLikeMemberCompletion(symbol, location, sourceFile)) {
|
|
156849
156856
|
let importAdder;
|
|
156850
156857
|
const memberCompletionEntry = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, position, contextToken, formatContext);
|
|
@@ -157408,7 +157415,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
157408
157415
|
}
|
|
157409
157416
|
function getCompletionEntriesFromSymbols(symbols, entries, replacementToken, contextToken, location, position, sourceFile, host, program, target, log, kind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, jsxIdentifierExpected, isJsxInitializer, importStatementCompletion, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextMap, isJsxIdentifierExpected, isRightOfOpenTag, includeSymbol = false) {
|
|
157410
157417
|
const start = timestamp();
|
|
157411
|
-
const variableOrParameterDeclaration = getVariableOrParameterDeclaration(contextToken);
|
|
157418
|
+
const variableOrParameterDeclaration = getVariableOrParameterDeclaration(contextToken, location);
|
|
157412
157419
|
const useSemicolons = probablyUsesSemicolons(sourceFile);
|
|
157413
157420
|
const typeChecker = program.getTypeChecker();
|
|
157414
157421
|
const uniques = /* @__PURE__ */ new Map();
|
|
@@ -157575,7 +157582,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
157575
157582
|
return firstDefined(symbols, (symbol, index) => {
|
|
157576
157583
|
const origin = symbolToOriginInfoMap[index];
|
|
157577
157584
|
const info = getCompletionEntryDisplayNameForSymbol(symbol, getEmitScriptTarget(compilerOptions), origin, completionKind, completionData.isJsxIdentifierExpected);
|
|
157578
|
-
return info && info.name === entryId.name && (entryId.source === "ClassMemberSnippet/" /* ClassMemberSnippet */ && symbol.flags & 106500 /* ClassMember */ || entryId.source === "ObjectLiteralMethodSnippet/" /* ObjectLiteralMethodSnippet */ && symbol.flags & (4 /* Property */ | 8192 /* Method */) || getSourceFromOrigin(origin) === entryId.source) ? { type: "symbol", symbol, location, origin, contextToken, previousToken, isJsxInitializer, isTypeOnlyLocation } : void 0;
|
|
157585
|
+
return info && info.name === entryId.name && (entryId.source === "ClassMemberSnippet/" /* ClassMemberSnippet */ && symbol.flags & 106500 /* ClassMember */ || entryId.source === "ObjectLiteralMethodSnippet/" /* ObjectLiteralMethodSnippet */ && symbol.flags & (4 /* Property */ | 8192 /* Method */) || getSourceFromOrigin(origin) === entryId.source || entryId.source === "ObjectLiteralMemberWithComma/" /* ObjectLiteralMemberWithComma */) ? { type: "symbol", symbol, location, origin, contextToken, previousToken, isJsxInitializer, isTypeOnlyLocation } : void 0;
|
|
157579
157586
|
}) || { type: "none" };
|
|
157580
157587
|
}
|
|
157581
157588
|
function getCompletionEntryDetails(program, log, sourceFile, position, entryId, host, formatContext, preferences, cancellationToken) {
|
|
@@ -157720,6 +157727,21 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
157720
157727
|
Debug.assertIsDefined(codeAction2, "Expected to have a code action for promoting type-only alias");
|
|
157721
157728
|
return { codeActions: [codeAction2], sourceDisplay: void 0 };
|
|
157722
157729
|
}
|
|
157730
|
+
if (source === "ObjectLiteralMemberWithComma/" /* ObjectLiteralMemberWithComma */ && contextToken) {
|
|
157731
|
+
const changes = ts_textChanges_exports.ChangeTracker.with(
|
|
157732
|
+
{ host, formatContext, preferences },
|
|
157733
|
+
(tracker) => tracker.insertText(sourceFile, contextToken.end, ",")
|
|
157734
|
+
);
|
|
157735
|
+
if (changes) {
|
|
157736
|
+
return {
|
|
157737
|
+
sourceDisplay: void 0,
|
|
157738
|
+
codeActions: [{
|
|
157739
|
+
changes,
|
|
157740
|
+
description: diagnosticToString([Diagnostics.Add_missing_comma_for_object_member_completion_0, name])
|
|
157741
|
+
}]
|
|
157742
|
+
};
|
|
157743
|
+
}
|
|
157744
|
+
}
|
|
157723
157745
|
if (!origin || !(originIsExport(origin) || originIsResolvedExport(origin))) {
|
|
157724
157746
|
return { codeActions: void 0, sourceDisplay: void 0 };
|
|
157725
157747
|
}
|
|
@@ -158617,7 +158639,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
158617
158639
|
}
|
|
158618
158640
|
function tryGetObjectLikeCompletionSymbols() {
|
|
158619
158641
|
const symbolsStartIndex = symbols.length;
|
|
158620
|
-
const objectLikeContainer = tryGetObjectLikeCompletionContainer(contextToken);
|
|
158642
|
+
const objectLikeContainer = tryGetObjectLikeCompletionContainer(contextToken, position, sourceFile);
|
|
158621
158643
|
if (!objectLikeContainer)
|
|
158622
158644
|
return 0 /* Continue */;
|
|
158623
158645
|
completionKind = 0 /* ObjectPropertyDeclaration */;
|
|
@@ -159103,7 +159125,8 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
159103
159125
|
return node2.getStart(sourceFile) <= position && position <= node2.getEnd();
|
|
159104
159126
|
}
|
|
159105
159127
|
}
|
|
159106
|
-
function tryGetObjectLikeCompletionContainer(contextToken) {
|
|
159128
|
+
function tryGetObjectLikeCompletionContainer(contextToken, position, sourceFile) {
|
|
159129
|
+
var _a;
|
|
159107
159130
|
if (contextToken) {
|
|
159108
159131
|
const { parent: parent2 } = contextToken;
|
|
159109
159132
|
switch (contextToken.kind) {
|
|
@@ -159118,7 +159141,29 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
159118
159141
|
case 134 /* AsyncKeyword */:
|
|
159119
159142
|
return tryCast(parent2.parent, isObjectLiteralExpression);
|
|
159120
159143
|
case 80 /* Identifier */:
|
|
159121
|
-
|
|
159144
|
+
if (contextToken.text === "async" && isShorthandPropertyAssignment(contextToken.parent)) {
|
|
159145
|
+
return contextToken.parent.parent;
|
|
159146
|
+
} else {
|
|
159147
|
+
if (isObjectLiteralExpression(contextToken.parent.parent) && (isSpreadAssignment(contextToken.parent) || isShorthandPropertyAssignment(contextToken.parent) && getLineAndCharacterOfPosition(sourceFile, contextToken.getEnd()).line !== getLineAndCharacterOfPosition(sourceFile, position).line)) {
|
|
159148
|
+
return contextToken.parent.parent;
|
|
159149
|
+
}
|
|
159150
|
+
const ancestorNode2 = findAncestor(parent2, isPropertyAssignment);
|
|
159151
|
+
if ((ancestorNode2 == null ? void 0 : ancestorNode2.getLastToken(sourceFile)) === contextToken && isObjectLiteralExpression(ancestorNode2.parent)) {
|
|
159152
|
+
return ancestorNode2.parent;
|
|
159153
|
+
}
|
|
159154
|
+
}
|
|
159155
|
+
break;
|
|
159156
|
+
default:
|
|
159157
|
+
if (((_a = parent2.parent) == null ? void 0 : _a.parent) && (isMethodDeclaration(parent2.parent) || isGetAccessorDeclaration(parent2.parent) || isSetAccessorDeclaration(parent2.parent)) && isObjectLiteralExpression(parent2.parent.parent)) {
|
|
159158
|
+
return parent2.parent.parent;
|
|
159159
|
+
}
|
|
159160
|
+
if (isSpreadAssignment(parent2) && isObjectLiteralExpression(parent2.parent)) {
|
|
159161
|
+
return parent2.parent;
|
|
159162
|
+
}
|
|
159163
|
+
const ancestorNode = findAncestor(parent2, isPropertyAssignment);
|
|
159164
|
+
if (contextToken.kind !== 59 /* ColonToken */ && (ancestorNode == null ? void 0 : ancestorNode.getLastToken(sourceFile)) === contextToken && isObjectLiteralExpression(ancestorNode.parent)) {
|
|
159165
|
+
return ancestorNode.parent;
|
|
159166
|
+
}
|
|
159122
159167
|
}
|
|
159123
159168
|
}
|
|
159124
159169
|
return void 0;
|
|
@@ -159572,11 +159617,12 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
159572
159617
|
return true;
|
|
159573
159618
|
return !((_a = tryCast(isExternalModuleReference(specifier) ? specifier.expression : specifier, isStringLiteralLike)) == null ? void 0 : _a.text);
|
|
159574
159619
|
}
|
|
159575
|
-
function getVariableOrParameterDeclaration(contextToken) {
|
|
159620
|
+
function getVariableOrParameterDeclaration(contextToken, location) {
|
|
159576
159621
|
if (!contextToken)
|
|
159577
159622
|
return;
|
|
159578
|
-
const
|
|
159579
|
-
|
|
159623
|
+
const possiblyParameterDeclaration = findAncestor(contextToken, (node) => isFunctionBlock(node) || isArrowFunctionBody(node) || isBindingPattern(node) ? "quit" : (isParameter(node) || isTypeParameterDeclaration(node)) && !isIndexSignatureDeclaration(node.parent));
|
|
159624
|
+
const possiblyVariableDeclaration = findAncestor(location, (node) => isFunctionBlock(node) || isArrowFunctionBody(node) || isBindingPattern(node) ? "quit" : isVariableDeclaration(node));
|
|
159625
|
+
return possiblyParameterDeclaration || possiblyVariableDeclaration;
|
|
159580
159626
|
}
|
|
159581
159627
|
function isArrowFunctionBody(node) {
|
|
159582
159628
|
return node.parent && isArrowFunction(node.parent) && (node.parent.body === node || // const a = () => /**/;
|
|
@@ -159660,6 +159706,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
159660
159706
|
CompletionSource2["TypeOnlyAlias"] = "TypeOnlyAlias/";
|
|
159661
159707
|
CompletionSource2["ObjectLiteralMethodSnippet"] = "ObjectLiteralMethodSnippet/";
|
|
159662
159708
|
CompletionSource2["SwitchCases"] = "SwitchCases/";
|
|
159709
|
+
CompletionSource2["ObjectLiteralMemberWithComma"] = "ObjectLiteralMemberWithComma/";
|
|
159663
159710
|
return CompletionSource2;
|
|
159664
159711
|
})(CompletionSource || {});
|
|
159665
159712
|
SymbolOriginInfoKind = /* @__PURE__ */ ((SymbolOriginInfoKind2) => {
|
package/lib/typingsInstaller.js
CHANGED
|
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
|
|
|
54
54
|
|
|
55
55
|
// src/compiler/corePublic.ts
|
|
56
56
|
var versionMajorMinor = "5.2";
|
|
57
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
57
|
+
var version = `${versionMajorMinor}.0-dev.20230628`;
|
|
58
58
|
|
|
59
59
|
// src/compiler/core.ts
|
|
60
60
|
var emptyArray = [];
|
|
@@ -5586,7 +5586,6 @@ var Diagnostics = {
|
|
|
5586
5586
|
This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0: diag(2343, 1 /* Error */, "This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343", "This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),
|
|
5587
5587
|
Type_0_does_not_satisfy_the_constraint_1: diag(2344, 1 /* Error */, "Type_0_does_not_satisfy_the_constraint_1_2344", "Type '{0}' does not satisfy the constraint '{1}'."),
|
|
5588
5588
|
Argument_of_type_0_is_not_assignable_to_parameter_of_type_1: diag(2345, 1 /* Error */, "Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345", "Argument of type '{0}' is not assignable to parameter of type '{1}'."),
|
|
5589
|
-
Call_target_does_not_contain_any_signatures: diag(2346, 1 /* Error */, "Call_target_does_not_contain_any_signatures_2346", "Call target does not contain any signatures."),
|
|
5590
5589
|
Untyped_function_calls_may_not_accept_type_arguments: diag(2347, 1 /* Error */, "Untyped_function_calls_may_not_accept_type_arguments_2347", "Untyped function calls may not accept type arguments."),
|
|
5591
5590
|
Value_of_type_0_is_not_callable_Did_you_mean_to_include_new: diag(2348, 1 /* Error */, "Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348", "Value of type '{0}' is not callable. Did you mean to include 'new'?"),
|
|
5592
5591
|
This_expression_is_not_callable: diag(2349, 1 /* Error */, "This_expression_is_not_callable_2349", "This expression is not callable."),
|
|
@@ -6196,7 +6195,6 @@ var Diagnostics = {
|
|
|
6196
6195
|
Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0: diag(5081, 1 /* Error */, "Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081", "Cannot find a tsconfig.json file at the current directory: {0}."),
|
|
6197
6196
|
_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1: diag(5082, 1 /* Error */, "_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082", "'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),
|
|
6198
6197
|
Cannot_read_file_0: diag(5083, 1 /* Error */, "Cannot_read_file_0_5083", "Cannot read file '{0}'."),
|
|
6199
|
-
Tuple_members_must_all_have_names_or_all_not_have_names: diag(5084, 1 /* Error */, "Tuple_members_must_all_have_names_or_all_not_have_names_5084", "Tuple members must all have names or all not have names."),
|
|
6200
6198
|
A_tuple_member_cannot_be_both_optional_and_rest: diag(5085, 1 /* Error */, "A_tuple_member_cannot_be_both_optional_and_rest_5085", "A tuple member cannot be both optional and rest."),
|
|
6201
6199
|
A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type: diag(5086, 1 /* Error */, "A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086", "A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),
|
|
6202
6200
|
A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type: diag(5087, 1 /* Error */, "A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087", "A labeled tuple element is declared as rest with a '...' before the name, rather than before the type."),
|
|
@@ -7122,6 +7120,7 @@ var Diagnostics = {
|
|
|
7122
7120
|
Inline_variable: diag(95184, 3 /* Message */, "Inline_variable_95184", "Inline variable"),
|
|
7123
7121
|
Could_not_find_variable_to_inline: diag(95185, 3 /* Message */, "Could_not_find_variable_to_inline_95185", "Could not find variable to inline."),
|
|
7124
7122
|
Variables_with_multiple_declarations_cannot_be_inlined: diag(95186, 3 /* Message */, "Variables_with_multiple_declarations_cannot_be_inlined_95186", "Variables with multiple declarations cannot be inlined."),
|
|
7123
|
+
Add_missing_comma_for_object_member_completion_0: diag(95187, 3 /* Message */, "Add_missing_comma_for_object_member_completion_0_95187", "Add missing comma for object member completion '{0}'."),
|
|
7125
7124
|
No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer: diag(18004, 1 /* Error */, "No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004", "No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),
|
|
7126
7125
|
Classes_may_not_have_a_field_named_constructor: diag(18006, 1 /* Error */, "Classes_may_not_have_a_field_named_constructor_18006", "Classes may not have a field named 'constructor'."),
|
|
7127
7126
|
JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array: diag(18007, 1 /* Error */, "JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007", "JSX expressions may not use the comma operator. Did you mean to write an array?"),
|
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": "5.2.0-dev.
|
|
5
|
+
"version": "5.2.0-dev.20230628",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|
|
@@ -114,5 +114,5 @@
|
|
|
114
114
|
"node": "20.1.0",
|
|
115
115
|
"npm": "8.19.4"
|
|
116
116
|
},
|
|
117
|
-
"gitHead": "
|
|
117
|
+
"gitHead": "6696ecd37e4ca228e9baef28f1f7123746ccb635"
|
|
118
118
|
}
|