@typescript-deploys/pr-build 5.5.0-pr-57681-18 → 5.5.0-pr-57912-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 +16 -19
- package/lib/tsserver.js +108 -114
- package/lib/typescript.js +32 -29
- package/lib/typingsInstaller.js +18 -24
- package/package.json +10 -10
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.5";
|
|
21
|
-
var version = `${versionMajorMinor}.0-insiders.
|
|
21
|
+
var version = `${versionMajorMinor}.0-insiders.20240322`;
|
|
22
22
|
|
|
23
23
|
// src/compiler/core.ts
|
|
24
24
|
var emptyArray = [];
|
|
@@ -43561,12 +43561,9 @@ function createTypeChecker(host) {
|
|
|
43561
43561
|
getExactOptionalProperties,
|
|
43562
43562
|
getAllPossiblePropertiesOfTypes,
|
|
43563
43563
|
getSuggestedSymbolForNonexistentProperty,
|
|
43564
|
-
getSuggestionForNonexistentProperty,
|
|
43565
43564
|
getSuggestedSymbolForNonexistentJSXAttribute,
|
|
43566
43565
|
getSuggestedSymbolForNonexistentSymbol: (location, name, meaning) => getSuggestedSymbolForNonexistentSymbol(location, escapeLeadingUnderscores(name), meaning),
|
|
43567
|
-
getSuggestionForNonexistentSymbol: (location, name, meaning) => getSuggestionForNonexistentSymbol(location, escapeLeadingUnderscores(name), meaning),
|
|
43568
43566
|
getSuggestedSymbolForNonexistentModule,
|
|
43569
|
-
getSuggestionForNonexistentExport,
|
|
43570
43567
|
getSuggestedSymbolForNonexistentClassMember,
|
|
43571
43568
|
getBaseConstraintOfType,
|
|
43572
43569
|
getDefaultFromTypeParameter: (type) => type && type.flags & 262144 /* TypeParameter */ ? getDefaultFromTypeParameter(type) : void 0,
|
|
@@ -47594,15 +47591,19 @@ function createTypeChecker(host) {
|
|
|
47594
47591
|
return true;
|
|
47595
47592
|
}
|
|
47596
47593
|
}
|
|
47597
|
-
function
|
|
47594
|
+
function getMeaningOfEntityNameReference(entityName) {
|
|
47598
47595
|
let meaning;
|
|
47599
47596
|
if (entityName.parent.kind === 186 /* TypeQuery */ || entityName.parent.kind === 233 /* ExpressionWithTypeArguments */ && !isPartOfTypeNode(entityName.parent) || entityName.parent.kind === 167 /* ComputedPropertyName */) {
|
|
47600
47597
|
meaning = 111551 /* Value */ | 1048576 /* ExportValue */;
|
|
47601
|
-
} else if (entityName.kind === 166 /* QualifiedName */ || entityName.kind === 211 /* PropertyAccessExpression */ || entityName.parent.kind === 271 /* ImportEqualsDeclaration */) {
|
|
47598
|
+
} else if (entityName.kind === 166 /* QualifiedName */ || entityName.kind === 211 /* PropertyAccessExpression */ || entityName.parent.kind === 271 /* ImportEqualsDeclaration */ || entityName.parent.kind === 166 /* QualifiedName */ && entityName.parent.left === entityName || entityName.parent.kind === 211 /* PropertyAccessExpression */ && entityName.parent.expression === entityName || entityName.parent.kind === 212 /* ElementAccessExpression */ && entityName.parent.expression === entityName) {
|
|
47602
47599
|
meaning = 1920 /* Namespace */;
|
|
47603
47600
|
} else {
|
|
47604
47601
|
meaning = 788968 /* Type */;
|
|
47605
47602
|
}
|
|
47603
|
+
return meaning;
|
|
47604
|
+
}
|
|
47605
|
+
function isEntityNameVisible(entityName, enclosingDeclaration) {
|
|
47606
|
+
const meaning = getMeaningOfEntityNameReference(entityName);
|
|
47606
47607
|
const firstIdentifier = getFirstIdentifier(entityName);
|
|
47607
47608
|
const symbol = resolveName(
|
|
47608
47609
|
enclosingDeclaration,
|
|
@@ -49709,9 +49710,10 @@ function createTypeChecker(host) {
|
|
|
49709
49710
|
introducesError = true;
|
|
49710
49711
|
return { introducesError, node };
|
|
49711
49712
|
}
|
|
49713
|
+
const meaning = getMeaningOfEntityNameReference(node);
|
|
49712
49714
|
const sym = resolveEntityName(
|
|
49713
49715
|
leftmost,
|
|
49714
|
-
|
|
49716
|
+
meaning,
|
|
49715
49717
|
/*ignoreErrors*/
|
|
49716
49718
|
true,
|
|
49717
49719
|
/*dontResolveAlias*/
|
|
@@ -49721,7 +49723,7 @@ function createTypeChecker(host) {
|
|
|
49721
49723
|
if (isSymbolAccessible(
|
|
49722
49724
|
sym,
|
|
49723
49725
|
context.enclosingDeclaration,
|
|
49724
|
-
|
|
49726
|
+
meaning,
|
|
49725
49727
|
/*shouldComputeAliasesToMakeVisible*/
|
|
49726
49728
|
false
|
|
49727
49729
|
).accessibility !== 0 /* Accessible */) {
|
|
@@ -49729,7 +49731,7 @@ function createTypeChecker(host) {
|
|
|
49729
49731
|
introducesError = true;
|
|
49730
49732
|
}
|
|
49731
49733
|
} else {
|
|
49732
|
-
context.tracker.trackSymbol(sym, context.enclosingDeclaration,
|
|
49734
|
+
context.tracker.trackSymbol(sym, context.enclosingDeclaration, meaning);
|
|
49733
49735
|
includePrivateSymbol == null ? void 0 : includePrivateSymbol(sym);
|
|
49734
49736
|
}
|
|
49735
49737
|
if (isIdentifier(node)) {
|
|
@@ -57684,6 +57686,9 @@ function createTypeChecker(host) {
|
|
|
57684
57686
|
} else if (every(typeSet, (t) => !!(t.flags & 1048576 /* Union */ && (t.types[0].flags & 65536 /* Null */ || t.types[1].flags & 65536 /* Null */)))) {
|
|
57685
57687
|
removeFromEach(typeSet, 65536 /* Null */);
|
|
57686
57688
|
result = getUnionType([getIntersectionType(typeSet), nullType], 1 /* Literal */, aliasSymbol, aliasTypeArguments);
|
|
57689
|
+
} else if (typeSet.length >= 4) {
|
|
57690
|
+
const middle = Math.floor(typeSet.length / 2);
|
|
57691
|
+
result = getIntersectionType([getIntersectionType(typeSet.slice(0, middle)), getIntersectionType(typeSet.slice(middle))], aliasSymbol, aliasTypeArguments);
|
|
57687
57692
|
} else {
|
|
57688
57693
|
if (!checkCrossProductUnion(typeSet)) {
|
|
57689
57694
|
return errorType;
|
|
@@ -70760,17 +70765,9 @@ function createTypeChecker(host) {
|
|
|
70760
70765
|
);
|
|
70761
70766
|
return result;
|
|
70762
70767
|
}
|
|
70763
|
-
function getSuggestionForNonexistentSymbol(location, outerName, meaning) {
|
|
70764
|
-
const symbolResult = getSuggestedSymbolForNonexistentSymbol(location, outerName, meaning);
|
|
70765
|
-
return symbolResult && symbolName(symbolResult);
|
|
70766
|
-
}
|
|
70767
70768
|
function getSuggestedSymbolForNonexistentModule(name, targetModule) {
|
|
70768
70769
|
return targetModule.exports && getSpellingSuggestionForName(idText(name), getExportsOfModuleAsArray(targetModule), 2623475 /* ModuleMember */);
|
|
70769
70770
|
}
|
|
70770
|
-
function getSuggestionForNonexistentExport(name, targetModule) {
|
|
70771
|
-
const suggestion = getSuggestedSymbolForNonexistentModule(name, targetModule);
|
|
70772
|
-
return suggestion && symbolName(suggestion);
|
|
70773
|
-
}
|
|
70774
70771
|
function getSuggestionForNonexistentIndexSignature(objectType, expr, keyedType) {
|
|
70775
70772
|
function hasProp(name) {
|
|
70776
70773
|
const prop = getPropertyOfObjectType(objectType, name);
|
|
@@ -73901,7 +73898,7 @@ function createTypeChecker(host) {
|
|
|
73901
73898
|
/*contextFlags*/
|
|
73902
73899
|
void 0
|
|
73903
73900
|
);
|
|
73904
|
-
const returnType2 = contextualReturnType && (unwrapReturnType(contextualReturnType, functionFlags) || voidType).flags & 32768 /* Undefined */ ? undefinedType : voidType;
|
|
73901
|
+
const returnType2 = contextualReturnType && someType(unwrapReturnType(contextualReturnType, functionFlags) || voidType, (t) => !!(t.flags & 32768 /* Undefined */)) ? undefinedType : voidType;
|
|
73905
73902
|
return functionFlags & 2 /* Async */ ? createPromiseReturnType(func, returnType2) : (
|
|
73906
73903
|
// Async function
|
|
73907
73904
|
returnType2
|
|
@@ -113576,8 +113573,8 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
113576
113573
|
}
|
|
113577
113574
|
function writeDirectives(kind, directives) {
|
|
113578
113575
|
for (const directive of directives) {
|
|
113576
|
+
const resolutionMode = directive.resolutionMode ? `resolution-mode="${directive.resolutionMode === 99 /* ESNext */ ? "import" : "require"}" ` : "";
|
|
113579
113577
|
const preserve = directive.preserve ? `preserve="true" ` : "";
|
|
113580
|
-
const resolutionMode = directive.resolutionMode && directive.resolutionMode !== (currentSourceFile == null ? void 0 : currentSourceFile.impliedNodeFormat) ? `resolution-mode="${directive.resolutionMode === 99 /* ESNext */ ? "import" : "require"}" ` : "";
|
|
113581
113578
|
writeComment(`/// <reference ${kind}="${directive.fileName}" ${resolutionMode}${preserve}/>`);
|
|
113582
113579
|
writeLine();
|
|
113583
113580
|
}
|
package/lib/tsserver.js
CHANGED
|
@@ -29,23 +29,17 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
29
29
|
};
|
|
30
30
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
31
31
|
|
|
32
|
-
// src/tsserver/_namespaces/ts.ts
|
|
33
|
-
var ts_exports = {};
|
|
34
|
-
|
|
35
32
|
// src/typescript/typescript.ts
|
|
36
33
|
var typescript_exports = {};
|
|
37
34
|
__reExport(typescript_exports, require("./typescript.js"));
|
|
38
35
|
|
|
39
|
-
// src/tsserver/_namespaces/ts.ts
|
|
40
|
-
__reExport(ts_exports, typescript_exports);
|
|
41
|
-
|
|
42
36
|
// src/tsserver/common.ts
|
|
43
37
|
function getLogLevel(level) {
|
|
44
38
|
if (level) {
|
|
45
39
|
const l = level.toLowerCase();
|
|
46
|
-
for (const name in
|
|
40
|
+
for (const name in typescript_exports.server.LogLevel) {
|
|
47
41
|
if (isNaN(+name) && l === name.toLowerCase()) {
|
|
48
|
-
return
|
|
42
|
+
return typescript_exports.server.LogLevel[name];
|
|
49
43
|
}
|
|
50
44
|
}
|
|
51
45
|
}
|
|
@@ -71,7 +65,7 @@ function parseLoggingEnvironmentString(logEnvStr) {
|
|
|
71
65
|
break;
|
|
72
66
|
case "-level":
|
|
73
67
|
const level = getLogLevel(value);
|
|
74
|
-
logEnv.detailLevel = level !== void 0 ? level :
|
|
68
|
+
logEnv.detailLevel = level !== void 0 ? level : typescript_exports.server.LogLevel.normal;
|
|
75
69
|
break;
|
|
76
70
|
case "-traceToConsole":
|
|
77
71
|
logEnv.traceToConsole = value.toLowerCase() === "true";
|
|
@@ -86,35 +80,35 @@ function parseLoggingEnvironmentString(logEnvStr) {
|
|
|
86
80
|
function getEntireValue(initialIndex) {
|
|
87
81
|
let pathStart = args[initialIndex];
|
|
88
82
|
let extraPartCounter = 0;
|
|
89
|
-
if (pathStart.charCodeAt(0) ===
|
|
83
|
+
if (pathStart.charCodeAt(0) === typescript_exports.CharacterCodes.doubleQuote && pathStart.charCodeAt(pathStart.length - 1) !== typescript_exports.CharacterCodes.doubleQuote) {
|
|
90
84
|
for (let i = initialIndex + 1; i < args.length; i++) {
|
|
91
85
|
pathStart += " ";
|
|
92
86
|
pathStart += args[i];
|
|
93
87
|
extraPartCounter++;
|
|
94
|
-
if (pathStart.charCodeAt(pathStart.length - 1) ===
|
|
88
|
+
if (pathStart.charCodeAt(pathStart.length - 1) === typescript_exports.CharacterCodes.doubleQuote)
|
|
95
89
|
break;
|
|
96
90
|
}
|
|
97
91
|
}
|
|
98
|
-
return { value: (0,
|
|
92
|
+
return { value: (0, typescript_exports.stripQuotes)(pathStart), extraPartCounter };
|
|
99
93
|
}
|
|
100
94
|
}
|
|
101
95
|
function parseServerMode() {
|
|
102
|
-
const mode =
|
|
96
|
+
const mode = typescript_exports.server.findArgument("--serverMode");
|
|
103
97
|
if (!mode)
|
|
104
98
|
return void 0;
|
|
105
99
|
switch (mode.toLowerCase()) {
|
|
106
100
|
case "semantic":
|
|
107
|
-
return
|
|
101
|
+
return typescript_exports.LanguageServiceMode.Semantic;
|
|
108
102
|
case "partialsemantic":
|
|
109
|
-
return
|
|
103
|
+
return typescript_exports.LanguageServiceMode.PartialSemantic;
|
|
110
104
|
case "syntactic":
|
|
111
|
-
return
|
|
105
|
+
return typescript_exports.LanguageServiceMode.Syntactic;
|
|
112
106
|
default:
|
|
113
107
|
return mode;
|
|
114
108
|
}
|
|
115
109
|
}
|
|
116
110
|
function initializeNodeSystem() {
|
|
117
|
-
const sys4 =
|
|
111
|
+
const sys4 = typescript_exports.Debug.checkDefined(typescript_exports.sys);
|
|
118
112
|
const childProcess = require("child_process");
|
|
119
113
|
const fs = require("fs");
|
|
120
114
|
class Logger {
|
|
@@ -138,20 +132,20 @@ function initializeNodeSystem() {
|
|
|
138
132
|
}
|
|
139
133
|
close() {
|
|
140
134
|
if (this.fd >= 0) {
|
|
141
|
-
fs.close(this.fd,
|
|
135
|
+
fs.close(this.fd, typescript_exports.noop);
|
|
142
136
|
}
|
|
143
137
|
}
|
|
144
138
|
getLogFileName() {
|
|
145
139
|
return this.logFilename;
|
|
146
140
|
}
|
|
147
141
|
perftrc(s) {
|
|
148
|
-
this.msg(s,
|
|
142
|
+
this.msg(s, typescript_exports.server.Msg.Perf);
|
|
149
143
|
}
|
|
150
144
|
info(s) {
|
|
151
|
-
this.msg(s,
|
|
145
|
+
this.msg(s, typescript_exports.server.Msg.Info);
|
|
152
146
|
}
|
|
153
147
|
err(s) {
|
|
154
|
-
this.msg(s,
|
|
148
|
+
this.msg(s, typescript_exports.server.Msg.Err);
|
|
155
149
|
}
|
|
156
150
|
startGroup() {
|
|
157
151
|
this.inGroup = true;
|
|
@@ -166,22 +160,22 @@ function initializeNodeSystem() {
|
|
|
166
160
|
hasLevel(level) {
|
|
167
161
|
return this.loggingEnabled() && this.level >= level;
|
|
168
162
|
}
|
|
169
|
-
msg(s, type =
|
|
163
|
+
msg(s, type = typescript_exports.server.Msg.Err) {
|
|
170
164
|
var _a, _b, _c;
|
|
171
165
|
switch (type) {
|
|
172
|
-
case
|
|
173
|
-
(_a =
|
|
166
|
+
case typescript_exports.server.Msg.Info:
|
|
167
|
+
(_a = typescript_exports.perfLogger) == null ? void 0 : _a.logInfoEvent(s);
|
|
174
168
|
break;
|
|
175
|
-
case
|
|
176
|
-
(_b =
|
|
169
|
+
case typescript_exports.server.Msg.Perf:
|
|
170
|
+
(_b = typescript_exports.perfLogger) == null ? void 0 : _b.logPerfEvent(s);
|
|
177
171
|
break;
|
|
178
172
|
default:
|
|
179
|
-
(_c =
|
|
173
|
+
(_c = typescript_exports.perfLogger) == null ? void 0 : _c.logErrEvent(s);
|
|
180
174
|
break;
|
|
181
175
|
}
|
|
182
176
|
if (!this.canWrite())
|
|
183
177
|
return;
|
|
184
|
-
s = `[${
|
|
178
|
+
s = `[${typescript_exports.server.nowString()}] ${s}
|
|
185
179
|
`;
|
|
186
180
|
if (!this.inGroup || this.firstInGroup) {
|
|
187
181
|
const prefix = Logger.padStringRight(type + " " + this.seq.toString(), " ");
|
|
@@ -212,23 +206,23 @@ function initializeNodeSystem() {
|
|
|
212
206
|
}
|
|
213
207
|
}
|
|
214
208
|
}
|
|
215
|
-
const libDirectory = (0,
|
|
209
|
+
const libDirectory = (0, typescript_exports.getDirectoryPath)((0, typescript_exports.normalizePath)(sys4.getExecutingFilePath()));
|
|
216
210
|
const useWatchGuard = process.platform === "win32";
|
|
217
211
|
const originalWatchDirectory = sys4.watchDirectory.bind(sys4);
|
|
218
212
|
const logger = createLogger();
|
|
219
|
-
|
|
213
|
+
typescript_exports.Debug.loggingHost = {
|
|
220
214
|
log(level, s) {
|
|
221
215
|
switch (level) {
|
|
222
|
-
case
|
|
223
|
-
case
|
|
224
|
-
return logger.msg(s,
|
|
225
|
-
case
|
|
226
|
-
case
|
|
227
|
-
return logger.msg(s,
|
|
216
|
+
case typescript_exports.LogLevel.Error:
|
|
217
|
+
case typescript_exports.LogLevel.Warning:
|
|
218
|
+
return logger.msg(s, typescript_exports.server.Msg.Err);
|
|
219
|
+
case typescript_exports.LogLevel.Info:
|
|
220
|
+
case typescript_exports.LogLevel.Verbose:
|
|
221
|
+
return logger.msg(s, typescript_exports.server.Msg.Info);
|
|
228
222
|
}
|
|
229
223
|
}
|
|
230
224
|
};
|
|
231
|
-
const pending = (0,
|
|
225
|
+
const pending = (0, typescript_exports.createQueue)();
|
|
232
226
|
let canWrite = true;
|
|
233
227
|
if (useWatchGuard) {
|
|
234
228
|
const currentDrive = extractWatchDirectoryCacheKey(
|
|
@@ -241,35 +235,35 @@ function initializeNodeSystem() {
|
|
|
241
235
|
const cacheKey = extractWatchDirectoryCacheKey(path, currentDrive);
|
|
242
236
|
let status = cacheKey && statusCache.get(cacheKey);
|
|
243
237
|
if (status === void 0) {
|
|
244
|
-
if (logger.hasLevel(
|
|
238
|
+
if (logger.hasLevel(typescript_exports.server.LogLevel.verbose)) {
|
|
245
239
|
logger.info(`${cacheKey} for path ${path} not found in cache...`);
|
|
246
240
|
}
|
|
247
241
|
try {
|
|
248
|
-
const args = [(0,
|
|
249
|
-
if (logger.hasLevel(
|
|
250
|
-
logger.info(`Starting ${process.execPath} with args:${
|
|
242
|
+
const args = [(0, typescript_exports.combinePaths)(libDirectory, "watchGuard.js"), path];
|
|
243
|
+
if (logger.hasLevel(typescript_exports.server.LogLevel.verbose)) {
|
|
244
|
+
logger.info(`Starting ${process.execPath} with args:${typescript_exports.server.stringifyIndented(args)}`);
|
|
251
245
|
}
|
|
252
246
|
childProcess.execFileSync(process.execPath, args, { stdio: "ignore", env: { ELECTRON_RUN_AS_NODE: "1" } });
|
|
253
247
|
status = true;
|
|
254
|
-
if (logger.hasLevel(
|
|
248
|
+
if (logger.hasLevel(typescript_exports.server.LogLevel.verbose)) {
|
|
255
249
|
logger.info(`WatchGuard for path ${path} returned: OK`);
|
|
256
250
|
}
|
|
257
251
|
} catch (e) {
|
|
258
252
|
status = false;
|
|
259
|
-
if (logger.hasLevel(
|
|
253
|
+
if (logger.hasLevel(typescript_exports.server.LogLevel.verbose)) {
|
|
260
254
|
logger.info(`WatchGuard for path ${path} returned: ${e.message}`);
|
|
261
255
|
}
|
|
262
256
|
}
|
|
263
257
|
if (cacheKey) {
|
|
264
258
|
statusCache.set(cacheKey, status);
|
|
265
259
|
}
|
|
266
|
-
} else if (logger.hasLevel(
|
|
260
|
+
} else if (logger.hasLevel(typescript_exports.server.LogLevel.verbose)) {
|
|
267
261
|
logger.info(`watchDirectory for ${path} uses cached drive information.`);
|
|
268
262
|
}
|
|
269
263
|
if (status) {
|
|
270
264
|
return watchDirectorySwallowingException(path, callback, recursive, options);
|
|
271
265
|
} else {
|
|
272
|
-
return
|
|
266
|
+
return typescript_exports.noopFileWatcher;
|
|
273
267
|
}
|
|
274
268
|
};
|
|
275
269
|
} else {
|
|
@@ -291,11 +285,11 @@ function initializeNodeSystem() {
|
|
|
291
285
|
const factory = require("./cancellationToken");
|
|
292
286
|
cancellationToken = factory(sys4.args);
|
|
293
287
|
} catch (e) {
|
|
294
|
-
cancellationToken =
|
|
288
|
+
cancellationToken = typescript_exports.server.nullCancellationToken;
|
|
295
289
|
}
|
|
296
|
-
const localeStr =
|
|
290
|
+
const localeStr = typescript_exports.server.findArgument("--locale");
|
|
297
291
|
if (localeStr) {
|
|
298
|
-
(0,
|
|
292
|
+
(0, typescript_exports.validateLocaleAndSetLanguage)(localeStr, sys4);
|
|
299
293
|
}
|
|
300
294
|
const modeOrUnknown = parseServerMode();
|
|
301
295
|
let serverMode;
|
|
@@ -315,10 +309,10 @@ function initializeNodeSystem() {
|
|
|
315
309
|
startSession: startNodeSession
|
|
316
310
|
};
|
|
317
311
|
function createLogger() {
|
|
318
|
-
const cmdLineLogFileName =
|
|
319
|
-
const cmdLineVerbosity = getLogLevel(
|
|
312
|
+
const cmdLineLogFileName = typescript_exports.server.findArgument("--logFile");
|
|
313
|
+
const cmdLineVerbosity = getLogLevel(typescript_exports.server.findArgument("--logVerbosity"));
|
|
320
314
|
const envLogOptions = parseLoggingEnvironmentString(process.env.TSS_LOG);
|
|
321
|
-
const unsubstitutedLogFileName = cmdLineLogFileName ? (0,
|
|
315
|
+
const unsubstitutedLogFileName = cmdLineLogFileName ? (0, typescript_exports.stripQuotes)(cmdLineLogFileName) : envLogOptions.logToFile ? envLogOptions.file || libDirectory + "/.log" + process.pid.toString() : void 0;
|
|
322
316
|
const substitutedLogFileName = unsubstitutedLogFileName ? unsubstitutedLogFileName.replace("PID", process.pid.toString()) : void 0;
|
|
323
317
|
const logVerbosity = cmdLineVerbosity || envLogOptions.detailLevel;
|
|
324
318
|
return new Logger(substitutedLogFileName, envLogOptions.traceToConsole, logVerbosity);
|
|
@@ -338,32 +332,32 @@ function initializeNodeSystem() {
|
|
|
338
332
|
}
|
|
339
333
|
}
|
|
340
334
|
function extractWatchDirectoryCacheKey(path, currentDriveKey) {
|
|
341
|
-
path = (0,
|
|
335
|
+
path = (0, typescript_exports.normalizeSlashes)(path);
|
|
342
336
|
if (isUNCPath(path)) {
|
|
343
|
-
const firstSlash = path.indexOf(
|
|
344
|
-
return firstSlash !== -1 ? (0,
|
|
337
|
+
const firstSlash = path.indexOf(typescript_exports.directorySeparator, 2);
|
|
338
|
+
return firstSlash !== -1 ? (0, typescript_exports.toFileNameLowerCase)(path.substring(0, firstSlash)) : path;
|
|
345
339
|
}
|
|
346
|
-
const rootLength = (0,
|
|
340
|
+
const rootLength = (0, typescript_exports.getRootLength)(path);
|
|
347
341
|
if (rootLength === 0) {
|
|
348
342
|
return currentDriveKey;
|
|
349
343
|
}
|
|
350
|
-
if (path.charCodeAt(1) ===
|
|
351
|
-
return (0,
|
|
344
|
+
if (path.charCodeAt(1) === typescript_exports.CharacterCodes.colon && path.charCodeAt(2) === typescript_exports.CharacterCodes.slash) {
|
|
345
|
+
return (0, typescript_exports.toFileNameLowerCase)(path.charAt(0));
|
|
352
346
|
}
|
|
353
|
-
if (path.charCodeAt(0) ===
|
|
347
|
+
if (path.charCodeAt(0) === typescript_exports.CharacterCodes.slash && path.charCodeAt(1) !== typescript_exports.CharacterCodes.slash) {
|
|
354
348
|
return currentDriveKey;
|
|
355
349
|
}
|
|
356
350
|
return void 0;
|
|
357
351
|
}
|
|
358
352
|
function isUNCPath(s) {
|
|
359
|
-
return s.length > 2 && s.charCodeAt(0) ===
|
|
353
|
+
return s.length > 2 && s.charCodeAt(0) === typescript_exports.CharacterCodes.slash && s.charCodeAt(1) === typescript_exports.CharacterCodes.slash;
|
|
360
354
|
}
|
|
361
355
|
function watchDirectorySwallowingException(path, callback, recursive, options) {
|
|
362
356
|
try {
|
|
363
357
|
return originalWatchDirectory(path, callback, recursive, options);
|
|
364
358
|
} catch (e) {
|
|
365
359
|
logger.info(`Exception when creating directory watcher: ${e.message}`);
|
|
366
|
-
return
|
|
360
|
+
return typescript_exports.noopFileWatcher;
|
|
367
361
|
}
|
|
368
362
|
}
|
|
369
363
|
}
|
|
@@ -381,7 +375,7 @@ function startNodeSession(options, logger, cancellationToken) {
|
|
|
381
375
|
output: process.stdout,
|
|
382
376
|
terminal: false
|
|
383
377
|
});
|
|
384
|
-
const _NodeTypingsInstallerAdapter = class _NodeTypingsInstallerAdapter extends
|
|
378
|
+
const _NodeTypingsInstallerAdapter = class _NodeTypingsInstallerAdapter extends typescript_exports.server.TypingsInstallerAdapter {
|
|
385
379
|
constructor(telemetryEnabled2, logger2, host, globalTypingsCacheLocation, typingSafeListLocation2, typesMapLocation2, npmLocation2, validateDefaultNpmLocation2, event) {
|
|
386
380
|
super(
|
|
387
381
|
telemetryEnabled2,
|
|
@@ -397,27 +391,27 @@ function startNodeSession(options, logger, cancellationToken) {
|
|
|
397
391
|
this.validateDefaultNpmLocation = validateDefaultNpmLocation2;
|
|
398
392
|
}
|
|
399
393
|
createInstallerProcess() {
|
|
400
|
-
if (this.logger.hasLevel(
|
|
394
|
+
if (this.logger.hasLevel(typescript_exports.server.LogLevel.requestTime)) {
|
|
401
395
|
this.logger.info("Binding...");
|
|
402
396
|
}
|
|
403
|
-
const args = [
|
|
397
|
+
const args = [typescript_exports.server.Arguments.GlobalCacheLocation, this.globalTypingsCacheLocation];
|
|
404
398
|
if (this.telemetryEnabled) {
|
|
405
|
-
args.push(
|
|
399
|
+
args.push(typescript_exports.server.Arguments.EnableTelemetry);
|
|
406
400
|
}
|
|
407
401
|
if (this.logger.loggingEnabled() && this.logger.getLogFileName()) {
|
|
408
|
-
args.push(
|
|
402
|
+
args.push(typescript_exports.server.Arguments.LogFile, (0, typescript_exports.combinePaths)((0, typescript_exports.getDirectoryPath)((0, typescript_exports.normalizeSlashes)(this.logger.getLogFileName())), `ti-${process.pid}.log`));
|
|
409
403
|
}
|
|
410
404
|
if (this.typingSafeListLocation) {
|
|
411
|
-
args.push(
|
|
405
|
+
args.push(typescript_exports.server.Arguments.TypingSafeListLocation, this.typingSafeListLocation);
|
|
412
406
|
}
|
|
413
407
|
if (this.typesMapLocation) {
|
|
414
|
-
args.push(
|
|
408
|
+
args.push(typescript_exports.server.Arguments.TypesMapLocation, this.typesMapLocation);
|
|
415
409
|
}
|
|
416
410
|
if (this.npmLocation) {
|
|
417
|
-
args.push(
|
|
411
|
+
args.push(typescript_exports.server.Arguments.NpmLocation, this.npmLocation);
|
|
418
412
|
}
|
|
419
413
|
if (this.validateDefaultNpmLocation) {
|
|
420
|
-
args.push(
|
|
414
|
+
args.push(typescript_exports.server.Arguments.ValidateDefaultNpmLocation);
|
|
421
415
|
}
|
|
422
416
|
const execArgv = [];
|
|
423
417
|
for (const arg of process.execArgv) {
|
|
@@ -428,7 +422,7 @@ function startNodeSession(options, logger, cancellationToken) {
|
|
|
428
422
|
break;
|
|
429
423
|
}
|
|
430
424
|
}
|
|
431
|
-
const typingsInstaller = (0,
|
|
425
|
+
const typingsInstaller = (0, typescript_exports.combinePaths)((0, typescript_exports.getDirectoryPath)(typescript_exports.sys.getExecutingFilePath()), "typingsInstaller.js");
|
|
432
426
|
this.installer = childProcess.fork(typingsInstaller, args, { execArgv });
|
|
433
427
|
this.installer.on("message", (m) => this.handleMessage(m));
|
|
434
428
|
this.host.setImmediate(() => this.event({ pid: this.installer.pid }, "typingsInstallerPid"));
|
|
@@ -445,12 +439,12 @@ function startNodeSession(options, logger, cancellationToken) {
|
|
|
445
439
|
// buffer, but we have yet to find a way to retrieve that value.
|
|
446
440
|
_NodeTypingsInstallerAdapter.maxActiveRequestCount = 10;
|
|
447
441
|
let NodeTypingsInstallerAdapter = _NodeTypingsInstallerAdapter;
|
|
448
|
-
class IOSession extends
|
|
442
|
+
class IOSession extends typescript_exports.server.Session {
|
|
449
443
|
constructor() {
|
|
450
444
|
const event = (body, eventName) => {
|
|
451
445
|
this.event(body, eventName);
|
|
452
446
|
};
|
|
453
|
-
const host =
|
|
447
|
+
const host = typescript_exports.sys;
|
|
454
448
|
const typingsInstaller = disableAutomaticTypingAcquisition ? void 0 : new NodeTypingsInstallerAdapter(telemetryEnabled, logger, host, getGlobalTypingsCacheLocation(), typingSafeListLocation, typesMapLocation, npmLocation, validateDefaultNpmLocation, event);
|
|
455
449
|
super({
|
|
456
450
|
host,
|
|
@@ -478,16 +472,16 @@ function startNodeSession(options, logger, cancellationToken) {
|
|
|
478
472
|
this.constructed = true;
|
|
479
473
|
}
|
|
480
474
|
event(body, eventName) {
|
|
481
|
-
|
|
475
|
+
typescript_exports.Debug.assert(!!this.constructed, "Should only call `IOSession.prototype.event` on an initialized IOSession");
|
|
482
476
|
if (this.canUseEvents && this.eventPort) {
|
|
483
477
|
if (!this.eventSocket) {
|
|
484
|
-
if (this.logger.hasLevel(
|
|
478
|
+
if (this.logger.hasLevel(typescript_exports.server.LogLevel.verbose)) {
|
|
485
479
|
this.logger.info(`eventPort: event "${eventName}" queued, but socket not yet initialized`);
|
|
486
480
|
}
|
|
487
481
|
(this.socketEventQueue || (this.socketEventQueue = [])).push({ body, eventName });
|
|
488
482
|
return;
|
|
489
483
|
} else {
|
|
490
|
-
|
|
484
|
+
typescript_exports.Debug.assert(this.socketEventQueue === void 0);
|
|
491
485
|
this.writeToEventSocket(body, eventName);
|
|
492
486
|
}
|
|
493
487
|
} else {
|
|
@@ -495,13 +489,13 @@ function startNodeSession(options, logger, cancellationToken) {
|
|
|
495
489
|
}
|
|
496
490
|
}
|
|
497
491
|
writeToEventSocket(body, eventName) {
|
|
498
|
-
this.eventSocket.write(
|
|
492
|
+
this.eventSocket.write(typescript_exports.server.formatMessage(typescript_exports.server.toEvent(eventName, body), this.logger, this.byteLength, this.host.newLine), "utf8");
|
|
499
493
|
}
|
|
500
494
|
exit() {
|
|
501
495
|
var _a;
|
|
502
496
|
this.logger.info("Exiting...");
|
|
503
497
|
this.projectService.closeLog();
|
|
504
|
-
(_a =
|
|
498
|
+
(_a = typescript_exports.tracing) == null ? void 0 : _a.stopTracing();
|
|
505
499
|
process.exit(0);
|
|
506
500
|
}
|
|
507
501
|
listen() {
|
|
@@ -516,10 +510,10 @@ function startNodeSession(options, logger, cancellationToken) {
|
|
|
516
510
|
}
|
|
517
511
|
class IpcIOSession extends IOSession {
|
|
518
512
|
writeMessage(msg) {
|
|
519
|
-
const verboseLogging = logger.hasLevel(
|
|
513
|
+
const verboseLogging = logger.hasLevel(typescript_exports.server.LogLevel.verbose);
|
|
520
514
|
if (verboseLogging) {
|
|
521
515
|
const json = JSON.stringify(msg);
|
|
522
|
-
logger.info(`${msg.type}:${
|
|
516
|
+
logger.info(`${msg.type}:${typescript_exports.server.indent(json)}`);
|
|
523
517
|
}
|
|
524
518
|
process.send(msg);
|
|
525
519
|
}
|
|
@@ -538,18 +532,18 @@ function startNodeSession(options, logger, cancellationToken) {
|
|
|
538
532
|
});
|
|
539
533
|
}
|
|
540
534
|
}
|
|
541
|
-
const eventPort = parseEventPort(
|
|
542
|
-
const typingSafeListLocation =
|
|
543
|
-
const typesMapLocation =
|
|
544
|
-
const npmLocation =
|
|
545
|
-
const validateDefaultNpmLocation =
|
|
546
|
-
const disableAutomaticTypingAcquisition =
|
|
547
|
-
const useNodeIpc =
|
|
548
|
-
const telemetryEnabled =
|
|
549
|
-
const commandLineTraceDir =
|
|
550
|
-
const traceDir = commandLineTraceDir ? (0,
|
|
535
|
+
const eventPort = parseEventPort(typescript_exports.server.findArgument("--eventPort"));
|
|
536
|
+
const typingSafeListLocation = typescript_exports.server.findArgument(typescript_exports.server.Arguments.TypingSafeListLocation);
|
|
537
|
+
const typesMapLocation = typescript_exports.server.findArgument(typescript_exports.server.Arguments.TypesMapLocation) || (0, typescript_exports.combinePaths)((0, typescript_exports.getDirectoryPath)(typescript_exports.sys.getExecutingFilePath()), "typesMap.json");
|
|
538
|
+
const npmLocation = typescript_exports.server.findArgument(typescript_exports.server.Arguments.NpmLocation);
|
|
539
|
+
const validateDefaultNpmLocation = typescript_exports.server.hasArgument(typescript_exports.server.Arguments.ValidateDefaultNpmLocation);
|
|
540
|
+
const disableAutomaticTypingAcquisition = typescript_exports.server.hasArgument("--disableAutomaticTypingAcquisition");
|
|
541
|
+
const useNodeIpc = typescript_exports.server.hasArgument("--useNodeIpc");
|
|
542
|
+
const telemetryEnabled = typescript_exports.server.hasArgument(typescript_exports.server.Arguments.EnableTelemetry);
|
|
543
|
+
const commandLineTraceDir = typescript_exports.server.findArgument("--traceDirectory");
|
|
544
|
+
const traceDir = commandLineTraceDir ? (0, typescript_exports.stripQuotes)(commandLineTraceDir) : process.env.TSS_TRACE;
|
|
551
545
|
if (traceDir) {
|
|
552
|
-
(0,
|
|
546
|
+
(0, typescript_exports.startTracing)("server", traceDir);
|
|
553
547
|
}
|
|
554
548
|
const ioSession = useNodeIpc ? new IpcIOSession() : new IOSession();
|
|
555
549
|
process.on("uncaughtException", (err) => {
|
|
@@ -560,8 +554,8 @@ function startNodeSession(options, logger, cancellationToken) {
|
|
|
560
554
|
function getGlobalTypingsCacheLocation() {
|
|
561
555
|
switch (process.platform) {
|
|
562
556
|
case "win32": {
|
|
563
|
-
const basePath = process.env.LOCALAPPDATA || process.env.APPDATA || os.homedir && os.homedir() || process.env.USERPROFILE || process.env.HOMEDRIVE && process.env.HOMEPATH && (0,
|
|
564
|
-
return (0,
|
|
557
|
+
const basePath = process.env.LOCALAPPDATA || process.env.APPDATA || os.homedir && os.homedir() || process.env.USERPROFILE || process.env.HOMEDRIVE && process.env.HOMEPATH && (0, typescript_exports.normalizeSlashes)(process.env.HOMEDRIVE + process.env.HOMEPATH) || os.tmpdir();
|
|
558
|
+
return (0, typescript_exports.combinePaths)((0, typescript_exports.combinePaths)((0, typescript_exports.normalizeSlashes)(basePath), "Microsoft/TypeScript"), typescript_exports.versionMajorMinor);
|
|
565
559
|
}
|
|
566
560
|
case "openbsd":
|
|
567
561
|
case "freebsd":
|
|
@@ -570,10 +564,10 @@ function startNodeSession(options, logger, cancellationToken) {
|
|
|
570
564
|
case "linux":
|
|
571
565
|
case "android": {
|
|
572
566
|
const cacheLocation = getNonWindowsCacheLocation(process.platform === "darwin");
|
|
573
|
-
return (0,
|
|
567
|
+
return (0, typescript_exports.combinePaths)((0, typescript_exports.combinePaths)(cacheLocation, "typescript"), typescript_exports.versionMajorMinor);
|
|
574
568
|
}
|
|
575
569
|
default:
|
|
576
|
-
return
|
|
570
|
+
return typescript_exports.Debug.fail(`unsupported platform '${process.platform}'`);
|
|
577
571
|
}
|
|
578
572
|
}
|
|
579
573
|
function getNonWindowsCacheLocation(platformIsDarwin) {
|
|
@@ -583,50 +577,50 @@ function startNodeSession(options, logger, cancellationToken) {
|
|
|
583
577
|
const usersDir = platformIsDarwin ? "Users" : "home";
|
|
584
578
|
const homePath = os.homedir && os.homedir() || process.env.HOME || (process.env.LOGNAME || process.env.USER) && `/${usersDir}/${process.env.LOGNAME || process.env.USER}` || os.tmpdir();
|
|
585
579
|
const cacheFolder = platformIsDarwin ? "Library/Caches" : ".cache";
|
|
586
|
-
return (0,
|
|
580
|
+
return (0, typescript_exports.combinePaths)((0, typescript_exports.normalizeSlashes)(homePath), cacheFolder);
|
|
587
581
|
}
|
|
588
582
|
}
|
|
589
583
|
|
|
590
584
|
// src/tsserver/server.ts
|
|
591
585
|
function findArgumentStringArray(argName) {
|
|
592
|
-
const arg =
|
|
586
|
+
const arg = typescript_exports.server.findArgument(argName);
|
|
593
587
|
if (arg === void 0) {
|
|
594
|
-
return
|
|
588
|
+
return typescript_exports.emptyArray;
|
|
595
589
|
}
|
|
596
590
|
return arg.split(",").filter((name) => name !== "");
|
|
597
591
|
}
|
|
598
592
|
function start({ args, logger, cancellationToken, serverMode, unknownServerMode, startSession: startServer }, platform) {
|
|
599
593
|
logger.info(`Starting TS Server`);
|
|
600
|
-
logger.info(`Version: ${
|
|
594
|
+
logger.info(`Version: ${typescript_exports.version}`);
|
|
601
595
|
logger.info(`Arguments: ${args.join(" ")}`);
|
|
602
|
-
logger.info(`Platform: ${platform} NodeVersion: ${process.version} CaseSensitive: ${
|
|
596
|
+
logger.info(`Platform: ${platform} NodeVersion: ${process.version} CaseSensitive: ${typescript_exports.sys.useCaseSensitiveFileNames}`);
|
|
603
597
|
logger.info(`ServerMode: ${serverMode} hasUnknownServerMode: ${unknownServerMode}`);
|
|
604
|
-
|
|
605
|
-
if (
|
|
606
|
-
|
|
598
|
+
typescript_exports.setStackTraceLimit();
|
|
599
|
+
if (typescript_exports.Debug.isDebugging) {
|
|
600
|
+
typescript_exports.Debug.enableDebugInfo();
|
|
607
601
|
}
|
|
608
|
-
if (
|
|
609
|
-
|
|
602
|
+
if (typescript_exports.sys.tryEnableSourceMapsForHost && /^development$/i.test(typescript_exports.sys.getEnvironmentVariable("NODE_ENV"))) {
|
|
603
|
+
typescript_exports.sys.tryEnableSourceMapsForHost();
|
|
610
604
|
}
|
|
611
|
-
console.log = (...args2) => logger.msg(args2.length === 1 ? args2[0] : args2.join(", "),
|
|
612
|
-
console.warn = (...args2) => logger.msg(args2.length === 1 ? args2[0] : args2.join(", "),
|
|
613
|
-
console.error = (...args2) => logger.msg(args2.length === 1 ? args2[0] : args2.join(", "),
|
|
605
|
+
console.log = (...args2) => logger.msg(args2.length === 1 ? args2[0] : args2.join(", "), typescript_exports.server.Msg.Info);
|
|
606
|
+
console.warn = (...args2) => logger.msg(args2.length === 1 ? args2[0] : args2.join(", "), typescript_exports.server.Msg.Err);
|
|
607
|
+
console.error = (...args2) => logger.msg(args2.length === 1 ? args2[0] : args2.join(", "), typescript_exports.server.Msg.Err);
|
|
614
608
|
startServer(
|
|
615
609
|
{
|
|
616
610
|
globalPlugins: findArgumentStringArray("--globalPlugins"),
|
|
617
611
|
pluginProbeLocations: findArgumentStringArray("--pluginProbeLocations"),
|
|
618
|
-
allowLocalPluginLoads:
|
|
619
|
-
useSingleInferredProject:
|
|
620
|
-
useInferredProjectPerProjectRoot:
|
|
621
|
-
suppressDiagnosticEvents:
|
|
622
|
-
noGetErrOnBackgroundUpdate:
|
|
623
|
-
canUseWatchEvents:
|
|
612
|
+
allowLocalPluginLoads: typescript_exports.server.hasArgument("--allowLocalPluginLoads"),
|
|
613
|
+
useSingleInferredProject: typescript_exports.server.hasArgument("--useSingleInferredProject"),
|
|
614
|
+
useInferredProjectPerProjectRoot: typescript_exports.server.hasArgument("--useInferredProjectPerProjectRoot"),
|
|
615
|
+
suppressDiagnosticEvents: typescript_exports.server.hasArgument("--suppressDiagnosticEvents"),
|
|
616
|
+
noGetErrOnBackgroundUpdate: typescript_exports.server.hasArgument("--noGetErrOnBackgroundUpdate"),
|
|
617
|
+
canUseWatchEvents: typescript_exports.server.hasArgument("--canUseWatchEvents"),
|
|
624
618
|
serverMode
|
|
625
619
|
},
|
|
626
620
|
logger,
|
|
627
621
|
cancellationToken
|
|
628
622
|
);
|
|
629
623
|
}
|
|
630
|
-
|
|
624
|
+
typescript_exports.setStackTraceLimit();
|
|
631
625
|
start(initializeNodeSystem(), require("os").platform());
|
|
632
626
|
//# sourceMappingURL=tsserver.js.map
|
package/lib/typescript.js
CHANGED
|
@@ -2326,7 +2326,7 @@ module.exports = __toCommonJS(typescript_exports);
|
|
|
2326
2326
|
|
|
2327
2327
|
// src/compiler/corePublic.ts
|
|
2328
2328
|
var versionMajorMinor = "5.5";
|
|
2329
|
-
var version = `${versionMajorMinor}.0-insiders.
|
|
2329
|
+
var version = `${versionMajorMinor}.0-insiders.20240322`;
|
|
2330
2330
|
var Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
2331
2331
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
2332
2332
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -48323,12 +48323,9 @@ function createTypeChecker(host) {
|
|
|
48323
48323
|
getExactOptionalProperties,
|
|
48324
48324
|
getAllPossiblePropertiesOfTypes,
|
|
48325
48325
|
getSuggestedSymbolForNonexistentProperty,
|
|
48326
|
-
getSuggestionForNonexistentProperty,
|
|
48327
48326
|
getSuggestedSymbolForNonexistentJSXAttribute,
|
|
48328
48327
|
getSuggestedSymbolForNonexistentSymbol: (location, name, meaning) => getSuggestedSymbolForNonexistentSymbol(location, escapeLeadingUnderscores(name), meaning),
|
|
48329
|
-
getSuggestionForNonexistentSymbol: (location, name, meaning) => getSuggestionForNonexistentSymbol(location, escapeLeadingUnderscores(name), meaning),
|
|
48330
48328
|
getSuggestedSymbolForNonexistentModule,
|
|
48331
|
-
getSuggestionForNonexistentExport,
|
|
48332
48329
|
getSuggestedSymbolForNonexistentClassMember,
|
|
48333
48330
|
getBaseConstraintOfType,
|
|
48334
48331
|
getDefaultFromTypeParameter: (type) => type && type.flags & 262144 /* TypeParameter */ ? getDefaultFromTypeParameter(type) : void 0,
|
|
@@ -52356,15 +52353,19 @@ function createTypeChecker(host) {
|
|
|
52356
52353
|
return true;
|
|
52357
52354
|
}
|
|
52358
52355
|
}
|
|
52359
|
-
function
|
|
52356
|
+
function getMeaningOfEntityNameReference(entityName) {
|
|
52360
52357
|
let meaning;
|
|
52361
52358
|
if (entityName.parent.kind === 186 /* TypeQuery */ || entityName.parent.kind === 233 /* ExpressionWithTypeArguments */ && !isPartOfTypeNode(entityName.parent) || entityName.parent.kind === 167 /* ComputedPropertyName */) {
|
|
52362
52359
|
meaning = 111551 /* Value */ | 1048576 /* ExportValue */;
|
|
52363
|
-
} else if (entityName.kind === 166 /* QualifiedName */ || entityName.kind === 211 /* PropertyAccessExpression */ || entityName.parent.kind === 271 /* ImportEqualsDeclaration */) {
|
|
52360
|
+
} else if (entityName.kind === 166 /* QualifiedName */ || entityName.kind === 211 /* PropertyAccessExpression */ || entityName.parent.kind === 271 /* ImportEqualsDeclaration */ || entityName.parent.kind === 166 /* QualifiedName */ && entityName.parent.left === entityName || entityName.parent.kind === 211 /* PropertyAccessExpression */ && entityName.parent.expression === entityName || entityName.parent.kind === 212 /* ElementAccessExpression */ && entityName.parent.expression === entityName) {
|
|
52364
52361
|
meaning = 1920 /* Namespace */;
|
|
52365
52362
|
} else {
|
|
52366
52363
|
meaning = 788968 /* Type */;
|
|
52367
52364
|
}
|
|
52365
|
+
return meaning;
|
|
52366
|
+
}
|
|
52367
|
+
function isEntityNameVisible(entityName, enclosingDeclaration) {
|
|
52368
|
+
const meaning = getMeaningOfEntityNameReference(entityName);
|
|
52368
52369
|
const firstIdentifier = getFirstIdentifier(entityName);
|
|
52369
52370
|
const symbol = resolveName(
|
|
52370
52371
|
enclosingDeclaration,
|
|
@@ -54471,9 +54472,10 @@ function createTypeChecker(host) {
|
|
|
54471
54472
|
introducesError = true;
|
|
54472
54473
|
return { introducesError, node };
|
|
54473
54474
|
}
|
|
54475
|
+
const meaning = getMeaningOfEntityNameReference(node);
|
|
54474
54476
|
const sym = resolveEntityName(
|
|
54475
54477
|
leftmost,
|
|
54476
|
-
|
|
54478
|
+
meaning,
|
|
54477
54479
|
/*ignoreErrors*/
|
|
54478
54480
|
true,
|
|
54479
54481
|
/*dontResolveAlias*/
|
|
@@ -54483,7 +54485,7 @@ function createTypeChecker(host) {
|
|
|
54483
54485
|
if (isSymbolAccessible(
|
|
54484
54486
|
sym,
|
|
54485
54487
|
context.enclosingDeclaration,
|
|
54486
|
-
|
|
54488
|
+
meaning,
|
|
54487
54489
|
/*shouldComputeAliasesToMakeVisible*/
|
|
54488
54490
|
false
|
|
54489
54491
|
).accessibility !== 0 /* Accessible */) {
|
|
@@ -54491,7 +54493,7 @@ function createTypeChecker(host) {
|
|
|
54491
54493
|
introducesError = true;
|
|
54492
54494
|
}
|
|
54493
54495
|
} else {
|
|
54494
|
-
context.tracker.trackSymbol(sym, context.enclosingDeclaration,
|
|
54496
|
+
context.tracker.trackSymbol(sym, context.enclosingDeclaration, meaning);
|
|
54495
54497
|
includePrivateSymbol == null ? void 0 : includePrivateSymbol(sym);
|
|
54496
54498
|
}
|
|
54497
54499
|
if (isIdentifier(node)) {
|
|
@@ -62446,6 +62448,9 @@ function createTypeChecker(host) {
|
|
|
62446
62448
|
} else if (every(typeSet, (t) => !!(t.flags & 1048576 /* Union */ && (t.types[0].flags & 65536 /* Null */ || t.types[1].flags & 65536 /* Null */)))) {
|
|
62447
62449
|
removeFromEach(typeSet, 65536 /* Null */);
|
|
62448
62450
|
result = getUnionType([getIntersectionType(typeSet), nullType], 1 /* Literal */, aliasSymbol, aliasTypeArguments);
|
|
62451
|
+
} else if (typeSet.length >= 4) {
|
|
62452
|
+
const middle = Math.floor(typeSet.length / 2);
|
|
62453
|
+
result = getIntersectionType([getIntersectionType(typeSet.slice(0, middle)), getIntersectionType(typeSet.slice(middle))], aliasSymbol, aliasTypeArguments);
|
|
62449
62454
|
} else {
|
|
62450
62455
|
if (!checkCrossProductUnion(typeSet)) {
|
|
62451
62456
|
return errorType;
|
|
@@ -75522,17 +75527,9 @@ function createTypeChecker(host) {
|
|
|
75522
75527
|
);
|
|
75523
75528
|
return result;
|
|
75524
75529
|
}
|
|
75525
|
-
function getSuggestionForNonexistentSymbol(location, outerName, meaning) {
|
|
75526
|
-
const symbolResult = getSuggestedSymbolForNonexistentSymbol(location, outerName, meaning);
|
|
75527
|
-
return symbolResult && symbolName(symbolResult);
|
|
75528
|
-
}
|
|
75529
75530
|
function getSuggestedSymbolForNonexistentModule(name, targetModule) {
|
|
75530
75531
|
return targetModule.exports && getSpellingSuggestionForName(idText(name), getExportsOfModuleAsArray(targetModule), 2623475 /* ModuleMember */);
|
|
75531
75532
|
}
|
|
75532
|
-
function getSuggestionForNonexistentExport(name, targetModule) {
|
|
75533
|
-
const suggestion = getSuggestedSymbolForNonexistentModule(name, targetModule);
|
|
75534
|
-
return suggestion && symbolName(suggestion);
|
|
75535
|
-
}
|
|
75536
75533
|
function getSuggestionForNonexistentIndexSignature(objectType, expr, keyedType) {
|
|
75537
75534
|
function hasProp(name) {
|
|
75538
75535
|
const prop = getPropertyOfObjectType(objectType, name);
|
|
@@ -78663,7 +78660,7 @@ function createTypeChecker(host) {
|
|
|
78663
78660
|
/*contextFlags*/
|
|
78664
78661
|
void 0
|
|
78665
78662
|
);
|
|
78666
|
-
const returnType2 = contextualReturnType && (unwrapReturnType(contextualReturnType, functionFlags) || voidType).flags & 32768 /* Undefined */ ? undefinedType : voidType;
|
|
78663
|
+
const returnType2 = contextualReturnType && someType(unwrapReturnType(contextualReturnType, functionFlags) || voidType, (t) => !!(t.flags & 32768 /* Undefined */)) ? undefinedType : voidType;
|
|
78667
78664
|
return functionFlags & 2 /* Async */ ? createPromiseReturnType(func, returnType2) : (
|
|
78668
78665
|
// Async function
|
|
78669
78666
|
returnType2
|
|
@@ -118536,8 +118533,8 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
118536
118533
|
}
|
|
118537
118534
|
function writeDirectives(kind, directives) {
|
|
118538
118535
|
for (const directive of directives) {
|
|
118536
|
+
const resolutionMode = directive.resolutionMode ? `resolution-mode="${directive.resolutionMode === 99 /* ESNext */ ? "import" : "require"}" ` : "";
|
|
118539
118537
|
const preserve = directive.preserve ? `preserve="true" ` : "";
|
|
118540
|
-
const resolutionMode = directive.resolutionMode && directive.resolutionMode !== (currentSourceFile == null ? void 0 : currentSourceFile.impliedNodeFormat) ? `resolution-mode="${directive.resolutionMode === 99 /* ESNext */ ? "import" : "require"}" ` : "";
|
|
118541
118538
|
writeComment(`/// <reference ${kind}="${directive.fileName}" ${resolutionMode}${preserve}/>`);
|
|
118542
118539
|
writeLine();
|
|
118543
118540
|
}
|
|
@@ -131171,11 +131168,11 @@ var OrganizeImportsMode = /* @__PURE__ */ ((OrganizeImportsMode2) => {
|
|
|
131171
131168
|
OrganizeImportsMode2["RemoveUnused"] = "RemoveUnused";
|
|
131172
131169
|
return OrganizeImportsMode2;
|
|
131173
131170
|
})(OrganizeImportsMode || {});
|
|
131174
|
-
var CompletionTriggerKind = /* @__PURE__ */ ((
|
|
131175
|
-
|
|
131176
|
-
|
|
131177
|
-
|
|
131178
|
-
return
|
|
131171
|
+
var CompletionTriggerKind = /* @__PURE__ */ ((CompletionTriggerKind2) => {
|
|
131172
|
+
CompletionTriggerKind2[CompletionTriggerKind2["Invoked"] = 1] = "Invoked";
|
|
131173
|
+
CompletionTriggerKind2[CompletionTriggerKind2["TriggerCharacter"] = 2] = "TriggerCharacter";
|
|
131174
|
+
CompletionTriggerKind2[CompletionTriggerKind2["TriggerForIncompleteCompletions"] = 3] = "TriggerForIncompleteCompletions";
|
|
131175
|
+
return CompletionTriggerKind2;
|
|
131179
131176
|
})(CompletionTriggerKind || {});
|
|
131180
131177
|
var InlayHintKind = /* @__PURE__ */ ((InlayHintKind2) => {
|
|
131181
131178
|
InlayHintKind2["Type"] = "Type";
|
|
@@ -132795,9 +132792,13 @@ function createTextSpanFromNode(node, sourceFile, endNode2) {
|
|
|
132795
132792
|
return createTextSpanFromBounds(node.getStart(sourceFile), (endNode2 || node).getEnd());
|
|
132796
132793
|
}
|
|
132797
132794
|
function createTextSpanFromStringLiteralLikeContent(node) {
|
|
132798
|
-
|
|
132799
|
-
|
|
132800
|
-
|
|
132795
|
+
let replacementEnd = node.getEnd() - 1;
|
|
132796
|
+
if (node.isUnterminated) {
|
|
132797
|
+
if (node.getStart() === replacementEnd)
|
|
132798
|
+
return void 0;
|
|
132799
|
+
replacementEnd = node.getEnd();
|
|
132800
|
+
}
|
|
132801
|
+
return createTextSpanFromBounds(node.getStart() + 1, replacementEnd);
|
|
132801
132802
|
}
|
|
132802
132803
|
function createTextRangeFromNode(node, sourceFile) {
|
|
132803
132804
|
return createRange(node.getStart(sourceFile), node.end);
|
|
@@ -139820,7 +139821,9 @@ function updateImportsInOtherFiles(changes, program, host, oldFile, movedSymbols
|
|
|
139820
139821
|
return !!symbol && movedSymbols.has(symbol);
|
|
139821
139822
|
};
|
|
139822
139823
|
deleteUnusedImports(sourceFile, importNode, changes, shouldMove);
|
|
139823
|
-
const pathToTargetFileWithExtension = resolvePath(getDirectoryPath(oldFile.
|
|
139824
|
+
const pathToTargetFileWithExtension = resolvePath(getDirectoryPath(getNormalizedAbsolutePath(oldFile.fileName, program.getCurrentDirectory())), targetFileName);
|
|
139825
|
+
if (getStringComparer(!program.useCaseSensitiveFileNames())(pathToTargetFileWithExtension, sourceFile.fileName) === 0 /* EqualTo */)
|
|
139826
|
+
return;
|
|
139824
139827
|
const newModuleSpecifier = getModuleSpecifier(program.getCompilerOptions(), sourceFile, sourceFile.fileName, pathToTargetFileWithExtension, createModuleSpecifierResolutionHost(program, host));
|
|
139825
139828
|
const newImportDeclaration = filterImport(importNode, makeStringLiteral(newModuleSpecifier, quotePreference), shouldMove);
|
|
139826
139829
|
if (newImportDeclaration)
|
|
@@ -139955,7 +139958,7 @@ function createOldFileImportsFromTargetFile(sourceFile, targetFileNeedExport, ta
|
|
|
139955
139958
|
return makeImportOrRequire(sourceFile, defaultImport, imports, targetFileNameWithExtension, program, host, useEs6Imports, quotePreference);
|
|
139956
139959
|
}
|
|
139957
139960
|
function makeImportOrRequire(sourceFile, defaultImport, imports, targetFileNameWithExtension, program, host, useEs6Imports, quotePreference) {
|
|
139958
|
-
const pathToTargetFile = resolvePath(getDirectoryPath(sourceFile.
|
|
139961
|
+
const pathToTargetFile = resolvePath(getDirectoryPath(getNormalizedAbsolutePath(sourceFile.fileName, program.getCurrentDirectory())), targetFileNameWithExtension);
|
|
139959
139962
|
const pathToTargetFileWithCorrectExtension = getModuleSpecifier(program.getCompilerOptions(), sourceFile, sourceFile.fileName, pathToTargetFile, createModuleSpecifierResolutionHost(program, host));
|
|
139960
139963
|
if (useEs6Imports) {
|
|
139961
139964
|
const specifiers = imports.map((i) => factory.createImportSpecifier(
|
package/lib/typingsInstaller.js
CHANGED
|
@@ -53,16 +53,10 @@ module.exports = __toCommonJS(nodeTypingsInstaller_exports);
|
|
|
53
53
|
var fs = __toESM(require("fs"));
|
|
54
54
|
var path = __toESM(require("path"));
|
|
55
55
|
|
|
56
|
-
// src/typingsInstaller/_namespaces/ts.ts
|
|
57
|
-
var ts_exports = {};
|
|
58
|
-
|
|
59
56
|
// src/typescript/typescript.ts
|
|
60
57
|
var typescript_exports = {};
|
|
61
58
|
__reExport(typescript_exports, require("./typescript.js"));
|
|
62
59
|
|
|
63
|
-
// src/typingsInstaller/_namespaces/ts.ts
|
|
64
|
-
__reExport(ts_exports, typescript_exports);
|
|
65
|
-
|
|
66
60
|
// src/typingsInstaller/nodeTypingsInstaller.ts
|
|
67
61
|
var FileLog = class {
|
|
68
62
|
constructor(logFile) {
|
|
@@ -74,7 +68,7 @@ var FileLog = class {
|
|
|
74
68
|
if (typeof this.logFile !== "string")
|
|
75
69
|
return;
|
|
76
70
|
try {
|
|
77
|
-
fs.appendFileSync(this.logFile, `[${
|
|
71
|
+
fs.appendFileSync(this.logFile, `[${typescript_exports.server.nowString()}] ${text}${typescript_exports.sys.newLine}`);
|
|
78
72
|
} catch (e) {
|
|
79
73
|
this.logFile = void 0;
|
|
80
74
|
}
|
|
@@ -112,16 +106,16 @@ function loadTypesRegistryFile(typesRegistryFilePath, host, log2) {
|
|
|
112
106
|
}
|
|
113
107
|
var typesRegistryPackageName = "types-registry";
|
|
114
108
|
function getTypesRegistryFileLocation(globalTypingsCacheLocation2) {
|
|
115
|
-
return (0,
|
|
109
|
+
return (0, typescript_exports.combinePaths)((0, typescript_exports.normalizeSlashes)(globalTypingsCacheLocation2), `node_modules/${typesRegistryPackageName}/index.json`);
|
|
116
110
|
}
|
|
117
|
-
var NodeTypingsInstaller = class extends
|
|
111
|
+
var NodeTypingsInstaller = class extends typescript_exports.server.typingsInstaller.TypingsInstaller {
|
|
118
112
|
constructor(globalTypingsCacheLocation2, typingSafeListLocation2, typesMapLocation2, npmLocation2, validateDefaultNpmLocation2, throttleLimit, log2) {
|
|
119
|
-
const libDirectory = (0,
|
|
113
|
+
const libDirectory = (0, typescript_exports.getDirectoryPath)((0, typescript_exports.normalizePath)(typescript_exports.sys.getExecutingFilePath()));
|
|
120
114
|
super(
|
|
121
|
-
|
|
115
|
+
typescript_exports.sys,
|
|
122
116
|
globalTypingsCacheLocation2,
|
|
123
|
-
typingSafeListLocation2 ? (0,
|
|
124
|
-
typesMapLocation2 ? (0,
|
|
117
|
+
typingSafeListLocation2 ? (0, typescript_exports.toPath)(typingSafeListLocation2, "", (0, typescript_exports.createGetCanonicalFileName)(typescript_exports.sys.useCaseSensitiveFileNames)) : (0, typescript_exports.toPath)("typingSafeList.json", libDirectory, (0, typescript_exports.createGetCanonicalFileName)(typescript_exports.sys.useCaseSensitiveFileNames)),
|
|
118
|
+
typesMapLocation2 ? (0, typescript_exports.toPath)(typesMapLocation2, "", (0, typescript_exports.createGetCanonicalFileName)(typescript_exports.sys.useCaseSensitiveFileNames)) : (0, typescript_exports.toPath)("typesMap.json", libDirectory, (0, typescript_exports.createGetCanonicalFileName)(typescript_exports.sys.useCaseSensitiveFileNames)),
|
|
125
119
|
throttleLimit,
|
|
126
120
|
log2
|
|
127
121
|
);
|
|
@@ -131,7 +125,7 @@ var NodeTypingsInstaller = class extends ts_exports.server.typingsInstaller.Typi
|
|
|
131
125
|
}
|
|
132
126
|
if (this.log.isEnabled()) {
|
|
133
127
|
this.log.writeLine(`Process id: ${process.pid}`);
|
|
134
|
-
this.log.writeLine(`NPM location: ${this.npmPath} (explicit '${
|
|
128
|
+
this.log.writeLine(`NPM location: ${this.npmPath} (explicit '${typescript_exports.server.Arguments.NpmLocation}' ${npmLocation2 === void 0 ? "not " : ""} provided)`);
|
|
135
129
|
this.log.writeLine(`validateDefaultNpmLocation: ${validateDefaultNpmLocation2}`);
|
|
136
130
|
}
|
|
137
131
|
({ execSync: this.nodeExecSync } = require("child_process"));
|
|
@@ -165,7 +159,7 @@ var NodeTypingsInstaller = class extends ts_exports.server.typingsInstaller.Typi
|
|
|
165
159
|
}
|
|
166
160
|
sendResponse(response) {
|
|
167
161
|
if (this.log.isEnabled()) {
|
|
168
|
-
this.log.writeLine(`Sending response:${
|
|
162
|
+
this.log.writeLine(`Sending response:${typescript_exports.server.stringifyIndented(response)}`);
|
|
169
163
|
}
|
|
170
164
|
process.send(response);
|
|
171
165
|
if (this.log.isEnabled()) {
|
|
@@ -177,7 +171,7 @@ var NodeTypingsInstaller = class extends ts_exports.server.typingsInstaller.Typi
|
|
|
177
171
|
this.log.writeLine(`#${requestId} with cwd: ${cwd} arguments: ${JSON.stringify(packageNames)}`);
|
|
178
172
|
}
|
|
179
173
|
const start = Date.now();
|
|
180
|
-
const hasError =
|
|
174
|
+
const hasError = typescript_exports.server.typingsInstaller.installNpmPackages(this.npmPath, typescript_exports.version, packageNames, (command) => this.execSyncAndLog(command, { cwd }));
|
|
181
175
|
if (this.log.isEnabled()) {
|
|
182
176
|
this.log.writeLine(`npm install #${requestId} took: ${Date.now() - start} ms`);
|
|
183
177
|
}
|
|
@@ -191,22 +185,22 @@ var NodeTypingsInstaller = class extends ts_exports.server.typingsInstaller.Typi
|
|
|
191
185
|
try {
|
|
192
186
|
const stdout = this.nodeExecSync(command, { ...options, encoding: "utf-8" });
|
|
193
187
|
if (this.log.isEnabled()) {
|
|
194
|
-
this.log.writeLine(` Succeeded. stdout:${indent(
|
|
188
|
+
this.log.writeLine(` Succeeded. stdout:${indent(typescript_exports.sys.newLine, stdout)}`);
|
|
195
189
|
}
|
|
196
190
|
return false;
|
|
197
191
|
} catch (error) {
|
|
198
192
|
const { stdout, stderr } = error;
|
|
199
|
-
this.log.writeLine(` Failed. stdout:${indent(
|
|
193
|
+
this.log.writeLine(` Failed. stdout:${indent(typescript_exports.sys.newLine, stdout)}${typescript_exports.sys.newLine} stderr:${indent(typescript_exports.sys.newLine, stderr)}`);
|
|
200
194
|
return true;
|
|
201
195
|
}
|
|
202
196
|
}
|
|
203
197
|
};
|
|
204
|
-
var logFilePath =
|
|
205
|
-
var globalTypingsCacheLocation =
|
|
206
|
-
var typingSafeListLocation =
|
|
207
|
-
var typesMapLocation =
|
|
208
|
-
var npmLocation =
|
|
209
|
-
var validateDefaultNpmLocation =
|
|
198
|
+
var logFilePath = typescript_exports.server.findArgument(typescript_exports.server.Arguments.LogFile);
|
|
199
|
+
var globalTypingsCacheLocation = typescript_exports.server.findArgument(typescript_exports.server.Arguments.GlobalCacheLocation);
|
|
200
|
+
var typingSafeListLocation = typescript_exports.server.findArgument(typescript_exports.server.Arguments.TypingSafeListLocation);
|
|
201
|
+
var typesMapLocation = typescript_exports.server.findArgument(typescript_exports.server.Arguments.TypesMapLocation);
|
|
202
|
+
var npmLocation = typescript_exports.server.findArgument(typescript_exports.server.Arguments.NpmLocation);
|
|
203
|
+
var validateDefaultNpmLocation = typescript_exports.server.hasArgument(typescript_exports.server.Arguments.ValidateDefaultNpmLocation);
|
|
210
204
|
var log = new FileLog(logFilePath);
|
|
211
205
|
if (log.isEnabled()) {
|
|
212
206
|
process.on("uncaughtException", (e) => {
|
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.5.0-pr-
|
|
5
|
+
"version": "5.5.0-pr-57912-2",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@esfx/canceltoken": "^1.0.0",
|
|
43
43
|
"@octokit/rest": "^20.0.2",
|
|
44
|
-
"@types/chai": "^4.3.
|
|
44
|
+
"@types/chai": "^4.3.14",
|
|
45
45
|
"@types/microsoft__typescript-etw": "^0.1.3",
|
|
46
46
|
"@types/minimist": "^1.2.5",
|
|
47
47
|
"@types/mocha": "^10.0.6",
|
|
@@ -49,23 +49,23 @@
|
|
|
49
49
|
"@types/node": "latest",
|
|
50
50
|
"@types/source-map-support": "^0.5.10",
|
|
51
51
|
"@types/which": "^3.0.3",
|
|
52
|
-
"@typescript-eslint/eslint-plugin": "^7.
|
|
53
|
-
"@typescript-eslint/parser": "^7.
|
|
54
|
-
"@typescript-eslint/utils": "^7.
|
|
55
|
-
"azure-devops-node-api": "^12.
|
|
52
|
+
"@typescript-eslint/eslint-plugin": "^7.3.1",
|
|
53
|
+
"@typescript-eslint/parser": "^7.3.1",
|
|
54
|
+
"@typescript-eslint/utils": "^7.3.1",
|
|
55
|
+
"azure-devops-node-api": "^12.5.0",
|
|
56
56
|
"c8": "^9.1.0",
|
|
57
57
|
"chai": "^4.4.1",
|
|
58
58
|
"chalk": "^4.1.2",
|
|
59
59
|
"chokidar": "^3.6.0",
|
|
60
60
|
"diff": "^5.2.0",
|
|
61
61
|
"dprint": "^0.45.0",
|
|
62
|
-
"esbuild": "^0.20.
|
|
62
|
+
"esbuild": "^0.20.2",
|
|
63
63
|
"eslint": "^8.57.0",
|
|
64
64
|
"eslint-formatter-autolinkable-stylish": "^1.3.0",
|
|
65
65
|
"eslint-plugin-local": "^4.2.1",
|
|
66
66
|
"eslint-plugin-no-null": "^1.0.2",
|
|
67
67
|
"eslint-plugin-simple-import-sort": "^12.0.0",
|
|
68
|
-
"fast-xml-parser": "^4.3.
|
|
68
|
+
"fast-xml-parser": "^4.3.6",
|
|
69
69
|
"glob": "^10.3.10",
|
|
70
70
|
"hereby": "^1.8.9",
|
|
71
71
|
"jsonc-parser": "^3.2.1",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"playwright": "^1.42.1",
|
|
78
78
|
"source-map-support": "^0.5.21",
|
|
79
79
|
"tslib": "^2.6.2",
|
|
80
|
-
"typescript": "^5.4.
|
|
80
|
+
"typescript": "^5.4.3",
|
|
81
81
|
"which": "^3.0.1"
|
|
82
82
|
},
|
|
83
83
|
"overrides": {
|
|
@@ -113,5 +113,5 @@
|
|
|
113
113
|
"node": "20.1.0",
|
|
114
114
|
"npm": "8.19.4"
|
|
115
115
|
},
|
|
116
|
-
"gitHead": "
|
|
116
|
+
"gitHead": "3b12172f2371bf65ec4109aef8e1ee43c9a2d076"
|
|
117
117
|
}
|