@typescript-deploys/pr-build 5.3.0-pr-56123-2 → 5.3.0-pr-56131-2
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 +9 -11
- package/lib/tsserver.js +144 -59
- package/lib/typescript.js +144 -59
- package/lib/typingsInstaller.js +3 -3
- package/package.json +2 -2
package/lib/tsc.js
CHANGED
|
@@ -13878,9 +13878,9 @@ function ownsJSDocTag(hostNode, tag) {
|
|
|
13878
13878
|
}
|
|
13879
13879
|
function getNextJSDocCommentLocation(node) {
|
|
13880
13880
|
const parent = node.parent;
|
|
13881
|
-
if (parent.kind === 303 /* PropertyAssignment */ || parent.kind === 277 /* ExportAssignment */ || parent.kind === 172 /* PropertyDeclaration */ || parent.kind === 244 /* ExpressionStatement */ && node.kind === 211 /* PropertyAccessExpression */ || parent.kind === 253 /* ReturnStatement */ || getNestedModuleDeclaration(parent) ||
|
|
13881
|
+
if (parent.kind === 303 /* PropertyAssignment */ || parent.kind === 277 /* ExportAssignment */ || parent.kind === 172 /* PropertyDeclaration */ || parent.kind === 244 /* ExpressionStatement */ && node.kind === 211 /* PropertyAccessExpression */ || parent.kind === 253 /* ReturnStatement */ || getNestedModuleDeclaration(parent) || isAssignmentExpression(node)) {
|
|
13882
13882
|
return parent;
|
|
13883
|
-
} else if (parent.parent && (getSingleVariableOfVariableStatement(parent.parent) === node ||
|
|
13883
|
+
} else if (parent.parent && (getSingleVariableOfVariableStatement(parent.parent) === node || isAssignmentExpression(parent))) {
|
|
13884
13884
|
return parent.parent;
|
|
13885
13885
|
} else if (parent.parent && parent.parent.parent && (getSingleVariableOfVariableStatement(parent.parent.parent) || getSingleInitializerOfVariableStatementOrPropertyDeclaration(parent.parent.parent) === node || getSourceOfDefaultedAssignment(parent.parent.parent))) {
|
|
13886
13886
|
return parent.parent.parent;
|
|
@@ -34843,7 +34843,7 @@ var commandOptionsWithoutBuild = [
|
|
|
34843
34843
|
affectsBuildInfo: true,
|
|
34844
34844
|
affectsDeclarationPath: true,
|
|
34845
34845
|
isFilePath: false,
|
|
34846
|
-
// This is intentionally broken to support
|
|
34846
|
+
// This is intentionally broken to support compatibility with existing tsconfig files
|
|
34847
34847
|
// for correct behaviour, please use outFile
|
|
34848
34848
|
category: Diagnostics.Backwards_Compatibility,
|
|
34849
34849
|
paramType: Diagnostics.FILE,
|
|
@@ -67350,7 +67350,7 @@ function createTypeChecker(host) {
|
|
|
67350
67350
|
return getWidenedType(contextualType ? getNonNullableType(contextualType) : checkExpressionCached(containingLiteral));
|
|
67351
67351
|
}
|
|
67352
67352
|
const parent = walkUpParenthesizedExpressions(func.parent);
|
|
67353
|
-
if (parent
|
|
67353
|
+
if (isAssignmentExpression(parent)) {
|
|
67354
67354
|
const target = parent.left;
|
|
67355
67355
|
if (isAccessExpression(target)) {
|
|
67356
67356
|
const { expression } = target;
|
|
@@ -73543,12 +73543,7 @@ function createTypeChecker(host) {
|
|
|
73543
73543
|
}
|
|
73544
73544
|
}
|
|
73545
73545
|
if (contextualSignature && !getReturnTypeFromAnnotation(node) && !signature.resolvedReturnType) {
|
|
73546
|
-
const
|
|
73547
|
-
node,
|
|
73548
|
-
/*contextFlags*/
|
|
73549
|
-
void 0
|
|
73550
|
-
);
|
|
73551
|
-
const returnType = contextualReturnType && contextualReturnType.flags & (3 /* AnyOrUnknown */ | 16384 /* Void */) ? contextualReturnType : getReturnTypeFromBody(node, checkMode);
|
|
73546
|
+
const returnType = getReturnTypeFromBody(node, checkMode);
|
|
73552
73547
|
if (!signature.resolvedReturnType) {
|
|
73553
73548
|
signature.resolvedReturnType = returnType;
|
|
73554
73549
|
}
|
|
@@ -73709,7 +73704,7 @@ function createTypeChecker(host) {
|
|
|
73709
73704
|
return typeofType;
|
|
73710
73705
|
}
|
|
73711
73706
|
function checkVoidExpression(node) {
|
|
73712
|
-
|
|
73707
|
+
checkNodeDeferred(node);
|
|
73713
73708
|
return undefinedWideningType;
|
|
73714
73709
|
}
|
|
73715
73710
|
function checkAwaitGrammar(node) {
|
|
@@ -80905,6 +80900,9 @@ function createTypeChecker(host) {
|
|
|
80905
80900
|
case 217 /* ParenthesizedExpression */:
|
|
80906
80901
|
checkAssertionDeferred(node);
|
|
80907
80902
|
break;
|
|
80903
|
+
case 222 /* VoidExpression */:
|
|
80904
|
+
checkExpression(node.expression);
|
|
80905
|
+
break;
|
|
80908
80906
|
case 226 /* BinaryExpression */:
|
|
80909
80907
|
if (isInstanceOfExpression(node)) {
|
|
80910
80908
|
resolveUntypedCall(node);
|
package/lib/tsserver.js
CHANGED
|
@@ -17745,9 +17745,9 @@ function ownsJSDocTag(hostNode, tag) {
|
|
|
17745
17745
|
}
|
|
17746
17746
|
function getNextJSDocCommentLocation(node) {
|
|
17747
17747
|
const parent2 = node.parent;
|
|
17748
|
-
if (parent2.kind === 303 /* PropertyAssignment */ || parent2.kind === 277 /* ExportAssignment */ || parent2.kind === 172 /* PropertyDeclaration */ || parent2.kind === 244 /* ExpressionStatement */ && node.kind === 211 /* PropertyAccessExpression */ || parent2.kind === 253 /* ReturnStatement */ || getNestedModuleDeclaration(parent2) ||
|
|
17748
|
+
if (parent2.kind === 303 /* PropertyAssignment */ || parent2.kind === 277 /* ExportAssignment */ || parent2.kind === 172 /* PropertyDeclaration */ || parent2.kind === 244 /* ExpressionStatement */ && node.kind === 211 /* PropertyAccessExpression */ || parent2.kind === 253 /* ReturnStatement */ || getNestedModuleDeclaration(parent2) || isAssignmentExpression(node)) {
|
|
17749
17749
|
return parent2;
|
|
17750
|
-
} else if (parent2.parent && (getSingleVariableOfVariableStatement(parent2.parent) === node ||
|
|
17750
|
+
} else if (parent2.parent && (getSingleVariableOfVariableStatement(parent2.parent) === node || isAssignmentExpression(parent2))) {
|
|
17751
17751
|
return parent2.parent;
|
|
17752
17752
|
} else if (parent2.parent && parent2.parent.parent && (getSingleVariableOfVariableStatement(parent2.parent.parent) || getSingleInitializerOfVariableStatementOrPropertyDeclaration(parent2.parent.parent) === node || getSourceOfDefaultedAssignment(parent2.parent.parent))) {
|
|
17753
17753
|
return parent2.parent.parent;
|
|
@@ -39247,7 +39247,7 @@ var commandOptionsWithoutBuild = [
|
|
|
39247
39247
|
affectsBuildInfo: true,
|
|
39248
39248
|
affectsDeclarationPath: true,
|
|
39249
39249
|
isFilePath: false,
|
|
39250
|
-
// This is intentionally broken to support
|
|
39250
|
+
// This is intentionally broken to support compatibility with existing tsconfig files
|
|
39251
39251
|
// for correct behaviour, please use outFile
|
|
39252
39252
|
category: Diagnostics.Backwards_Compatibility,
|
|
39253
39253
|
paramType: Diagnostics.FILE,
|
|
@@ -72062,7 +72062,7 @@ function createTypeChecker(host) {
|
|
|
72062
72062
|
return getWidenedType(contextualType ? getNonNullableType(contextualType) : checkExpressionCached(containingLiteral));
|
|
72063
72063
|
}
|
|
72064
72064
|
const parent2 = walkUpParenthesizedExpressions(func.parent);
|
|
72065
|
-
if (parent2
|
|
72065
|
+
if (isAssignmentExpression(parent2)) {
|
|
72066
72066
|
const target = parent2.left;
|
|
72067
72067
|
if (isAccessExpression(target)) {
|
|
72068
72068
|
const { expression } = target;
|
|
@@ -78255,12 +78255,7 @@ function createTypeChecker(host) {
|
|
|
78255
78255
|
}
|
|
78256
78256
|
}
|
|
78257
78257
|
if (contextualSignature && !getReturnTypeFromAnnotation(node) && !signature.resolvedReturnType) {
|
|
78258
|
-
const
|
|
78259
|
-
node,
|
|
78260
|
-
/*contextFlags*/
|
|
78261
|
-
void 0
|
|
78262
|
-
);
|
|
78263
|
-
const returnType = contextualReturnType && contextualReturnType.flags & (3 /* AnyOrUnknown */ | 16384 /* Void */) ? contextualReturnType : getReturnTypeFromBody(node, checkMode);
|
|
78258
|
+
const returnType = getReturnTypeFromBody(node, checkMode);
|
|
78264
78259
|
if (!signature.resolvedReturnType) {
|
|
78265
78260
|
signature.resolvedReturnType = returnType;
|
|
78266
78261
|
}
|
|
@@ -78421,7 +78416,7 @@ function createTypeChecker(host) {
|
|
|
78421
78416
|
return typeofType;
|
|
78422
78417
|
}
|
|
78423
78418
|
function checkVoidExpression(node) {
|
|
78424
|
-
|
|
78419
|
+
checkNodeDeferred(node);
|
|
78425
78420
|
return undefinedWideningType;
|
|
78426
78421
|
}
|
|
78427
78422
|
function checkAwaitGrammar(node) {
|
|
@@ -85617,6 +85612,9 @@ function createTypeChecker(host) {
|
|
|
85617
85612
|
case 217 /* ParenthesizedExpression */:
|
|
85618
85613
|
checkAssertionDeferred(node);
|
|
85619
85614
|
break;
|
|
85615
|
+
case 222 /* VoidExpression */:
|
|
85616
|
+
checkExpression(node.expression);
|
|
85617
|
+
break;
|
|
85620
85618
|
case 226 /* BinaryExpression */:
|
|
85621
85619
|
if (isInstanceOfExpression(node)) {
|
|
85622
85620
|
resolveUntypedCall(node);
|
|
@@ -138607,26 +138605,46 @@ function getRangeToExtract(context, considerEmptySpans = true) {
|
|
|
138607
138605
|
const current = getTokenAtPosition(file, startPosition);
|
|
138608
138606
|
const range = createTextRangeFromSpan(getRefactorContextSpan(context));
|
|
138609
138607
|
const cursorRequest = range.pos === range.end && considerEmptySpans;
|
|
138610
|
-
const
|
|
138611
|
-
if (!
|
|
138608
|
+
const firstType = findAncestor(current, (node) => node.parent && isTypeNode(node) && !rangeContainsSkipTrivia(range, node.parent, file) && (cursorRequest || nodeOverlapsWithStartEnd(current, file, range.pos, range.end)));
|
|
138609
|
+
if (!firstType || !isTypeNode(firstType))
|
|
138612
138610
|
return { error: getLocaleSpecificMessage(Diagnostics.Selection_is_not_a_valid_type_node) };
|
|
138613
138611
|
const checker = context.program.getTypeChecker();
|
|
138614
|
-
const enclosingNode = getEnclosingNode(
|
|
138612
|
+
const enclosingNode = getEnclosingNode(firstType, isJS);
|
|
138615
138613
|
if (enclosingNode === void 0)
|
|
138616
138614
|
return { error: getLocaleSpecificMessage(Diagnostics.No_type_could_be_extracted_from_this_type_node) };
|
|
138615
|
+
const typeList = [];
|
|
138616
|
+
if ((isUnionTypeNode(firstType.parent) || isIntersectionTypeNode(firstType.parent)) && range.end > firstType.end) {
|
|
138617
|
+
addRange(
|
|
138618
|
+
typeList,
|
|
138619
|
+
firstType.parent.types.filter((type) => {
|
|
138620
|
+
return type.getStart() >= range.pos && type.getEnd() <= range.end;
|
|
138621
|
+
})
|
|
138622
|
+
);
|
|
138623
|
+
}
|
|
138624
|
+
const selection = typeList.length > 1 ? typeList : firstType;
|
|
138617
138625
|
const typeParameters = collectTypeParameters(checker, selection, enclosingNode, file);
|
|
138618
138626
|
if (!typeParameters)
|
|
138619
138627
|
return { error: getLocaleSpecificMessage(Diagnostics.No_type_could_be_extracted_from_this_type_node) };
|
|
138620
138628
|
const typeElements = flattenTypeLiteralNodeReference(checker, selection);
|
|
138621
138629
|
return { isJS, selection, enclosingNode, typeParameters, typeElements };
|
|
138622
138630
|
}
|
|
138623
|
-
function flattenTypeLiteralNodeReference(checker,
|
|
138624
|
-
if (!
|
|
138631
|
+
function flattenTypeLiteralNodeReference(checker, selection) {
|
|
138632
|
+
if (!selection)
|
|
138625
138633
|
return void 0;
|
|
138626
|
-
if (
|
|
138634
|
+
if (isArray(selection)) {
|
|
138635
|
+
const result = [];
|
|
138636
|
+
for (const type of selection) {
|
|
138637
|
+
const flattenedTypeMembers = flattenTypeLiteralNodeReference(checker, type);
|
|
138638
|
+
if (!flattenedTypeMembers)
|
|
138639
|
+
return void 0;
|
|
138640
|
+
addRange(result, flattenedTypeMembers);
|
|
138641
|
+
}
|
|
138642
|
+
return result;
|
|
138643
|
+
}
|
|
138644
|
+
if (isIntersectionTypeNode(selection)) {
|
|
138627
138645
|
const result = [];
|
|
138628
138646
|
const seen = /* @__PURE__ */ new Map();
|
|
138629
|
-
for (const type of
|
|
138647
|
+
for (const type of selection.types) {
|
|
138630
138648
|
const flattenedTypeMembers = flattenTypeLiteralNodeReference(checker, type);
|
|
138631
138649
|
if (!flattenedTypeMembers || !flattenedTypeMembers.every((type2) => type2.name && addToSeen(seen, getNameFromPropertyName(type2.name)))) {
|
|
138632
138650
|
return void 0;
|
|
@@ -138634,18 +138652,30 @@ function flattenTypeLiteralNodeReference(checker, node) {
|
|
|
138634
138652
|
addRange(result, flattenedTypeMembers);
|
|
138635
138653
|
}
|
|
138636
138654
|
return result;
|
|
138637
|
-
} else if (isParenthesizedTypeNode(
|
|
138638
|
-
return flattenTypeLiteralNodeReference(checker,
|
|
138639
|
-
} else if (isTypeLiteralNode(
|
|
138640
|
-
return
|
|
138655
|
+
} else if (isParenthesizedTypeNode(selection)) {
|
|
138656
|
+
return flattenTypeLiteralNodeReference(checker, selection.type);
|
|
138657
|
+
} else if (isTypeLiteralNode(selection)) {
|
|
138658
|
+
return selection.members;
|
|
138641
138659
|
}
|
|
138642
138660
|
return void 0;
|
|
138643
138661
|
}
|
|
138644
138662
|
function rangeContainsSkipTrivia(r1, node, file) {
|
|
138645
|
-
|
|
138663
|
+
const r1Range = arrayToNode(r1);
|
|
138664
|
+
const nodeRange = arrayToNode(node);
|
|
138665
|
+
return rangeContainsStartEnd(r1Range, skipTrivia(file.text, nodeRange.pos), nodeRange.end);
|
|
138666
|
+
function arrayToNode(rangeOrArray) {
|
|
138667
|
+
return isArray(rangeOrArray) ? { pos: rangeOrArray[0].pos, end: rangeOrArray[rangeOrArray.length - 1].end } : rangeOrArray;
|
|
138668
|
+
}
|
|
138646
138669
|
}
|
|
138647
138670
|
function collectTypeParameters(checker, selection, enclosingNode, file) {
|
|
138648
138671
|
const result = [];
|
|
138672
|
+
if (isArray(selection)) {
|
|
138673
|
+
selection.forEach((t) => {
|
|
138674
|
+
if (!visitor(t))
|
|
138675
|
+
return void 0;
|
|
138676
|
+
});
|
|
138677
|
+
return result;
|
|
138678
|
+
}
|
|
138649
138679
|
return visitor(selection) ? void 0 : result;
|
|
138650
138680
|
function visitor(node) {
|
|
138651
138681
|
if (isTypeReferenceNode(node)) {
|
|
@@ -138706,32 +138736,62 @@ function collectTypeParameters(checker, selection, enclosingNode, file) {
|
|
|
138706
138736
|
}
|
|
138707
138737
|
function doTypeAliasChange(changes, file, name, info) {
|
|
138708
138738
|
const { enclosingNode, selection, typeParameters } = info;
|
|
138709
|
-
|
|
138710
|
-
|
|
138711
|
-
|
|
138712
|
-
|
|
138713
|
-
|
|
138714
|
-
|
|
138715
|
-
id.
|
|
138739
|
+
if (isArray(selection)) {
|
|
138740
|
+
const newTypeValue = isUnionTypeNode(selection[0].parent) ? factory.createUnionTypeNode(selection) : factory.createIntersectionTypeNode(selection);
|
|
138741
|
+
const newTypeDeclaration = factory.createTypeAliasDeclaration(
|
|
138742
|
+
/*modifiers*/
|
|
138743
|
+
void 0,
|
|
138744
|
+
name,
|
|
138745
|
+
typeParameters.map((id) => factory.updateTypeParameterDeclaration(
|
|
138746
|
+
id,
|
|
138747
|
+
id.modifiers,
|
|
138748
|
+
id.name,
|
|
138749
|
+
id.constraint,
|
|
138750
|
+
/*defaultType*/
|
|
138751
|
+
void 0
|
|
138752
|
+
)),
|
|
138753
|
+
newTypeValue
|
|
138754
|
+
);
|
|
138755
|
+
changes.insertNodeBefore(
|
|
138756
|
+
file,
|
|
138757
|
+
enclosingNode,
|
|
138758
|
+
ignoreSourceNewlines(newTypeDeclaration),
|
|
138759
|
+
/*blankLineBetween*/
|
|
138760
|
+
true
|
|
138761
|
+
);
|
|
138762
|
+
changes.replaceNodeRange(file, selection[0], selection[selection.length - 1], factory.createTypeReferenceNode(name, typeParameters.map((id) => factory.createTypeReferenceNode(
|
|
138716
138763
|
id.name,
|
|
138717
|
-
|
|
138718
|
-
/*defaultType*/
|
|
138764
|
+
/*typeArguments*/
|
|
138719
138765
|
void 0
|
|
138720
|
-
)),
|
|
138721
|
-
|
|
138722
|
-
|
|
138723
|
-
|
|
138724
|
-
|
|
138725
|
-
|
|
138726
|
-
|
|
138727
|
-
|
|
138728
|
-
|
|
138729
|
-
|
|
138730
|
-
|
|
138731
|
-
|
|
138732
|
-
|
|
138733
|
-
|
|
138734
|
-
|
|
138766
|
+
))), { leadingTriviaOption: ts_textChanges_exports.LeadingTriviaOption.Exclude, trailingTriviaOption: ts_textChanges_exports.TrailingTriviaOption.ExcludeWhitespace });
|
|
138767
|
+
} else {
|
|
138768
|
+
const newTypeNode = factory.createTypeAliasDeclaration(
|
|
138769
|
+
/*modifiers*/
|
|
138770
|
+
void 0,
|
|
138771
|
+
name,
|
|
138772
|
+
typeParameters.map((id) => factory.updateTypeParameterDeclaration(
|
|
138773
|
+
id,
|
|
138774
|
+
id.modifiers,
|
|
138775
|
+
id.name,
|
|
138776
|
+
id.constraint,
|
|
138777
|
+
/*defaultType*/
|
|
138778
|
+
void 0
|
|
138779
|
+
)),
|
|
138780
|
+
selection
|
|
138781
|
+
);
|
|
138782
|
+
changes.insertNodeBefore(
|
|
138783
|
+
file,
|
|
138784
|
+
enclosingNode,
|
|
138785
|
+
ignoreSourceNewlines(newTypeNode),
|
|
138786
|
+
/*blankLineBetween*/
|
|
138787
|
+
true
|
|
138788
|
+
);
|
|
138789
|
+
changes.replaceNode(file, selection, factory.createTypeReferenceNode(name, typeParameters.map((id) => factory.createTypeReferenceNode(
|
|
138790
|
+
id.name,
|
|
138791
|
+
/*typeArguments*/
|
|
138792
|
+
void 0
|
|
138793
|
+
))), { leadingTriviaOption: ts_textChanges_exports.LeadingTriviaOption.Exclude, trailingTriviaOption: ts_textChanges_exports.TrailingTriviaOption.ExcludeWhitespace });
|
|
138794
|
+
}
|
|
138735
138795
|
}
|
|
138736
138796
|
function doInterfaceChange(changes, file, name, info) {
|
|
138737
138797
|
var _a;
|
|
@@ -138753,19 +138813,36 @@ function doInterfaceChange(changes, file, name, info) {
|
|
|
138753
138813
|
/*blankLineBetween*/
|
|
138754
138814
|
true
|
|
138755
138815
|
);
|
|
138756
|
-
|
|
138757
|
-
|
|
138758
|
-
|
|
138759
|
-
|
|
138760
|
-
|
|
138816
|
+
if (isArray(selection)) {
|
|
138817
|
+
changes.replaceNodeRange(file, selection[0], selection[selection.length - 1], factory.createTypeReferenceNode(name, typeParameters.map((id) => factory.createTypeReferenceNode(
|
|
138818
|
+
id.name,
|
|
138819
|
+
/*typeArguments*/
|
|
138820
|
+
void 0
|
|
138821
|
+
))), { leadingTriviaOption: ts_textChanges_exports.LeadingTriviaOption.Exclude, trailingTriviaOption: ts_textChanges_exports.TrailingTriviaOption.ExcludeWhitespace });
|
|
138822
|
+
} else {
|
|
138823
|
+
changes.replaceNode(file, selection, factory.createTypeReferenceNode(name, typeParameters.map((id) => factory.createTypeReferenceNode(
|
|
138824
|
+
id.name,
|
|
138825
|
+
/*typeArguments*/
|
|
138826
|
+
void 0
|
|
138827
|
+
))), { leadingTriviaOption: ts_textChanges_exports.LeadingTriviaOption.Exclude, trailingTriviaOption: ts_textChanges_exports.TrailingTriviaOption.ExcludeWhitespace });
|
|
138828
|
+
}
|
|
138761
138829
|
}
|
|
138762
138830
|
function doTypedefChange(changes, context, file, name, info) {
|
|
138763
138831
|
var _a;
|
|
138764
138832
|
const { enclosingNode, selection, typeParameters } = info;
|
|
138765
|
-
|
|
138833
|
+
let newTypeValue;
|
|
138834
|
+
if (isArray(selection)) {
|
|
138835
|
+
selection.forEach((typeNode) => {
|
|
138836
|
+
setEmitFlags(typeNode, 3072 /* NoComments */ | 4096 /* NoNestedComments */);
|
|
138837
|
+
});
|
|
138838
|
+
newTypeValue = isUnionTypeNode(selection[0].parent) ? factory.createUnionTypeNode(selection) : factory.createIntersectionTypeNode(selection);
|
|
138839
|
+
} else {
|
|
138840
|
+
setEmitFlags(selection, 3072 /* NoComments */ | 4096 /* NoNestedComments */);
|
|
138841
|
+
newTypeValue = selection;
|
|
138842
|
+
}
|
|
138766
138843
|
const node = factory.createJSDocTypedefTag(
|
|
138767
138844
|
factory.createIdentifier("typedef"),
|
|
138768
|
-
factory.createJSDocTypeExpression(
|
|
138845
|
+
factory.createJSDocTypeExpression(newTypeValue),
|
|
138769
138846
|
factory.createIdentifier(name)
|
|
138770
138847
|
);
|
|
138771
138848
|
const templates = [];
|
|
@@ -138803,11 +138880,19 @@ function doTypedefChange(changes, context, file, name, info) {
|
|
|
138803
138880
|
true
|
|
138804
138881
|
);
|
|
138805
138882
|
}
|
|
138806
|
-
|
|
138807
|
-
|
|
138808
|
-
|
|
138809
|
-
|
|
138810
|
-
|
|
138883
|
+
if (isArray(selection)) {
|
|
138884
|
+
changes.replaceNodeRange(file, selection[0], selection[selection.length - 1], factory.createTypeReferenceNode(name, typeParameters.map((id) => factory.createTypeReferenceNode(
|
|
138885
|
+
id.name,
|
|
138886
|
+
/*typeArguments*/
|
|
138887
|
+
void 0
|
|
138888
|
+
))));
|
|
138889
|
+
} else {
|
|
138890
|
+
changes.replaceNode(file, selection, factory.createTypeReferenceNode(name, typeParameters.map((id) => factory.createTypeReferenceNode(
|
|
138891
|
+
id.name,
|
|
138892
|
+
/*typeArguments*/
|
|
138893
|
+
void 0
|
|
138894
|
+
))));
|
|
138895
|
+
}
|
|
138811
138896
|
}
|
|
138812
138897
|
function getEnclosingNode(node, isJS) {
|
|
138813
138898
|
return findAncestor(node, isStatement) || (isJS ? findAncestor(node, isJSDoc) : void 0);
|
package/lib/typescript.js
CHANGED
|
@@ -15128,9 +15128,9 @@ ${lanes.join("\n")}
|
|
|
15128
15128
|
}
|
|
15129
15129
|
function getNextJSDocCommentLocation(node) {
|
|
15130
15130
|
const parent2 = node.parent;
|
|
15131
|
-
if (parent2.kind === 303 /* PropertyAssignment */ || parent2.kind === 277 /* ExportAssignment */ || parent2.kind === 172 /* PropertyDeclaration */ || parent2.kind === 244 /* ExpressionStatement */ && node.kind === 211 /* PropertyAccessExpression */ || parent2.kind === 253 /* ReturnStatement */ || getNestedModuleDeclaration(parent2) ||
|
|
15131
|
+
if (parent2.kind === 303 /* PropertyAssignment */ || parent2.kind === 277 /* ExportAssignment */ || parent2.kind === 172 /* PropertyDeclaration */ || parent2.kind === 244 /* ExpressionStatement */ && node.kind === 211 /* PropertyAccessExpression */ || parent2.kind === 253 /* ReturnStatement */ || getNestedModuleDeclaration(parent2) || isAssignmentExpression(node)) {
|
|
15132
15132
|
return parent2;
|
|
15133
|
-
} else if (parent2.parent && (getSingleVariableOfVariableStatement(parent2.parent) === node ||
|
|
15133
|
+
} else if (parent2.parent && (getSingleVariableOfVariableStatement(parent2.parent) === node || isAssignmentExpression(parent2))) {
|
|
15134
15134
|
return parent2.parent;
|
|
15135
15135
|
} else if (parent2.parent && parent2.parent.parent && (getSingleVariableOfVariableStatement(parent2.parent.parent) || getSingleInitializerOfVariableStatementOrPropertyDeclaration(parent2.parent.parent) === node || getSourceOfDefaultedAssignment(parent2.parent.parent))) {
|
|
15136
15136
|
return parent2.parent.parent;
|
|
@@ -38730,7 +38730,7 @@ ${lanes.join("\n")}
|
|
|
38730
38730
|
affectsBuildInfo: true,
|
|
38731
38731
|
affectsDeclarationPath: true,
|
|
38732
38732
|
isFilePath: false,
|
|
38733
|
-
// This is intentionally broken to support
|
|
38733
|
+
// This is intentionally broken to support compatibility with existing tsconfig files
|
|
38734
38734
|
// for correct behaviour, please use outFile
|
|
38735
38735
|
category: Diagnostics.Backwards_Compatibility,
|
|
38736
38736
|
paramType: Diagnostics.FILE,
|
|
@@ -69829,7 +69829,7 @@ ${lanes.join("\n")}
|
|
|
69829
69829
|
return getWidenedType(contextualType ? getNonNullableType(contextualType) : checkExpressionCached(containingLiteral));
|
|
69830
69830
|
}
|
|
69831
69831
|
const parent2 = walkUpParenthesizedExpressions(func.parent);
|
|
69832
|
-
if (parent2
|
|
69832
|
+
if (isAssignmentExpression(parent2)) {
|
|
69833
69833
|
const target = parent2.left;
|
|
69834
69834
|
if (isAccessExpression(target)) {
|
|
69835
69835
|
const { expression } = target;
|
|
@@ -76022,12 +76022,7 @@ ${lanes.join("\n")}
|
|
|
76022
76022
|
}
|
|
76023
76023
|
}
|
|
76024
76024
|
if (contextualSignature && !getReturnTypeFromAnnotation(node) && !signature.resolvedReturnType) {
|
|
76025
|
-
const
|
|
76026
|
-
node,
|
|
76027
|
-
/*contextFlags*/
|
|
76028
|
-
void 0
|
|
76029
|
-
);
|
|
76030
|
-
const returnType = contextualReturnType && contextualReturnType.flags & (3 /* AnyOrUnknown */ | 16384 /* Void */) ? contextualReturnType : getReturnTypeFromBody(node, checkMode);
|
|
76025
|
+
const returnType = getReturnTypeFromBody(node, checkMode);
|
|
76031
76026
|
if (!signature.resolvedReturnType) {
|
|
76032
76027
|
signature.resolvedReturnType = returnType;
|
|
76033
76028
|
}
|
|
@@ -76188,7 +76183,7 @@ ${lanes.join("\n")}
|
|
|
76188
76183
|
return typeofType;
|
|
76189
76184
|
}
|
|
76190
76185
|
function checkVoidExpression(node) {
|
|
76191
|
-
|
|
76186
|
+
checkNodeDeferred(node);
|
|
76192
76187
|
return undefinedWideningType;
|
|
76193
76188
|
}
|
|
76194
76189
|
function checkAwaitGrammar(node) {
|
|
@@ -83384,6 +83379,9 @@ ${lanes.join("\n")}
|
|
|
83384
83379
|
case 217 /* ParenthesizedExpression */:
|
|
83385
83380
|
checkAssertionDeferred(node);
|
|
83386
83381
|
break;
|
|
83382
|
+
case 222 /* VoidExpression */:
|
|
83383
|
+
checkExpression(node.expression);
|
|
83384
|
+
break;
|
|
83387
83385
|
case 226 /* BinaryExpression */:
|
|
83388
83386
|
if (isInstanceOfExpression(node)) {
|
|
83389
83387
|
resolveUntypedCall(node);
|
|
@@ -136918,26 +136916,46 @@ ${lanes.join("\n")}
|
|
|
136918
136916
|
const current = getTokenAtPosition(file, startPosition);
|
|
136919
136917
|
const range = createTextRangeFromSpan(getRefactorContextSpan(context));
|
|
136920
136918
|
const cursorRequest = range.pos === range.end && considerEmptySpans;
|
|
136921
|
-
const
|
|
136922
|
-
if (!
|
|
136919
|
+
const firstType = findAncestor(current, (node) => node.parent && isTypeNode(node) && !rangeContainsSkipTrivia(range, node.parent, file) && (cursorRequest || nodeOverlapsWithStartEnd(current, file, range.pos, range.end)));
|
|
136920
|
+
if (!firstType || !isTypeNode(firstType))
|
|
136923
136921
|
return { error: getLocaleSpecificMessage(Diagnostics.Selection_is_not_a_valid_type_node) };
|
|
136924
136922
|
const checker = context.program.getTypeChecker();
|
|
136925
|
-
const enclosingNode = getEnclosingNode(
|
|
136923
|
+
const enclosingNode = getEnclosingNode(firstType, isJS);
|
|
136926
136924
|
if (enclosingNode === void 0)
|
|
136927
136925
|
return { error: getLocaleSpecificMessage(Diagnostics.No_type_could_be_extracted_from_this_type_node) };
|
|
136926
|
+
const typeList = [];
|
|
136927
|
+
if ((isUnionTypeNode(firstType.parent) || isIntersectionTypeNode(firstType.parent)) && range.end > firstType.end) {
|
|
136928
|
+
addRange(
|
|
136929
|
+
typeList,
|
|
136930
|
+
firstType.parent.types.filter((type) => {
|
|
136931
|
+
return type.getStart() >= range.pos && type.getEnd() <= range.end;
|
|
136932
|
+
})
|
|
136933
|
+
);
|
|
136934
|
+
}
|
|
136935
|
+
const selection = typeList.length > 1 ? typeList : firstType;
|
|
136928
136936
|
const typeParameters = collectTypeParameters(checker, selection, enclosingNode, file);
|
|
136929
136937
|
if (!typeParameters)
|
|
136930
136938
|
return { error: getLocaleSpecificMessage(Diagnostics.No_type_could_be_extracted_from_this_type_node) };
|
|
136931
136939
|
const typeElements = flattenTypeLiteralNodeReference(checker, selection);
|
|
136932
136940
|
return { isJS, selection, enclosingNode, typeParameters, typeElements };
|
|
136933
136941
|
}
|
|
136934
|
-
function flattenTypeLiteralNodeReference(checker,
|
|
136935
|
-
if (!
|
|
136942
|
+
function flattenTypeLiteralNodeReference(checker, selection) {
|
|
136943
|
+
if (!selection)
|
|
136936
136944
|
return void 0;
|
|
136937
|
-
if (
|
|
136945
|
+
if (isArray(selection)) {
|
|
136946
|
+
const result = [];
|
|
136947
|
+
for (const type of selection) {
|
|
136948
|
+
const flattenedTypeMembers = flattenTypeLiteralNodeReference(checker, type);
|
|
136949
|
+
if (!flattenedTypeMembers)
|
|
136950
|
+
return void 0;
|
|
136951
|
+
addRange(result, flattenedTypeMembers);
|
|
136952
|
+
}
|
|
136953
|
+
return result;
|
|
136954
|
+
}
|
|
136955
|
+
if (isIntersectionTypeNode(selection)) {
|
|
136938
136956
|
const result = [];
|
|
136939
136957
|
const seen = /* @__PURE__ */ new Map();
|
|
136940
|
-
for (const type of
|
|
136958
|
+
for (const type of selection.types) {
|
|
136941
136959
|
const flattenedTypeMembers = flattenTypeLiteralNodeReference(checker, type);
|
|
136942
136960
|
if (!flattenedTypeMembers || !flattenedTypeMembers.every((type2) => type2.name && addToSeen(seen, getNameFromPropertyName(type2.name)))) {
|
|
136943
136961
|
return void 0;
|
|
@@ -136945,18 +136963,30 @@ ${lanes.join("\n")}
|
|
|
136945
136963
|
addRange(result, flattenedTypeMembers);
|
|
136946
136964
|
}
|
|
136947
136965
|
return result;
|
|
136948
|
-
} else if (isParenthesizedTypeNode(
|
|
136949
|
-
return flattenTypeLiteralNodeReference(checker,
|
|
136950
|
-
} else if (isTypeLiteralNode(
|
|
136951
|
-
return
|
|
136966
|
+
} else if (isParenthesizedTypeNode(selection)) {
|
|
136967
|
+
return flattenTypeLiteralNodeReference(checker, selection.type);
|
|
136968
|
+
} else if (isTypeLiteralNode(selection)) {
|
|
136969
|
+
return selection.members;
|
|
136952
136970
|
}
|
|
136953
136971
|
return void 0;
|
|
136954
136972
|
}
|
|
136955
136973
|
function rangeContainsSkipTrivia(r1, node, file) {
|
|
136956
|
-
|
|
136974
|
+
const r1Range = arrayToNode(r1);
|
|
136975
|
+
const nodeRange = arrayToNode(node);
|
|
136976
|
+
return rangeContainsStartEnd(r1Range, skipTrivia(file.text, nodeRange.pos), nodeRange.end);
|
|
136977
|
+
function arrayToNode(rangeOrArray) {
|
|
136978
|
+
return isArray(rangeOrArray) ? { pos: rangeOrArray[0].pos, end: rangeOrArray[rangeOrArray.length - 1].end } : rangeOrArray;
|
|
136979
|
+
}
|
|
136957
136980
|
}
|
|
136958
136981
|
function collectTypeParameters(checker, selection, enclosingNode, file) {
|
|
136959
136982
|
const result = [];
|
|
136983
|
+
if (isArray(selection)) {
|
|
136984
|
+
selection.forEach((t) => {
|
|
136985
|
+
if (!visitor(t))
|
|
136986
|
+
return void 0;
|
|
136987
|
+
});
|
|
136988
|
+
return result;
|
|
136989
|
+
}
|
|
136960
136990
|
return visitor(selection) ? void 0 : result;
|
|
136961
136991
|
function visitor(node) {
|
|
136962
136992
|
if (isTypeReferenceNode(node)) {
|
|
@@ -137017,32 +137047,62 @@ ${lanes.join("\n")}
|
|
|
137017
137047
|
}
|
|
137018
137048
|
function doTypeAliasChange(changes, file, name, info) {
|
|
137019
137049
|
const { enclosingNode, selection, typeParameters } = info;
|
|
137020
|
-
|
|
137021
|
-
|
|
137022
|
-
|
|
137023
|
-
|
|
137024
|
-
|
|
137025
|
-
|
|
137026
|
-
id.
|
|
137050
|
+
if (isArray(selection)) {
|
|
137051
|
+
const newTypeValue = isUnionTypeNode(selection[0].parent) ? factory.createUnionTypeNode(selection) : factory.createIntersectionTypeNode(selection);
|
|
137052
|
+
const newTypeDeclaration = factory.createTypeAliasDeclaration(
|
|
137053
|
+
/*modifiers*/
|
|
137054
|
+
void 0,
|
|
137055
|
+
name,
|
|
137056
|
+
typeParameters.map((id) => factory.updateTypeParameterDeclaration(
|
|
137057
|
+
id,
|
|
137058
|
+
id.modifiers,
|
|
137059
|
+
id.name,
|
|
137060
|
+
id.constraint,
|
|
137061
|
+
/*defaultType*/
|
|
137062
|
+
void 0
|
|
137063
|
+
)),
|
|
137064
|
+
newTypeValue
|
|
137065
|
+
);
|
|
137066
|
+
changes.insertNodeBefore(
|
|
137067
|
+
file,
|
|
137068
|
+
enclosingNode,
|
|
137069
|
+
ignoreSourceNewlines(newTypeDeclaration),
|
|
137070
|
+
/*blankLineBetween*/
|
|
137071
|
+
true
|
|
137072
|
+
);
|
|
137073
|
+
changes.replaceNodeRange(file, selection[0], selection[selection.length - 1], factory.createTypeReferenceNode(name, typeParameters.map((id) => factory.createTypeReferenceNode(
|
|
137027
137074
|
id.name,
|
|
137028
|
-
|
|
137029
|
-
/*defaultType*/
|
|
137075
|
+
/*typeArguments*/
|
|
137030
137076
|
void 0
|
|
137031
|
-
)),
|
|
137032
|
-
|
|
137033
|
-
|
|
137034
|
-
|
|
137035
|
-
|
|
137036
|
-
|
|
137037
|
-
|
|
137038
|
-
|
|
137039
|
-
|
|
137040
|
-
|
|
137041
|
-
|
|
137042
|
-
|
|
137043
|
-
|
|
137044
|
-
|
|
137045
|
-
|
|
137077
|
+
))), { leadingTriviaOption: ts_textChanges_exports.LeadingTriviaOption.Exclude, trailingTriviaOption: ts_textChanges_exports.TrailingTriviaOption.ExcludeWhitespace });
|
|
137078
|
+
} else {
|
|
137079
|
+
const newTypeNode = factory.createTypeAliasDeclaration(
|
|
137080
|
+
/*modifiers*/
|
|
137081
|
+
void 0,
|
|
137082
|
+
name,
|
|
137083
|
+
typeParameters.map((id) => factory.updateTypeParameterDeclaration(
|
|
137084
|
+
id,
|
|
137085
|
+
id.modifiers,
|
|
137086
|
+
id.name,
|
|
137087
|
+
id.constraint,
|
|
137088
|
+
/*defaultType*/
|
|
137089
|
+
void 0
|
|
137090
|
+
)),
|
|
137091
|
+
selection
|
|
137092
|
+
);
|
|
137093
|
+
changes.insertNodeBefore(
|
|
137094
|
+
file,
|
|
137095
|
+
enclosingNode,
|
|
137096
|
+
ignoreSourceNewlines(newTypeNode),
|
|
137097
|
+
/*blankLineBetween*/
|
|
137098
|
+
true
|
|
137099
|
+
);
|
|
137100
|
+
changes.replaceNode(file, selection, factory.createTypeReferenceNode(name, typeParameters.map((id) => factory.createTypeReferenceNode(
|
|
137101
|
+
id.name,
|
|
137102
|
+
/*typeArguments*/
|
|
137103
|
+
void 0
|
|
137104
|
+
))), { leadingTriviaOption: ts_textChanges_exports.LeadingTriviaOption.Exclude, trailingTriviaOption: ts_textChanges_exports.TrailingTriviaOption.ExcludeWhitespace });
|
|
137105
|
+
}
|
|
137046
137106
|
}
|
|
137047
137107
|
function doInterfaceChange(changes, file, name, info) {
|
|
137048
137108
|
var _a;
|
|
@@ -137064,19 +137124,36 @@ ${lanes.join("\n")}
|
|
|
137064
137124
|
/*blankLineBetween*/
|
|
137065
137125
|
true
|
|
137066
137126
|
);
|
|
137067
|
-
|
|
137068
|
-
|
|
137069
|
-
|
|
137070
|
-
|
|
137071
|
-
|
|
137127
|
+
if (isArray(selection)) {
|
|
137128
|
+
changes.replaceNodeRange(file, selection[0], selection[selection.length - 1], factory.createTypeReferenceNode(name, typeParameters.map((id) => factory.createTypeReferenceNode(
|
|
137129
|
+
id.name,
|
|
137130
|
+
/*typeArguments*/
|
|
137131
|
+
void 0
|
|
137132
|
+
))), { leadingTriviaOption: ts_textChanges_exports.LeadingTriviaOption.Exclude, trailingTriviaOption: ts_textChanges_exports.TrailingTriviaOption.ExcludeWhitespace });
|
|
137133
|
+
} else {
|
|
137134
|
+
changes.replaceNode(file, selection, factory.createTypeReferenceNode(name, typeParameters.map((id) => factory.createTypeReferenceNode(
|
|
137135
|
+
id.name,
|
|
137136
|
+
/*typeArguments*/
|
|
137137
|
+
void 0
|
|
137138
|
+
))), { leadingTriviaOption: ts_textChanges_exports.LeadingTriviaOption.Exclude, trailingTriviaOption: ts_textChanges_exports.TrailingTriviaOption.ExcludeWhitespace });
|
|
137139
|
+
}
|
|
137072
137140
|
}
|
|
137073
137141
|
function doTypedefChange(changes, context, file, name, info) {
|
|
137074
137142
|
var _a;
|
|
137075
137143
|
const { enclosingNode, selection, typeParameters } = info;
|
|
137076
|
-
|
|
137144
|
+
let newTypeValue;
|
|
137145
|
+
if (isArray(selection)) {
|
|
137146
|
+
selection.forEach((typeNode) => {
|
|
137147
|
+
setEmitFlags(typeNode, 3072 /* NoComments */ | 4096 /* NoNestedComments */);
|
|
137148
|
+
});
|
|
137149
|
+
newTypeValue = isUnionTypeNode(selection[0].parent) ? factory.createUnionTypeNode(selection) : factory.createIntersectionTypeNode(selection);
|
|
137150
|
+
} else {
|
|
137151
|
+
setEmitFlags(selection, 3072 /* NoComments */ | 4096 /* NoNestedComments */);
|
|
137152
|
+
newTypeValue = selection;
|
|
137153
|
+
}
|
|
137077
137154
|
const node = factory.createJSDocTypedefTag(
|
|
137078
137155
|
factory.createIdentifier("typedef"),
|
|
137079
|
-
factory.createJSDocTypeExpression(
|
|
137156
|
+
factory.createJSDocTypeExpression(newTypeValue),
|
|
137080
137157
|
factory.createIdentifier(name)
|
|
137081
137158
|
);
|
|
137082
137159
|
const templates = [];
|
|
@@ -137114,11 +137191,19 @@ ${lanes.join("\n")}
|
|
|
137114
137191
|
true
|
|
137115
137192
|
);
|
|
137116
137193
|
}
|
|
137117
|
-
|
|
137118
|
-
|
|
137119
|
-
|
|
137120
|
-
|
|
137121
|
-
|
|
137194
|
+
if (isArray(selection)) {
|
|
137195
|
+
changes.replaceNodeRange(file, selection[0], selection[selection.length - 1], factory.createTypeReferenceNode(name, typeParameters.map((id) => factory.createTypeReferenceNode(
|
|
137196
|
+
id.name,
|
|
137197
|
+
/*typeArguments*/
|
|
137198
|
+
void 0
|
|
137199
|
+
))));
|
|
137200
|
+
} else {
|
|
137201
|
+
changes.replaceNode(file, selection, factory.createTypeReferenceNode(name, typeParameters.map((id) => factory.createTypeReferenceNode(
|
|
137202
|
+
id.name,
|
|
137203
|
+
/*typeArguments*/
|
|
137204
|
+
void 0
|
|
137205
|
+
))));
|
|
137206
|
+
}
|
|
137122
137207
|
}
|
|
137123
137208
|
function getEnclosingNode(node, isJS) {
|
|
137124
137209
|
return findAncestor(node, isStatement) || (isJS ? findAncestor(node, isJSDoc) : void 0);
|
package/lib/typingsInstaller.js
CHANGED
|
@@ -10593,9 +10593,9 @@ function ownsJSDocTag(hostNode, tag) {
|
|
|
10593
10593
|
}
|
|
10594
10594
|
function getNextJSDocCommentLocation(node) {
|
|
10595
10595
|
const parent = node.parent;
|
|
10596
|
-
if (parent.kind === 303 /* PropertyAssignment */ || parent.kind === 277 /* ExportAssignment */ || parent.kind === 172 /* PropertyDeclaration */ || parent.kind === 244 /* ExpressionStatement */ && node.kind === 211 /* PropertyAccessExpression */ || parent.kind === 253 /* ReturnStatement */ || getNestedModuleDeclaration(parent) ||
|
|
10596
|
+
if (parent.kind === 303 /* PropertyAssignment */ || parent.kind === 277 /* ExportAssignment */ || parent.kind === 172 /* PropertyDeclaration */ || parent.kind === 244 /* ExpressionStatement */ && node.kind === 211 /* PropertyAccessExpression */ || parent.kind === 253 /* ReturnStatement */ || getNestedModuleDeclaration(parent) || isAssignmentExpression(node)) {
|
|
10597
10597
|
return parent;
|
|
10598
|
-
} else if (parent.parent && (getSingleVariableOfVariableStatement(parent.parent) === node ||
|
|
10598
|
+
} else if (parent.parent && (getSingleVariableOfVariableStatement(parent.parent) === node || isAssignmentExpression(parent))) {
|
|
10599
10599
|
return parent.parent;
|
|
10600
10600
|
} else if (parent.parent && parent.parent.parent && (getSingleVariableOfVariableStatement(parent.parent.parent) || getSingleInitializerOfVariableStatementOrPropertyDeclaration(parent.parent.parent) === node || getSourceOfDefaultedAssignment(parent.parent.parent))) {
|
|
10601
10601
|
return parent.parent.parent;
|
|
@@ -26652,7 +26652,7 @@ var commandOptionsWithoutBuild = [
|
|
|
26652
26652
|
affectsBuildInfo: true,
|
|
26653
26653
|
affectsDeclarationPath: true,
|
|
26654
26654
|
isFilePath: false,
|
|
26655
|
-
// This is intentionally broken to support
|
|
26655
|
+
// This is intentionally broken to support compatibility with existing tsconfig files
|
|
26656
26656
|
// for correct behaviour, please use outFile
|
|
26657
26657
|
category: Diagnostics.Backwards_Compatibility,
|
|
26658
26658
|
paramType: Diagnostics.FILE,
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@typescript-deploys/pr-build",
|
|
3
3
|
"author": "Microsoft Corp.",
|
|
4
4
|
"homepage": "https://www.typescriptlang.org/",
|
|
5
|
-
"version": "5.3.0-pr-
|
|
5
|
+
"version": "5.3.0-pr-56131-2",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|
|
@@ -115,5 +115,5 @@
|
|
|
115
115
|
"node": "20.1.0",
|
|
116
116
|
"npm": "8.19.4"
|
|
117
117
|
},
|
|
118
|
-
"gitHead": "
|
|
118
|
+
"gitHead": "e200ac3a5a2ed19564bf2d945bff492fa5a9576f"
|
|
119
119
|
}
|