@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 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.20240320`;
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 isEntityNameVisible(entityName, enclosingDeclaration) {
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
- -1 /* All */,
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
- -1 /* All */,
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, -1 /* All */);
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 ts_exports.server.LogLevel) {
40
+ for (const name in typescript_exports.server.LogLevel) {
47
41
  if (isNaN(+name) && l === name.toLowerCase()) {
48
- return ts_exports.server.LogLevel[name];
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 : ts_exports.server.LogLevel.normal;
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) === ts_exports.CharacterCodes.doubleQuote && pathStart.charCodeAt(pathStart.length - 1) !== ts_exports.CharacterCodes.doubleQuote) {
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) === ts_exports.CharacterCodes.doubleQuote)
88
+ if (pathStart.charCodeAt(pathStart.length - 1) === typescript_exports.CharacterCodes.doubleQuote)
95
89
  break;
96
90
  }
97
91
  }
98
- return { value: (0, ts_exports.stripQuotes)(pathStart), extraPartCounter };
92
+ return { value: (0, typescript_exports.stripQuotes)(pathStart), extraPartCounter };
99
93
  }
100
94
  }
101
95
  function parseServerMode() {
102
- const mode = ts_exports.server.findArgument("--serverMode");
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 ts_exports.LanguageServiceMode.Semantic;
101
+ return typescript_exports.LanguageServiceMode.Semantic;
108
102
  case "partialsemantic":
109
- return ts_exports.LanguageServiceMode.PartialSemantic;
103
+ return typescript_exports.LanguageServiceMode.PartialSemantic;
110
104
  case "syntactic":
111
- return ts_exports.LanguageServiceMode.Syntactic;
105
+ return typescript_exports.LanguageServiceMode.Syntactic;
112
106
  default:
113
107
  return mode;
114
108
  }
115
109
  }
116
110
  function initializeNodeSystem() {
117
- const sys4 = ts_exports.Debug.checkDefined(ts_exports.sys);
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, ts_exports.noop);
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, ts_exports.server.Msg.Perf);
142
+ this.msg(s, typescript_exports.server.Msg.Perf);
149
143
  }
150
144
  info(s) {
151
- this.msg(s, ts_exports.server.Msg.Info);
145
+ this.msg(s, typescript_exports.server.Msg.Info);
152
146
  }
153
147
  err(s) {
154
- this.msg(s, ts_exports.server.Msg.Err);
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 = ts_exports.server.Msg.Err) {
163
+ msg(s, type = typescript_exports.server.Msg.Err) {
170
164
  var _a, _b, _c;
171
165
  switch (type) {
172
- case ts_exports.server.Msg.Info:
173
- (_a = ts_exports.perfLogger) == null ? void 0 : _a.logInfoEvent(s);
166
+ case typescript_exports.server.Msg.Info:
167
+ (_a = typescript_exports.perfLogger) == null ? void 0 : _a.logInfoEvent(s);
174
168
  break;
175
- case ts_exports.server.Msg.Perf:
176
- (_b = ts_exports.perfLogger) == null ? void 0 : _b.logPerfEvent(s);
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 = ts_exports.perfLogger) == null ? void 0 : _c.logErrEvent(s);
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 = `[${ts_exports.server.nowString()}] ${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, ts_exports.getDirectoryPath)((0, ts_exports.normalizePath)(sys4.getExecutingFilePath()));
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
- ts_exports.Debug.loggingHost = {
213
+ typescript_exports.Debug.loggingHost = {
220
214
  log(level, s) {
221
215
  switch (level) {
222
- case ts_exports.LogLevel.Error:
223
- case ts_exports.LogLevel.Warning:
224
- return logger.msg(s, ts_exports.server.Msg.Err);
225
- case ts_exports.LogLevel.Info:
226
- case ts_exports.LogLevel.Verbose:
227
- return logger.msg(s, ts_exports.server.Msg.Info);
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, ts_exports.createQueue)();
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(ts_exports.server.LogLevel.verbose)) {
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, ts_exports.combinePaths)(libDirectory, "watchGuard.js"), path];
249
- if (logger.hasLevel(ts_exports.server.LogLevel.verbose)) {
250
- logger.info(`Starting ${process.execPath} with args:${ts_exports.server.stringifyIndented(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(ts_exports.server.LogLevel.verbose)) {
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(ts_exports.server.LogLevel.verbose)) {
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(ts_exports.server.LogLevel.verbose)) {
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 ts_exports.noopFileWatcher;
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 = ts_exports.server.nullCancellationToken;
288
+ cancellationToken = typescript_exports.server.nullCancellationToken;
295
289
  }
296
- const localeStr = ts_exports.server.findArgument("--locale");
290
+ const localeStr = typescript_exports.server.findArgument("--locale");
297
291
  if (localeStr) {
298
- (0, ts_exports.validateLocaleAndSetLanguage)(localeStr, sys4);
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 = ts_exports.server.findArgument("--logFile");
319
- const cmdLineVerbosity = getLogLevel(ts_exports.server.findArgument("--logVerbosity"));
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, ts_exports.stripQuotes)(cmdLineLogFileName) : envLogOptions.logToFile ? envLogOptions.file || libDirectory + "/.log" + process.pid.toString() : void 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, ts_exports.normalizeSlashes)(path);
335
+ path = (0, typescript_exports.normalizeSlashes)(path);
342
336
  if (isUNCPath(path)) {
343
- const firstSlash = path.indexOf(ts_exports.directorySeparator, 2);
344
- return firstSlash !== -1 ? (0, ts_exports.toFileNameLowerCase)(path.substring(0, firstSlash)) : path;
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, ts_exports.getRootLength)(path);
340
+ const rootLength = (0, typescript_exports.getRootLength)(path);
347
341
  if (rootLength === 0) {
348
342
  return currentDriveKey;
349
343
  }
350
- if (path.charCodeAt(1) === ts_exports.CharacterCodes.colon && path.charCodeAt(2) === ts_exports.CharacterCodes.slash) {
351
- return (0, ts_exports.toFileNameLowerCase)(path.charAt(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) === ts_exports.CharacterCodes.slash && path.charCodeAt(1) !== ts_exports.CharacterCodes.slash) {
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) === ts_exports.CharacterCodes.slash && s.charCodeAt(1) === ts_exports.CharacterCodes.slash;
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 ts_exports.noopFileWatcher;
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 ts_exports.server.TypingsInstallerAdapter {
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(ts_exports.server.LogLevel.requestTime)) {
394
+ if (this.logger.hasLevel(typescript_exports.server.LogLevel.requestTime)) {
401
395
  this.logger.info("Binding...");
402
396
  }
403
- const args = [ts_exports.server.Arguments.GlobalCacheLocation, this.globalTypingsCacheLocation];
397
+ const args = [typescript_exports.server.Arguments.GlobalCacheLocation, this.globalTypingsCacheLocation];
404
398
  if (this.telemetryEnabled) {
405
- args.push(ts_exports.server.Arguments.EnableTelemetry);
399
+ args.push(typescript_exports.server.Arguments.EnableTelemetry);
406
400
  }
407
401
  if (this.logger.loggingEnabled() && this.logger.getLogFileName()) {
408
- args.push(ts_exports.server.Arguments.LogFile, (0, ts_exports.combinePaths)((0, ts_exports.getDirectoryPath)((0, ts_exports.normalizeSlashes)(this.logger.getLogFileName())), `ti-${process.pid}.log`));
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(ts_exports.server.Arguments.TypingSafeListLocation, this.typingSafeListLocation);
405
+ args.push(typescript_exports.server.Arguments.TypingSafeListLocation, this.typingSafeListLocation);
412
406
  }
413
407
  if (this.typesMapLocation) {
414
- args.push(ts_exports.server.Arguments.TypesMapLocation, this.typesMapLocation);
408
+ args.push(typescript_exports.server.Arguments.TypesMapLocation, this.typesMapLocation);
415
409
  }
416
410
  if (this.npmLocation) {
417
- args.push(ts_exports.server.Arguments.NpmLocation, this.npmLocation);
411
+ args.push(typescript_exports.server.Arguments.NpmLocation, this.npmLocation);
418
412
  }
419
413
  if (this.validateDefaultNpmLocation) {
420
- args.push(ts_exports.server.Arguments.ValidateDefaultNpmLocation);
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, ts_exports.combinePaths)((0, ts_exports.getDirectoryPath)(ts_exports.sys.getExecutingFilePath()), "typingsInstaller.js");
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 ts_exports.server.Session {
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 = ts_exports.sys;
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
- ts_exports.Debug.assert(!!this.constructed, "Should only call `IOSession.prototype.event` on an initialized IOSession");
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(ts_exports.server.LogLevel.verbose)) {
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
- ts_exports.Debug.assert(this.socketEventQueue === void 0);
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(ts_exports.server.formatMessage(ts_exports.server.toEvent(eventName, body), this.logger, this.byteLength, this.host.newLine), "utf8");
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 = ts_exports.tracing) == null ? void 0 : _a.stopTracing();
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(ts_exports.server.LogLevel.verbose);
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}:${ts_exports.server.indent(json)}`);
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(ts_exports.server.findArgument("--eventPort"));
542
- const typingSafeListLocation = ts_exports.server.findArgument(ts_exports.server.Arguments.TypingSafeListLocation);
543
- const typesMapLocation = ts_exports.server.findArgument(ts_exports.server.Arguments.TypesMapLocation) || (0, ts_exports.combinePaths)((0, ts_exports.getDirectoryPath)(ts_exports.sys.getExecutingFilePath()), "typesMap.json");
544
- const npmLocation = ts_exports.server.findArgument(ts_exports.server.Arguments.NpmLocation);
545
- const validateDefaultNpmLocation = ts_exports.server.hasArgument(ts_exports.server.Arguments.ValidateDefaultNpmLocation);
546
- const disableAutomaticTypingAcquisition = ts_exports.server.hasArgument("--disableAutomaticTypingAcquisition");
547
- const useNodeIpc = ts_exports.server.hasArgument("--useNodeIpc");
548
- const telemetryEnabled = ts_exports.server.hasArgument(ts_exports.server.Arguments.EnableTelemetry);
549
- const commandLineTraceDir = ts_exports.server.findArgument("--traceDirectory");
550
- const traceDir = commandLineTraceDir ? (0, ts_exports.stripQuotes)(commandLineTraceDir) : process.env.TSS_TRACE;
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, ts_exports.startTracing)("server", traceDir);
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, ts_exports.normalizeSlashes)(process.env.HOMEDRIVE + process.env.HOMEPATH) || os.tmpdir();
564
- return (0, ts_exports.combinePaths)((0, ts_exports.combinePaths)((0, ts_exports.normalizeSlashes)(basePath), "Microsoft/TypeScript"), ts_exports.versionMajorMinor);
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, ts_exports.combinePaths)((0, ts_exports.combinePaths)(cacheLocation, "typescript"), ts_exports.versionMajorMinor);
567
+ return (0, typescript_exports.combinePaths)((0, typescript_exports.combinePaths)(cacheLocation, "typescript"), typescript_exports.versionMajorMinor);
574
568
  }
