typescript 5.2.0-dev.20230723 → 5.2.0-dev.20230725
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 +31 -7
- package/lib/tsserver.js +39 -7
- package/lib/tsserverlibrary.js +39 -7
- package/lib/typescript.js +39 -7
- package/lib/typingsInstaller.js +1 -1
- package/package.json +2 -2
package/lib/tsc.js
CHANGED
|
@@ -18,7 +18,7 @@ and limitations under the License.
|
|
|
18
18
|
|
|
19
19
|
// src/compiler/corePublic.ts
|
|
20
20
|
var versionMajorMinor = "5.2";
|
|
21
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
21
|
+
var version = `${versionMajorMinor}.0-dev.20230725`;
|
|
22
22
|
|
|
23
23
|
// src/compiler/core.ts
|
|
24
24
|
var emptyArray = [];
|
|
@@ -39242,6 +39242,9 @@ function getModuleInstanceStateForAliasTarget(specifier, visited) {
|
|
|
39242
39242
|
if (found === 1 /* Instantiated */) {
|
|
39243
39243
|
return found;
|
|
39244
39244
|
}
|
|
39245
|
+
if (statement.kind === 271 /* ImportEqualsDeclaration */) {
|
|
39246
|
+
found = 1 /* Instantiated */;
|
|
39247
|
+
}
|
|
39245
39248
|
}
|
|
39246
39249
|
}
|
|
39247
39250
|
if (found !== void 0) {
|
|
@@ -46187,7 +46190,7 @@ function createTypeChecker(host) {
|
|
|
46187
46190
|
return isStringLiteralLike(moduleReferenceExpression) ? resolveExternalModule(location, moduleReferenceExpression.text, moduleNotFoundError, moduleReferenceExpression, isForAugmentation) : void 0;
|
|
46188
46191
|
}
|
|
46189
46192
|
function resolveExternalModule(location, moduleReference, moduleNotFoundError, errorNode, isForAugmentation = false) {
|
|
46190
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
46193
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
46191
46194
|
if (startsWith(moduleReference, "@types/")) {
|
|
46192
46195
|
const diag2 = Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1;
|
|
46193
46196
|
const withoutAtTypePrefix = removePrefix(moduleReference, "@types/");
|
|
@@ -46222,8 +46225,11 @@ function createTypeChecker(host) {
|
|
|
46222
46225
|
);
|
|
46223
46226
|
}
|
|
46224
46227
|
} else if (resolvedModule.resolvedUsingTsExtension && !shouldAllowImportingTsExtension(compilerOptions, currentSourceFile.fileName)) {
|
|
46225
|
-
const
|
|
46226
|
-
|
|
46228
|
+
const importOrExport = ((_h = findAncestor(location, isImportDeclaration)) == null ? void 0 : _h.importClause) || findAncestor(location, or(isImportEqualsDeclaration, isExportDeclaration));
|
|
46229
|
+
if (!((importOrExport == null ? void 0 : importOrExport.isTypeOnly) || findAncestor(location, isImportTypeNode))) {
|
|
46230
|
+
const tsExtension = Debug.checkDefined(tryExtractTSExtension(moduleReference));
|
|
46231
|
+
error(errorNode, Diagnostics.An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled, tsExtension);
|
|
46232
|
+
}
|
|
46227
46233
|
}
|
|
46228
46234
|
if (sourceFile.symbol) {
|
|
46229
46235
|
if (resolvedModule.isExternalLibraryImport && !resolutionExtensionIsTSOrJson(resolvedModule.extension)) {
|
|
@@ -46240,7 +46246,7 @@ function createTypeChecker(host) {
|
|
|
46240
46246
|
if (moduleResolutionKind === 3 /* Node16 */ || moduleResolutionKind === 99 /* NodeNext */) {
|
|
46241
46247
|
const isSyncImport = currentSourceFile.impliedNodeFormat === 1 /* CommonJS */ && !findAncestor(location, isImportCall) || !!findAncestor(location, isImportEqualsDeclaration);
|
|
46242
46248
|
const overrideClauseHost = findAncestor(location, (l) => isImportTypeNode(l) || isExportDeclaration(l) || isImportDeclaration(l));
|
|
46243
|
-
const overrideClause = overrideClauseHost && isImportTypeNode(overrideClauseHost) ? (
|
|
46249
|
+
const overrideClause = overrideClauseHost && isImportTypeNode(overrideClauseHost) ? (_i = overrideClauseHost.assertions) == null ? void 0 : _i.assertClause : overrideClauseHost == null ? void 0 : overrideClauseHost.assertClause;
|
|
46244
46250
|
if (isSyncImport && sourceFile.impliedNodeFormat === 99 /* ESNext */ && !getResolutionModeOverrideForClause(overrideClause)) {
|
|
46245
46251
|
if (findAncestor(location, isImportEqualsDeclaration)) {
|
|
46246
46252
|
error(errorNode, Diagnostics.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead, moduleReference);
|
|
@@ -46343,7 +46349,7 @@ function createTypeChecker(host) {
|
|
|
46343
46349
|
error(errorNode, Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension, moduleReference);
|
|
46344
46350
|
} else if (mode === 99 /* ESNext */ && resolutionIsNode16OrNext && isExtensionlessRelativePathImport) {
|
|
46345
46351
|
const absoluteRef = getNormalizedAbsolutePath(moduleReference, getDirectoryPath(currentSourceFile.path));
|
|
46346
|
-
const suggestedExt = (
|
|
46352
|
+
const suggestedExt = (_j = suggestedExtensions.find(([actualExt, _importExt]) => host.fileExists(absoluteRef + actualExt))) == null ? void 0 : _j[1];
|
|
46347
46353
|
if (suggestedExt) {
|
|
46348
46354
|
error(
|
|
46349
46355
|
errorNode,
|
|
@@ -47779,11 +47785,13 @@ function createTypeChecker(host) {
|
|
|
47779
47785
|
return !!type2.target && isMappedTypeHomomorphic(type2.target) && !isMappedTypeHomomorphic(type2);
|
|
47780
47786
|
}
|
|
47781
47787
|
function createMappedTypeNodeFromType(type2) {
|
|
47788
|
+
var _a2;
|
|
47782
47789
|
Debug.assert(!!(type2.flags & 524288 /* Object */));
|
|
47783
47790
|
const readonlyToken = type2.declaration.readonlyToken ? factory.createToken(type2.declaration.readonlyToken.kind) : void 0;
|
|
47784
47791
|
const questionToken = type2.declaration.questionToken ? factory.createToken(type2.declaration.questionToken.kind) : void 0;
|
|
47785
47792
|
let appropriateConstraintTypeNode;
|
|
47786
47793
|
let newTypeVariable;
|
|
47794
|
+
const needsModifierPreservingWrapper = !isMappedTypeWithKeyofConstraintDeclaration(type2) && !(getModifiersTypeFromMappedType(type2).flags & 2 /* Unknown */) && context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && !(getConstraintTypeFromMappedType(type2).flags & 262144 /* TypeParameter */ && ((_a2 = getConstraintOfTypeParameter(getConstraintTypeFromMappedType(type2))) == null ? void 0 : _a2.flags) & 4194304 /* Index */);
|
|
47787
47795
|
if (isMappedTypeWithKeyofConstraintDeclaration(type2)) {
|
|
47788
47796
|
if (isHomomorphicMappedTypeWithNonHomomorphicInstantiation(type2) && context.flags & 4 /* GenerateNamesForShadowedTypeParams */) {
|
|
47789
47797
|
const newParam = createTypeParameter(createSymbol(262144 /* TypeParameter */, "T"));
|
|
@@ -47791,6 +47799,11 @@ function createTypeChecker(host) {
|
|
|
47791
47799
|
newTypeVariable = factory.createTypeReferenceNode(name);
|
|
47792
47800
|
}
|
|
47793
47801
|
appropriateConstraintTypeNode = factory.createTypeOperatorNode(143 /* KeyOfKeyword */, newTypeVariable || typeToTypeNodeHelper(getModifiersTypeFromMappedType(type2), context));
|
|
47802
|
+
} else if (needsModifierPreservingWrapper) {
|
|
47803
|
+
const newParam = createTypeParameter(createSymbol(262144 /* TypeParameter */, "T"));
|
|
47804
|
+
const name = typeParameterToName(newParam, context);
|
|
47805
|
+
newTypeVariable = factory.createTypeReferenceNode(name);
|
|
47806
|
+
appropriateConstraintTypeNode = newTypeVariable;
|
|
47794
47807
|
} else {
|
|
47795
47808
|
appropriateConstraintTypeNode = typeToTypeNodeHelper(getConstraintTypeFromMappedType(type2), context);
|
|
47796
47809
|
}
|
|
@@ -47821,6 +47834,18 @@ function createTypeChecker(host) {
|
|
|
47821
47834
|
result,
|
|
47822
47835
|
factory.createKeywordTypeNode(146 /* NeverKeyword */)
|
|
47823
47836
|
);
|
|
47837
|
+
} else if (needsModifierPreservingWrapper) {
|
|
47838
|
+
return factory.createConditionalTypeNode(
|
|
47839
|
+
typeToTypeNodeHelper(getConstraintTypeFromMappedType(type2), context),
|
|
47840
|
+
factory.createInferTypeNode(factory.createTypeParameterDeclaration(
|
|
47841
|
+
/*modifiers*/
|
|
47842
|
+
void 0,
|
|
47843
|
+
factory.cloneNode(newTypeVariable.typeName),
|
|
47844
|
+
factory.createTypeOperatorNode(143 /* KeyOfKeyword */, typeToTypeNodeHelper(getModifiersTypeFromMappedType(type2), context))
|
|
47845
|
+
)),
|
|
47846
|
+
result,
|
|
47847
|
+
factory.createKeywordTypeNode(146 /* NeverKeyword */)
|
|
47848
|
+
);
|
|
47824
47849
|
}
|
|
47825
47850
|
return result;
|
|
47826
47851
|
}
|
|
@@ -122048,7 +122073,6 @@ function createWatchProgram(host) {
|
|
|
122048
122073
|
if (hasChangedCompilerOptions) {
|
|
122049
122074
|
newLine = updateNewLine();
|
|
122050
122075
|
if (program && changesAffectModuleResolution(program.getCompilerOptions(), compilerOptions)) {
|
|
122051
|
-
debugger;
|
|
122052
122076
|
resolutionCache.onChangesAffectModuleResolution();
|
|
122053
122077
|
}
|
|
122054
122078
|
}
|
package/lib/tsserver.js
CHANGED
|
@@ -2329,7 +2329,7 @@ module.exports = __toCommonJS(server_exports);
|
|
|
2329
2329
|
|
|
2330
2330
|
// src/compiler/corePublic.ts
|
|
2331
2331
|
var versionMajorMinor = "5.2";
|
|
2332
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
2332
|
+
var version = `${versionMajorMinor}.0-dev.20230725`;
|
|
2333
2333
|
var Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
2334
2334
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
2335
2335
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -43891,6 +43891,9 @@ function getModuleInstanceStateForAliasTarget(specifier, visited) {
|
|
|
43891
43891
|
if (found === 1 /* Instantiated */) {
|
|
43892
43892
|
return found;
|
|
43893
43893
|
}
|
|
43894
|
+
if (statement.kind === 271 /* ImportEqualsDeclaration */) {
|
|
43895
|
+
found = 1 /* Instantiated */;
|
|
43896
|
+
}
|
|
43894
43897
|
}
|
|
43895
43898
|
}
|
|
43896
43899
|
if (found !== void 0) {
|
|
@@ -50896,7 +50899,7 @@ function createTypeChecker(host) {
|
|
|
50896
50899
|
return isStringLiteralLike(moduleReferenceExpression) ? resolveExternalModule(location, moduleReferenceExpression.text, moduleNotFoundError, moduleReferenceExpression, isForAugmentation) : void 0;
|
|
50897
50900
|
}
|
|
50898
50901
|
function resolveExternalModule(location, moduleReference, moduleNotFoundError, errorNode, isForAugmentation = false) {
|
|
50899
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
50902
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
50900
50903
|
if (startsWith(moduleReference, "@types/")) {
|
|
50901
50904
|
const diag2 = Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1;
|
|
50902
50905
|
const withoutAtTypePrefix = removePrefix(moduleReference, "@types/");
|
|
@@ -50931,8 +50934,11 @@ function createTypeChecker(host) {
|
|
|
50931
50934
|
);
|
|
50932
50935
|
}
|
|
50933
50936
|
} else if (resolvedModule.resolvedUsingTsExtension && !shouldAllowImportingTsExtension(compilerOptions, currentSourceFile.fileName)) {
|
|
50934
|
-
const
|
|
50935
|
-
|
|
50937
|
+
const importOrExport = ((_h = findAncestor(location, isImportDeclaration)) == null ? void 0 : _h.importClause) || findAncestor(location, or(isImportEqualsDeclaration, isExportDeclaration));
|
|
50938
|
+
if (!((importOrExport == null ? void 0 : importOrExport.isTypeOnly) || findAncestor(location, isImportTypeNode))) {
|
|
50939
|
+
const tsExtension = Debug.checkDefined(tryExtractTSExtension(moduleReference));
|
|
50940
|
+
error2(errorNode, Diagnostics.An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled, tsExtension);
|
|
50941
|
+
}
|
|
50936
50942
|
}
|
|
50937
50943
|
if (sourceFile.symbol) {
|
|
50938
50944
|
if (resolvedModule.isExternalLibraryImport && !resolutionExtensionIsTSOrJson(resolvedModule.extension)) {
|
|
@@ -50949,7 +50955,7 @@ function createTypeChecker(host) {
|
|
|
50949
50955
|
if (moduleResolutionKind === 3 /* Node16 */ || moduleResolutionKind === 99 /* NodeNext */) {
|
|
50950
50956
|
const isSyncImport = currentSourceFile.impliedNodeFormat === 1 /* CommonJS */ && !findAncestor(location, isImportCall) || !!findAncestor(location, isImportEqualsDeclaration);
|
|
50951
50957
|
const overrideClauseHost = findAncestor(location, (l) => isImportTypeNode(l) || isExportDeclaration(l) || isImportDeclaration(l));
|
|
50952
|
-
const overrideClause = overrideClauseHost && isImportTypeNode(overrideClauseHost) ? (
|
|
50958
|
+
const overrideClause = overrideClauseHost && isImportTypeNode(overrideClauseHost) ? (_i = overrideClauseHost.assertions) == null ? void 0 : _i.assertClause : overrideClauseHost == null ? void 0 : overrideClauseHost.assertClause;
|
|
50953
50959
|
if (isSyncImport && sourceFile.impliedNodeFormat === 99 /* ESNext */ && !getResolutionModeOverrideForClause(overrideClause)) {
|
|
50954
50960
|
if (findAncestor(location, isImportEqualsDeclaration)) {
|
|
50955
50961
|
error2(errorNode, Diagnostics.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead, moduleReference);
|
|
@@ -51052,7 +51058,7 @@ function createTypeChecker(host) {
|
|
|
51052
51058
|
error2(errorNode, Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension, moduleReference);
|
|
51053
51059
|
} else if (mode === 99 /* ESNext */ && resolutionIsNode16OrNext && isExtensionlessRelativePathImport) {
|
|
51054
51060
|
const absoluteRef = getNormalizedAbsolutePath(moduleReference, getDirectoryPath(currentSourceFile.path));
|
|
51055
|
-
const suggestedExt = (
|
|
51061
|
+
const suggestedExt = (_j = suggestedExtensions.find(([actualExt, _importExt]) => host.fileExists(absoluteRef + actualExt))) == null ? void 0 : _j[1];
|
|
51056
51062
|
if (suggestedExt) {
|
|
51057
51063
|
error2(
|
|
51058
51064
|
errorNode,
|
|
@@ -52488,11 +52494,13 @@ function createTypeChecker(host) {
|
|
|
52488
52494
|
return !!type2.target && isMappedTypeHomomorphic(type2.target) && !isMappedTypeHomomorphic(type2);
|
|
52489
52495
|
}
|
|
52490
52496
|
function createMappedTypeNodeFromType(type2) {
|
|
52497
|
+
var _a2;
|
|
52491
52498
|
Debug.assert(!!(type2.flags & 524288 /* Object */));
|
|
52492
52499
|
const readonlyToken = type2.declaration.readonlyToken ? factory.createToken(type2.declaration.readonlyToken.kind) : void 0;
|
|
52493
52500
|
const questionToken = type2.declaration.questionToken ? factory.createToken(type2.declaration.questionToken.kind) : void 0;
|
|
52494
52501
|
let appropriateConstraintTypeNode;
|
|
52495
52502
|
let newTypeVariable;
|
|
52503
|
+
const needsModifierPreservingWrapper = !isMappedTypeWithKeyofConstraintDeclaration(type2) && !(getModifiersTypeFromMappedType(type2).flags & 2 /* Unknown */) && context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && !(getConstraintTypeFromMappedType(type2).flags & 262144 /* TypeParameter */ && ((_a2 = getConstraintOfTypeParameter(getConstraintTypeFromMappedType(type2))) == null ? void 0 : _a2.flags) & 4194304 /* Index */);
|
|
52496
52504
|
if (isMappedTypeWithKeyofConstraintDeclaration(type2)) {
|
|
52497
52505
|
if (isHomomorphicMappedTypeWithNonHomomorphicInstantiation(type2) && context.flags & 4 /* GenerateNamesForShadowedTypeParams */) {
|
|
52498
52506
|
const newParam = createTypeParameter(createSymbol(262144 /* TypeParameter */, "T"));
|
|
@@ -52500,6 +52508,11 @@ function createTypeChecker(host) {
|
|
|
52500
52508
|
newTypeVariable = factory.createTypeReferenceNode(name);
|
|
52501
52509
|
}
|
|
52502
52510
|
appropriateConstraintTypeNode = factory.createTypeOperatorNode(143 /* KeyOfKeyword */, newTypeVariable || typeToTypeNodeHelper(getModifiersTypeFromMappedType(type2), context));
|
|
52511
|
+
} else if (needsModifierPreservingWrapper) {
|
|
52512
|
+
const newParam = createTypeParameter(createSymbol(262144 /* TypeParameter */, "T"));
|
|
52513
|
+
const name = typeParameterToName(newParam, context);
|
|
52514
|
+
newTypeVariable = factory.createTypeReferenceNode(name);
|
|
52515
|
+
appropriateConstraintTypeNode = newTypeVariable;
|
|
52503
52516
|
} else {
|
|
52504
52517
|
appropriateConstraintTypeNode = typeToTypeNodeHelper(getConstraintTypeFromMappedType(type2), context);
|
|
52505
52518
|
}
|
|
@@ -52530,6 +52543,18 @@ function createTypeChecker(host) {
|
|
|
52530
52543
|
result,
|
|
52531
52544
|
factory.createKeywordTypeNode(146 /* NeverKeyword */)
|
|
52532
52545
|
);
|
|
52546
|
+
} else if (needsModifierPreservingWrapper) {
|
|
52547
|
+
return factory.createConditionalTypeNode(
|
|
52548
|
+
typeToTypeNodeHelper(getConstraintTypeFromMappedType(type2), context),
|
|
52549
|
+
factory.createInferTypeNode(factory.createTypeParameterDeclaration(
|
|
52550
|
+
/*modifiers*/
|
|
52551
|
+
void 0,
|
|
52552
|
+
factory.cloneNode(newTypeVariable.typeName),
|
|
52553
|
+
factory.createTypeOperatorNode(143 /* KeyOfKeyword */, typeToTypeNodeHelper(getModifiersTypeFromMappedType(type2), context))
|
|
52554
|
+
)),
|
|
52555
|
+
result,
|
|
52556
|
+
factory.createKeywordTypeNode(146 /* NeverKeyword */)
|
|
52557
|
+
);
|
|
52533
52558
|
}
|
|
52534
52559
|
return result;
|
|
52535
52560
|
}
|
|
@@ -127053,7 +127078,6 @@ function createWatchProgram(host) {
|
|
|
127053
127078
|
if (hasChangedCompilerOptions) {
|
|
127054
127079
|
newLine = updateNewLine();
|
|
127055
127080
|
if (program && changesAffectModuleResolution(program.getCompilerOptions(), compilerOptions)) {
|
|
127056
|
-
debugger;
|
|
127057
127081
|
resolutionCache.onChangesAffectModuleResolution();
|
|
127058
127082
|
}
|
|
127059
127083
|
}
|
|
@@ -150891,6 +150915,14 @@ function promoteFromTypeOnly(changes, aliasDeclaration, compilerOptions, sourceF
|
|
|
150891
150915
|
}
|
|
150892
150916
|
function promoteImportClause(importClause) {
|
|
150893
150917
|
changes.delete(sourceFile, getTypeKeywordOfTypeOnlyImport(importClause, sourceFile));
|
|
150918
|
+
if (!compilerOptions.allowImportingTsExtensions) {
|
|
150919
|
+
const moduleSpecifier = tryGetModuleSpecifierFromDeclaration(importClause.parent);
|
|
150920
|
+
const resolvedModule = moduleSpecifier && getResolvedModule(sourceFile, moduleSpecifier.text, getModeForUsageLocation(sourceFile, moduleSpecifier));
|
|
150921
|
+
if (resolvedModule == null ? void 0 : resolvedModule.resolvedUsingTsExtension) {
|
|
150922
|
+
const changedExtension = changeAnyExtension(moduleSpecifier.text, getOutputExtension(moduleSpecifier.text, compilerOptions));
|
|
150923
|
+
changes.replaceNode(sourceFile, moduleSpecifier, factory.createStringLiteral(changedExtension));
|
|
150924
|
+
}
|
|
150925
|
+
}
|
|
150894
150926
|
if (convertExistingToTypeOnly) {
|
|
150895
150927
|
const namedImports = tryCast(importClause.namedBindings, isNamedImports);
|
|
150896
150928
|
if (namedImports && namedImports.elements.length > 1) {
|
package/lib/tsserverlibrary.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.20230725`;
|
|
39
39
|
Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
40
40
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
41
41
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -41750,6 +41750,9 @@ ${lanes.join("\n")}
|
|
|
41750
41750
|
if (found === 1 /* Instantiated */) {
|
|
41751
41751
|
return found;
|
|
41752
41752
|
}
|
|
41753
|
+
if (statement.kind === 271 /* ImportEqualsDeclaration */) {
|
|
41754
|
+
found = 1 /* Instantiated */;
|
|
41755
|
+
}
|
|
41753
41756
|
}
|
|
41754
41757
|
}
|
|
41755
41758
|
if (found !== void 0) {
|
|
@@ -48661,7 +48664,7 @@ ${lanes.join("\n")}
|
|
|
48661
48664
|
return isStringLiteralLike(moduleReferenceExpression) ? resolveExternalModule(location, moduleReferenceExpression.text, moduleNotFoundError, moduleReferenceExpression, isForAugmentation) : void 0;
|
|
48662
48665
|
}
|
|
48663
48666
|
function resolveExternalModule(location, moduleReference, moduleNotFoundError, errorNode, isForAugmentation = false) {
|
|
48664
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
48667
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
48665
48668
|
if (startsWith(moduleReference, "@types/")) {
|
|
48666
48669
|
const diag2 = Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1;
|
|
48667
48670
|
const withoutAtTypePrefix = removePrefix(moduleReference, "@types/");
|
|
@@ -48696,8 +48699,11 @@ ${lanes.join("\n")}
|
|
|
48696
48699
|
);
|
|
48697
48700
|
}
|
|
48698
48701
|
} else if (resolvedModule.resolvedUsingTsExtension && !shouldAllowImportingTsExtension(compilerOptions, currentSourceFile.fileName)) {
|
|
48699
|
-
const
|
|
48700
|
-
|
|
48702
|
+
const importOrExport = ((_h = findAncestor(location, isImportDeclaration)) == null ? void 0 : _h.importClause) || findAncestor(location, or(isImportEqualsDeclaration, isExportDeclaration));
|
|
48703
|
+
if (!((importOrExport == null ? void 0 : importOrExport.isTypeOnly) || findAncestor(location, isImportTypeNode))) {
|
|
48704
|
+
const tsExtension = Debug.checkDefined(tryExtractTSExtension(moduleReference));
|
|
48705
|
+
error2(errorNode, Diagnostics.An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled, tsExtension);
|
|
48706
|
+
}
|
|
48701
48707
|
}
|
|
48702
48708
|
if (sourceFile.symbol) {
|
|
48703
48709
|
if (resolvedModule.isExternalLibraryImport && !resolutionExtensionIsTSOrJson(resolvedModule.extension)) {
|
|
@@ -48714,7 +48720,7 @@ ${lanes.join("\n")}
|
|
|
48714
48720
|
if (moduleResolutionKind === 3 /* Node16 */ || moduleResolutionKind === 99 /* NodeNext */) {
|
|
48715
48721
|
const isSyncImport = currentSourceFile.impliedNodeFormat === 1 /* CommonJS */ && !findAncestor(location, isImportCall) || !!findAncestor(location, isImportEqualsDeclaration);
|
|
48716
48722
|
const overrideClauseHost = findAncestor(location, (l) => isImportTypeNode(l) || isExportDeclaration(l) || isImportDeclaration(l));
|
|
48717
|
-
const overrideClause = overrideClauseHost && isImportTypeNode(overrideClauseHost) ? (
|
|
48723
|
+
const overrideClause = overrideClauseHost && isImportTypeNode(overrideClauseHost) ? (_i = overrideClauseHost.assertions) == null ? void 0 : _i.assertClause : overrideClauseHost == null ? void 0 : overrideClauseHost.assertClause;
|
|
48718
48724
|
if (isSyncImport && sourceFile.impliedNodeFormat === 99 /* ESNext */ && !getResolutionModeOverrideForClause(overrideClause)) {
|
|
48719
48725
|
if (findAncestor(location, isImportEqualsDeclaration)) {
|
|
48720
48726
|
error2(errorNode, Diagnostics.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead, moduleReference);
|
|
@@ -48817,7 +48823,7 @@ ${lanes.join("\n")}
|
|
|
48817
48823
|
error2(errorNode, Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension, moduleReference);
|
|
48818
48824
|
} else if (mode === 99 /* ESNext */ && resolutionIsNode16OrNext && isExtensionlessRelativePathImport) {
|
|
48819
48825
|
const absoluteRef = getNormalizedAbsolutePath(moduleReference, getDirectoryPath(currentSourceFile.path));
|
|
48820
|
-
const suggestedExt = (
|
|
48826
|
+
const suggestedExt = (_j = suggestedExtensions.find(([actualExt, _importExt]) => host.fileExists(absoluteRef + actualExt))) == null ? void 0 : _j[1];
|
|
48821
48827
|
if (suggestedExt) {
|
|
48822
48828
|
error2(
|
|
48823
48829
|
errorNode,
|
|
@@ -50253,11 +50259,13 @@ ${lanes.join("\n")}
|
|
|
50253
50259
|
return !!type2.target && isMappedTypeHomomorphic(type2.target) && !isMappedTypeHomomorphic(type2);
|
|
50254
50260
|
}
|
|
50255
50261
|
function createMappedTypeNodeFromType(type2) {
|
|
50262
|
+
var _a2;
|
|
50256
50263
|
Debug.assert(!!(type2.flags & 524288 /* Object */));
|
|
50257
50264
|
const readonlyToken = type2.declaration.readonlyToken ? factory.createToken(type2.declaration.readonlyToken.kind) : void 0;
|
|
50258
50265
|
const questionToken = type2.declaration.questionToken ? factory.createToken(type2.declaration.questionToken.kind) : void 0;
|
|
50259
50266
|
let appropriateConstraintTypeNode;
|
|
50260
50267
|
let newTypeVariable;
|
|
50268
|
+
const needsModifierPreservingWrapper = !isMappedTypeWithKeyofConstraintDeclaration(type2) && !(getModifiersTypeFromMappedType(type2).flags & 2 /* Unknown */) && context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && !(getConstraintTypeFromMappedType(type2).flags & 262144 /* TypeParameter */ && ((_a2 = getConstraintOfTypeParameter(getConstraintTypeFromMappedType(type2))) == null ? void 0 : _a2.flags) & 4194304 /* Index */);
|
|
50261
50269
|
if (isMappedTypeWithKeyofConstraintDeclaration(type2)) {
|
|
50262
50270
|
if (isHomomorphicMappedTypeWithNonHomomorphicInstantiation(type2) && context.flags & 4 /* GenerateNamesForShadowedTypeParams */) {
|
|
50263
50271
|
const newParam = createTypeParameter(createSymbol(262144 /* TypeParameter */, "T"));
|
|
@@ -50265,6 +50273,11 @@ ${lanes.join("\n")}
|
|
|
50265
50273
|
newTypeVariable = factory.createTypeReferenceNode(name);
|
|
50266
50274
|
}
|
|
50267
50275
|
appropriateConstraintTypeNode = factory.createTypeOperatorNode(143 /* KeyOfKeyword */, newTypeVariable || typeToTypeNodeHelper(getModifiersTypeFromMappedType(type2), context));
|
|
50276
|
+
} else if (needsModifierPreservingWrapper) {
|
|
50277
|
+
const newParam = createTypeParameter(createSymbol(262144 /* TypeParameter */, "T"));
|
|
50278
|
+
const name = typeParameterToName(newParam, context);
|
|
50279
|
+
newTypeVariable = factory.createTypeReferenceNode(name);
|
|
50280
|
+
appropriateConstraintTypeNode = newTypeVariable;
|
|
50268
50281
|
} else {
|
|
50269
50282
|
appropriateConstraintTypeNode = typeToTypeNodeHelper(getConstraintTypeFromMappedType(type2), context);
|
|
50270
50283
|
}
|
|
@@ -50295,6 +50308,18 @@ ${lanes.join("\n")}
|
|
|
50295
50308
|
result,
|
|
50296
50309
|
factory.createKeywordTypeNode(146 /* NeverKeyword */)
|
|
50297
50310
|
);
|
|
50311
|
+
} else if (needsModifierPreservingWrapper) {
|
|
50312
|
+
return factory.createConditionalTypeNode(
|
|
50313
|
+
typeToTypeNodeHelper(getConstraintTypeFromMappedType(type2), context),
|
|
50314
|
+
factory.createInferTypeNode(factory.createTypeParameterDeclaration(
|
|
50315
|
+
/*modifiers*/
|
|
50316
|
+
void 0,
|
|
50317
|
+
factory.cloneNode(newTypeVariable.typeName),
|
|
50318
|
+
factory.createTypeOperatorNode(143 /* KeyOfKeyword */, typeToTypeNodeHelper(getModifiersTypeFromMappedType(type2), context))
|
|
50319
|
+
)),
|
|
50320
|
+
result,
|
|
50321
|
+
factory.createKeywordTypeNode(146 /* NeverKeyword */)
|
|
50322
|
+
);
|
|
50298
50323
|
}
|
|
50299
50324
|
return result;
|
|
50300
50325
|
}
|
|
@@ -125208,7 +125233,6 @@ ${lanes.join("\n")}
|
|
|
125208
125233
|
if (hasChangedCompilerOptions) {
|
|
125209
125234
|
newLine = updateNewLine();
|
|
125210
125235
|
if (program && changesAffectModuleResolution(program.getCompilerOptions(), compilerOptions)) {
|
|
125211
|
-
debugger;
|
|
125212
125236
|
resolutionCache.onChangesAffectModuleResolution();
|
|
125213
125237
|
}
|
|
125214
125238
|
}
|
|
@@ -149619,6 +149643,14 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
149619
149643
|
}
|
|
149620
149644
|
function promoteImportClause(importClause) {
|
|
149621
149645
|
changes.delete(sourceFile, getTypeKeywordOfTypeOnlyImport(importClause, sourceFile));
|
|
149646
|
+
if (!compilerOptions.allowImportingTsExtensions) {
|
|
149647
|
+
const moduleSpecifier = tryGetModuleSpecifierFromDeclaration(importClause.parent);
|
|
149648
|
+
const resolvedModule = moduleSpecifier && getResolvedModule(sourceFile, moduleSpecifier.text, getModeForUsageLocation(sourceFile, moduleSpecifier));
|
|
149649
|
+
if (resolvedModule == null ? void 0 : resolvedModule.resolvedUsingTsExtension) {
|
|
149650
|
+
const changedExtension = changeAnyExtension(moduleSpecifier.text, getOutputExtension(moduleSpecifier.text, compilerOptions));
|
|
149651
|
+
changes.replaceNode(sourceFile, moduleSpecifier, factory.createStringLiteral(changedExtension));
|
|
149652
|
+
}
|
|
149653
|
+
}
|
|
149622
149654
|
if (convertExistingToTypeOnly) {
|
|
149623
149655
|
const namedImports = tryCast(importClause.namedBindings, isNamedImports);
|
|
149624
149656
|
if (namedImports && namedImports.elements.length > 1) {
|
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.20230725`;
|
|
39
39
|
Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
40
40
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
41
41
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -41750,6 +41750,9 @@ ${lanes.join("\n")}
|
|
|
41750
41750
|
if (found === 1 /* Instantiated */) {
|
|
41751
41751
|
return found;
|
|
41752
41752
|
}
|
|
41753
|
+
if (statement.kind === 271 /* ImportEqualsDeclaration */) {
|
|
41754
|
+
found = 1 /* Instantiated */;
|
|
41755
|
+
}
|
|
41753
41756
|
}
|
|
41754
41757
|
}
|
|
41755
41758
|
if (found !== void 0) {
|
|
@@ -48661,7 +48664,7 @@ ${lanes.join("\n")}
|
|
|
48661
48664
|
return isStringLiteralLike(moduleReferenceExpression) ? resolveExternalModule(location, moduleReferenceExpression.text, moduleNotFoundError, moduleReferenceExpression, isForAugmentation) : void 0;
|
|
48662
48665
|
}
|
|
48663
48666
|
function resolveExternalModule(location, moduleReference, moduleNotFoundError, errorNode, isForAugmentation = false) {
|
|
48664
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
48667
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
48665
48668
|
if (startsWith(moduleReference, "@types/")) {
|
|
48666
48669
|
const diag2 = Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1;
|
|
48667
48670
|
const withoutAtTypePrefix = removePrefix(moduleReference, "@types/");
|
|
@@ -48696,8 +48699,11 @@ ${lanes.join("\n")}
|
|
|
48696
48699
|
);
|
|
48697
48700
|
}
|
|
48698
48701
|
} else if (resolvedModule.resolvedUsingTsExtension && !shouldAllowImportingTsExtension(compilerOptions, currentSourceFile.fileName)) {
|
|
48699
|
-
const
|
|
48700
|
-
|
|
48702
|
+
const importOrExport = ((_h = findAncestor(location, isImportDeclaration)) == null ? void 0 : _h.importClause) || findAncestor(location, or(isImportEqualsDeclaration, isExportDeclaration));
|
|
48703
|
+
if (!((importOrExport == null ? void 0 : importOrExport.isTypeOnly) || findAncestor(location, isImportTypeNode))) {
|
|
48704
|
+
const tsExtension = Debug.checkDefined(tryExtractTSExtension(moduleReference));
|
|
48705
|
+
error2(errorNode, Diagnostics.An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled, tsExtension);
|
|
48706
|
+
}
|
|
48701
48707
|
}
|
|
48702
48708
|
if (sourceFile.symbol) {
|
|
48703
48709
|
if (resolvedModule.isExternalLibraryImport && !resolutionExtensionIsTSOrJson(resolvedModule.extension)) {
|
|
@@ -48714,7 +48720,7 @@ ${lanes.join("\n")}
|
|
|
48714
48720
|
if (moduleResolutionKind === 3 /* Node16 */ || moduleResolutionKind === 99 /* NodeNext */) {
|
|
48715
48721
|
const isSyncImport = currentSourceFile.impliedNodeFormat === 1 /* CommonJS */ && !findAncestor(location, isImportCall) || !!findAncestor(location, isImportEqualsDeclaration);
|
|
48716
48722
|
const overrideClauseHost = findAncestor(location, (l) => isImportTypeNode(l) || isExportDeclaration(l) || isImportDeclaration(l));
|
|
48717
|
-
const overrideClause = overrideClauseHost && isImportTypeNode(overrideClauseHost) ? (
|
|
48723
|
+
const overrideClause = overrideClauseHost && isImportTypeNode(overrideClauseHost) ? (_i = overrideClauseHost.assertions) == null ? void 0 : _i.assertClause : overrideClauseHost == null ? void 0 : overrideClauseHost.assertClause;
|
|
48718
48724
|
if (isSyncImport && sourceFile.impliedNodeFormat === 99 /* ESNext */ && !getResolutionModeOverrideForClause(overrideClause)) {
|
|
48719
48725
|
if (findAncestor(location, isImportEqualsDeclaration)) {
|
|
48720
48726
|
error2(errorNode, Diagnostics.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead, moduleReference);
|
|
@@ -48817,7 +48823,7 @@ ${lanes.join("\n")}
|
|
|
48817
48823
|
error2(errorNode, Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension, moduleReference);
|
|
48818
48824
|
} else if (mode === 99 /* ESNext */ && resolutionIsNode16OrNext && isExtensionlessRelativePathImport) {
|
|
48819
48825
|
const absoluteRef = getNormalizedAbsolutePath(moduleReference, getDirectoryPath(currentSourceFile.path));
|
|
48820
|
-
const suggestedExt = (
|
|
48826
|
+
const suggestedExt = (_j = suggestedExtensions.find(([actualExt, _importExt]) => host.fileExists(absoluteRef + actualExt))) == null ? void 0 : _j[1];
|
|
48821
48827
|
if (suggestedExt) {
|
|
48822
48828
|
error2(
|
|
48823
48829
|
errorNode,
|
|
@@ -50253,11 +50259,13 @@ ${lanes.join("\n")}
|
|
|
50253
50259
|
return !!type2.target && isMappedTypeHomomorphic(type2.target) && !isMappedTypeHomomorphic(type2);
|
|
50254
50260
|
}
|
|
50255
50261
|
function createMappedTypeNodeFromType(type2) {
|
|
50262
|
+
var _a2;
|
|
50256
50263
|
Debug.assert(!!(type2.flags & 524288 /* Object */));
|
|
50257
50264
|
const readonlyToken = type2.declaration.readonlyToken ? factory.createToken(type2.declaration.readonlyToken.kind) : void 0;
|
|
50258
50265
|
const questionToken = type2.declaration.questionToken ? factory.createToken(type2.declaration.questionToken.kind) : void 0;
|
|
50259
50266
|
let appropriateConstraintTypeNode;
|
|
50260
50267
|
let newTypeVariable;
|
|
50268
|
+
const needsModifierPreservingWrapper = !isMappedTypeWithKeyofConstraintDeclaration(type2) && !(getModifiersTypeFromMappedType(type2).flags & 2 /* Unknown */) && context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && !(getConstraintTypeFromMappedType(type2).flags & 262144 /* TypeParameter */ && ((_a2 = getConstraintOfTypeParameter(getConstraintTypeFromMappedType(type2))) == null ? void 0 : _a2.flags) & 4194304 /* Index */);
|
|
50261
50269
|
if (isMappedTypeWithKeyofConstraintDeclaration(type2)) {
|
|
50262
50270
|
if (isHomomorphicMappedTypeWithNonHomomorphicInstantiation(type2) && context.flags & 4 /* GenerateNamesForShadowedTypeParams */) {
|
|
50263
50271
|
const newParam = createTypeParameter(createSymbol(262144 /* TypeParameter */, "T"));
|
|
@@ -50265,6 +50273,11 @@ ${lanes.join("\n")}
|
|
|
50265
50273
|
newTypeVariable = factory.createTypeReferenceNode(name);
|
|
50266
50274
|
}
|
|
50267
50275
|
appropriateConstraintTypeNode = factory.createTypeOperatorNode(143 /* KeyOfKeyword */, newTypeVariable || typeToTypeNodeHelper(getModifiersTypeFromMappedType(type2), context));
|
|
50276
|
+
} else if (needsModifierPreservingWrapper) {
|
|
50277
|
+
const newParam = createTypeParameter(createSymbol(262144 /* TypeParameter */, "T"));
|
|
50278
|
+
const name = typeParameterToName(newParam, context);
|
|
50279
|
+
newTypeVariable = factory.createTypeReferenceNode(name);
|
|
50280
|
+
appropriateConstraintTypeNode = newTypeVariable;
|
|
50268
50281
|
} else {
|
|
50269
50282
|
appropriateConstraintTypeNode = typeToTypeNodeHelper(getConstraintTypeFromMappedType(type2), context);
|
|
50270
50283
|
}
|
|
@@ -50295,6 +50308,18 @@ ${lanes.join("\n")}
|
|
|
50295
50308
|
result,
|
|
50296
50309
|
factory.createKeywordTypeNode(146 /* NeverKeyword */)
|
|
50297
50310
|
);
|
|
50311
|
+
} else if (needsModifierPreservingWrapper) {
|
|
50312
|
+
return factory.createConditionalTypeNode(
|
|
50313
|
+
typeToTypeNodeHelper(getConstraintTypeFromMappedType(type2), context),
|
|
50314
|
+
factory.createInferTypeNode(factory.createTypeParameterDeclaration(
|
|
50315
|
+
/*modifiers*/
|
|
50316
|
+
void 0,
|
|
50317
|
+
factory.cloneNode(newTypeVariable.typeName),
|
|
50318
|
+
factory.createTypeOperatorNode(143 /* KeyOfKeyword */, typeToTypeNodeHelper(getModifiersTypeFromMappedType(type2), context))
|
|
50319
|
+
)),
|
|
50320
|
+
result,
|
|
50321
|
+
factory.createKeywordTypeNode(146 /* NeverKeyword */)
|
|
50322
|
+
);
|
|
50298
50323
|
}
|
|
50299
50324
|
return result;
|
|
50300
50325
|
}
|
|
@@ -125208,7 +125233,6 @@ ${lanes.join("\n")}
|
|
|
125208
125233
|
if (hasChangedCompilerOptions) {
|
|
125209
125234
|
newLine = updateNewLine();
|
|
125210
125235
|
if (program && changesAffectModuleResolution(program.getCompilerOptions(), compilerOptions)) {
|
|
125211
|
-
debugger;
|
|
125212
125236
|
resolutionCache.onChangesAffectModuleResolution();
|
|
125213
125237
|
}
|
|
125214
125238
|
}
|
|
@@ -149634,6 +149658,14 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
149634
149658
|
}
|
|
149635
149659
|
function promoteImportClause(importClause) {
|
|
149636
149660
|
changes.delete(sourceFile, getTypeKeywordOfTypeOnlyImport(importClause, sourceFile));
|
|
149661
|
+
if (!compilerOptions.allowImportingTsExtensions) {
|
|
149662
|
+
const moduleSpecifier = tryGetModuleSpecifierFromDeclaration(importClause.parent);
|
|
149663
|
+
const resolvedModule = moduleSpecifier && getResolvedModule(sourceFile, moduleSpecifier.text, getModeForUsageLocation(sourceFile, moduleSpecifier));
|
|
149664
|
+
if (resolvedModule == null ? void 0 : resolvedModule.resolvedUsingTsExtension) {
|
|
149665
|
+
const changedExtension = changeAnyExtension(moduleSpecifier.text, getOutputExtension(moduleSpecifier.text, compilerOptions));
|
|
149666
|
+
changes.replaceNode(sourceFile, moduleSpecifier, factory.createStringLiteral(changedExtension));
|
|
149667
|
+
}
|
|
149668
|
+
}
|
|
149637
149669
|
if (convertExistingToTypeOnly) {
|
|
149638
149670
|
const namedImports = tryCast(importClause.namedBindings, isNamedImports);
|
|
149639
149671
|
if (namedImports && namedImports.elements.length > 1) {
|
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.20230725`;
|
|
58
58
|
|
|
59
59
|
// src/compiler/core.ts
|
|
60
60
|
var emptyArray = [];
|
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.20230725",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|
|
@@ -113,5 +113,5 @@
|
|
|
113
113
|
"node": "20.1.0",
|
|
114
114
|
"npm": "8.19.4"
|
|
115
115
|
},
|
|
116
|
-
"gitHead": "
|
|
116
|
+
"gitHead": "b1bec34f20690c6fdf6cc6e3d8cacee1e075f5ae"
|
|
117
117
|
}
|