575
569
  default:
576
- return ts_exports.Debug.fail(`unsupported platform '${process.platform}'`);
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, ts_exports.combinePaths)((0, ts_exports.normalizeSlashes)(homePath), cacheFolder);
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 = ts_exports.server.findArgument(argName);
586
+ const arg = typescript_exports.server.findArgument(argName);
593
587
  if (arg === void 0) {
594
- return ts_exports.emptyArray;
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: ${ts_exports.version}`);
594
+ logger.info(`Version: ${typescript_exports.version}`);
601
595
  logger.info(`Arguments: ${args.join(" ")}`);
602
- logger.info(`Platform: ${platform} NodeVersion: ${process.version} CaseSensitive: ${ts_exports.sys.useCaseSensitiveFileNames}`);
596
+ logger.info(`Platform: ${platform} NodeVersion: ${process.version} CaseSensitive: ${typescript_exports.sys.useCaseSensitiveFileNames}`);
603
597
  logger.info(`ServerMode: ${serverMode} hasUnknownServerMode: ${unknownServerMode}`);
604
- ts_exports.setStackTraceLimit();
605
- if (ts_exports.Debug.isDebugging) {
606
- ts_exports.Debug.enableDebugInfo();
598
+ typescript_exports.setStackTraceLimit();
599
+ if (typescript_exports.Debug.isDebugging) {
600
+ typescript_exports.Debug.enableDebugInfo();
607
601
  }
608
- if (ts_exports.sys.tryEnableSourceMapsForHost && /^development$/i.test(ts_exports.sys.getEnvironmentVariable("NODE_ENV"))) {
609
- ts_exports.sys.tryEnableSourceMapsForHost();
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(", "), ts_exports.server.Msg.Info);
612
- console.warn = (...args2) => logger.msg(args2.length === 1 ? args2[0] : args2.join(", "), ts_exports.server.Msg.Err);
613
- console.error = (...args2) => logger.msg(args2.length === 1 ? args2[0] : args2.join(", "), ts_exports.server.Msg.Err);
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: ts_exports.server.hasArgument("--allowLocalPluginLoads"),
619
- useSingleInferredProject: ts_exports.server.hasArgument("--useSingleInferredProject"),
620
- useInferredProjectPerProjectRoot: ts_exports.server.hasArgument("--useInferredProjectPerProjectRoot"),
621
- suppressDiagnosticEvents: ts_exports.server.hasArgument("--suppressDiagnosticEvents"),
622
- noGetErrOnBackgroundUpdate: ts_exports.server.hasArgument("--noGetErrOnBackgroundUpdate"),
623
- canUseWatchEvents: ts_exports.server.hasArgument("--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
- ts_exports.setStackTraceLimit();
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.20240320`;
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 isEntityNameVisible(entityName, enclosingDeclaration) {
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
- -1 /* All */,
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
- -1 /* All */,
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, -1 /* All */);
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__ */ ((CompletionTriggerKind3) => {
131175
- CompletionTriggerKind3[CompletionTriggerKind3["Invoked"] = 1] = "Invoked";
131176
- CompletionTriggerKind3[CompletionTriggerKind3["TriggerCharacter"] = 2] = "TriggerCharacter";
131177
- CompletionTriggerKind3[CompletionTriggerKind3["TriggerForIncompleteCompletions"] = 3] = "TriggerForIncompleteCompletions";
131178
- return CompletionTriggerKind3;
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
- if (node.isUnterminated)
132799
- return void 0;
132800
- return createTextSpanFromBounds(node.getStart() + 1, node.getEnd() - 1);
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.path), targetFileName);
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.path), targetFileNameWithExtension);
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(
@@ -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, `[${ts_exports.server.nowString()}] ${text}${ts_exports.sys.newLine}`);
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, ts_exports.combinePaths)((0, ts_exports.normalizeSlashes)(globalTypingsCacheLocation2), `node_modules/${typesRegistryPackageName}/index.json`);
109
+ return (0, typescript_exports.combinePaths)((0, typescript_exports.normalizeSlashes)(globalTypingsCacheLocation2), `node_modules/${typesRegistryPackageName}/index.json`);
116
110
  }
117
- var NodeTypingsInstaller = class extends ts_exports.server.typingsInstaller.TypingsInstaller {
111
+ var NodeTypingsInstaller = class extends typescript_exports.server.typingsInstaller.TypingsInstaller {
118
112
  constructor(globalTypingsCacheLocation2, typingSafeListLocation2, typesMapLocation2, npmLocation2, validateDefaultNpmLocation2, throttleLimit, log2) {
119
- const libDirectory = (0, ts_exports.getDirectoryPath)((0, ts_exports.normalizePath)(ts_exports.sys.getExecutingFilePath()));
113
+ const libDirectory = (0, typescript_exports.getDirectoryPath)((0, typescript_exports.normalizePath)(typescript_exports.sys.getExecutingFilePath()));
120
114
  super(
121
- ts_exports.sys,
115
+ typescript_exports.sys,
122
116
  globalTypingsCacheLocation2,
123
- typingSafeListLocation2 ? (0, ts_exports.toPath)(typingSafeListLocation2, "", (0, ts_exports.createGetCanonicalFileName)(ts_exports.sys.useCaseSensitiveFileNames)) : (0, ts_exports.toPath)("typingSafeList.json", libDirectory, (0, ts_exports.createGetCanonicalFileName)(ts_exports.sys.useCaseSensitiveFileNames)),
124
- typesMapLocation2 ? (0, ts_exports.toPath)(typesMapLocation2, "", (0, ts_exports.createGetCanonicalFileName)(ts_exports.sys.useCaseSensitiveFileNames)) : (0, ts_exports.toPath)("typesMap.json", libDirectory, (0, ts_exports.createGetCanonicalFileName)(ts_exports.sys.useCaseSensitiveFileNames)),
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 '${ts_exports.server.Arguments.NpmLocation}' ${npmLocation2 === void 0 ? "not " : ""} provided)`);
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:${ts_exports.server.stringifyIndented(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 = ts_exports.server.typingsInstaller.installNpmPackages(this.npmPath, ts_exports.version, packageNames, (command) => this.execSyncAndLog(command, { cwd }));
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(ts_exports.sys.newLine, stdout)}`);
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(ts_exports.sys.newLine, stdout)}${ts_exports.sys.newLine} stderr:${indent(ts_exports.sys.newLine, stderr)}`);
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 = ts_exports.server.findArgument(ts_exports.server.Arguments.LogFile);
205
- var globalTypingsCacheLocation = ts_exports.server.findArgument(ts_exports.server.Arguments.GlobalCacheLocation);
206
- var typingSafeListLocation = ts_exports.server.findArgument(ts_exports.server.Arguments.TypingSafeListLocation);
207
- var typesMapLocation = ts_exports.server.findArgument(ts_exports.server.Arguments.TypesMapLocation);
208
- var npmLocation = ts_exports.server.findArgument(ts_exports.server.Arguments.NpmLocation);
209
- var validateDefaultNpmLocation = ts_exports.server.hasArgument(ts_exports.server.Arguments.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-57681-18",
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.12",
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.1.1",
53
- "@typescript-eslint/parser": "^7.1.1",
54
- "@typescript-eslint/utils": "^7.1.1",
55
- "azure-devops-node-api": "^12.4.0",
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.1",
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.5",
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.2",
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": "faa8f0448f6da0451f19eb0ce4da316513128cbb"
116
+ "gitHead": "3b12172f2371bf65ec4109aef8e1ee43c9a2d076"
117
117
  }