@typescript-deploys/pr-build 4.9.0-pr-50592-5 → 4.9.0-pr-50620-15

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
@@ -69,7 +69,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
69
69
  var ts;
70
70
  (function (ts) {
71
71
  ts.versionMajorMinor = "4.9";
72
- ts.version = "".concat(ts.versionMajorMinor, ".0-insiders.20220901");
72
+ ts.version = "".concat(ts.versionMajorMinor, ".0-insiders.20220907");
73
73
  var NativeCollections;
74
74
  (function (NativeCollections) {
75
75
  var globals = typeof globalThis !== "undefined" ? globalThis :
@@ -3733,7 +3733,6 @@ var ts;
3733
3733
  createPollingIntervalBasedLevels(customLevels ? __assign(__assign({}, defaultLevels), customLevels) : defaultLevels);
3734
3734
  }
3735
3735
  }
3736
- ts.setCustomPollingValues = setCustomPollingValues;
3737
3736
  function pollWatchedFileQueue(host, queue, pollIndex, chunkSize, callbackOnWatchFileStat) {
3738
3737
  var definedValueCopyToIndex = pollIndex;
3739
3738
  for (var canVisit = queue.length; chunkSize && canVisit; nextPollIndex(), canVisit--) {
@@ -3871,7 +3870,6 @@ var ts;
3871
3870
  pollingIntervalQueue(pollingInterval).pollScheduled = host.setTimeout(pollingInterval === PollingInterval.Low ? pollLowPollingIntervalQueue : pollPollingIntervalQueue, pollingInterval, pollingIntervalQueue(pollingInterval));
3872
3871
  }
3873
3872
  }
3874
- ts.createDynamicPriorityPollingWatchFile = createDynamicPriorityPollingWatchFile;
3875
3873
  function createUseFsEventsOnParentDirectoryWatchFile(fsWatch, useCaseSensitiveFileNames) {
3876
3874
  var fileWatcherCallbacks = ts.createMultiMap();
3877
3875
  var dirWatchers = new ts.Map();
@@ -3946,37 +3944,31 @@ var ts;
3946
3944
  pollScheduled = host.setTimeout(pollQueue, PollingInterval.High);
3947
3945
  }
3948
3946
  }
3949
- function createSingleFileWatcherPerName(watchFile, useCaseSensitiveFileNames) {
3950
- var cache = new ts.Map();
3951
- var callbacksCache = ts.createMultiMap();
3947
+ function createSingleWatcherPerName(cache, useCaseSensitiveFileNames, name, callback, createWatcher) {
3952
3948
  var toCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames);
3953
- return function (fileName, callback, pollingInterval, options) {
3954
- var path = toCanonicalFileName(fileName);
3955
- var existing = cache.get(path);
3956
- if (existing) {
3957
- existing.refCount++;
3958
- }
3959
- else {
3960
- cache.set(path, {
3961
- watcher: watchFile(fileName, function (fileName, eventKind, modifiedTime) { return ts.forEach(callbacksCache.get(path), function (cb) { return cb(fileName, eventKind, modifiedTime); }); }, pollingInterval, options),
3962
- refCount: 1
3963
- });
3949
+ var path = toCanonicalFileName(name);
3950
+ var existing = cache.get(path);
3951
+ if (existing) {
3952
+ existing.callbacks.push(callback);
3953
+ }
3954
+ else {
3955
+ cache.set(path, {
3956
+ watcher: createWatcher((function (param1, param2, param3) { var _a; return (_a = cache.get(path)) === null || _a === void 0 ? void 0 : _a.callbacks.slice().forEach(function (cb) { return cb(param1, param2, param3); }); })),
3957
+ callbacks: [callback]
3958
+ });
3959
+ }
3960
+ return {
3961
+ close: function () {
3962
+ var watcher = cache.get(path);
3963
+ if (!watcher)
3964
+ return;
3965
+ if (!ts.orderedRemoveItem(watcher.callbacks, callback) || watcher.callbacks.length)
3966
+ return;
3967
+ cache.delete(path);
3968
+ ts.closeFileWatcherOf(watcher);
3964
3969
  }
3965
- callbacksCache.add(path, callback);
3966
- return {
3967
- close: function () {
3968
- var watcher = ts.Debug.checkDefined(cache.get(path));
3969
- callbacksCache.remove(path, callback);
3970
- watcher.refCount--;
3971
- if (watcher.refCount)
3972
- return;
3973
- cache.delete(path);
3974
- ts.closeFileWatcherOf(watcher);
3975
- }
3976
- };
3977
3970
  };
3978
3971
  }
3979
- ts.createSingleFileWatcherPerName = createSingleFileWatcherPerName;
3980
3972
  function onWatchedFileStat(watchedFile, modifiedTime) {
3981
3973
  var oldTime = watchedFile.mtime.getTime();
3982
3974
  var newTime = modifiedTime.getTime();
@@ -3987,7 +3979,6 @@ var ts;
3987
3979
  }
3988
3980
  return false;
3989
3981
  }
3990
- ts.onWatchedFileStat = onWatchedFileStat;
3991
3982
  function getFileWatcherEventKind(oldTime, newTime) {
3992
3983
  return oldTime === 0
3993
3984
  ? FileWatcherEventKind.Created
@@ -4194,11 +4185,9 @@ var ts;
4194
4185
  return ts.stringContains(toCanonicalFilePath(path), searchPath);
4195
4186
  }
4196
4187
  }
4197
- ts.createDirectoryWatcherSupportingRecursive = createDirectoryWatcherSupportingRecursive;
4198
4188
  function createFileWatcherCallback(callback) {
4199
4189
  return function (_fileName, eventKind, modifiedTime) { return callback(eventKind === FileWatcherEventKind.Changed ? "change" : "rename", "", modifiedTime); };
4200
4190
  }
4201
- ts.createFileWatcherCallback = createFileWatcherCallback;
4202
4191
  function createFsWatchCallbackForFileWatcherCallback(fileName, callback, getModifiedTime) {
4203
4192
  return function (eventName, _relativeFileName, modifiedTime) {
4204
4193
  if (eventName === "rename") {
@@ -4225,7 +4214,10 @@ var ts;
4225
4214
  };
4226
4215
  }
4227
4216
  function createSystemWatchFunctions(_a) {
4228
- var pollingWatchFile = _a.pollingWatchFile, getModifiedTime = _a.getModifiedTime, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout, fsWatchWorker = _a.fsWatchWorker, fileSystemEntryExists = _a.fileSystemEntryExists, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, fsSupportsRecursiveFsWatch = _a.fsSupportsRecursiveFsWatch, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, realpath = _a.realpath, tscWatchFile = _a.tscWatchFile, useNonPollingWatchers = _a.useNonPollingWatchers, tscWatchDirectory = _a.tscWatchDirectory, defaultWatchFileKind = _a.defaultWatchFileKind, inodeWatching = _a.inodeWatching, sysLog = _a.sysLog;
4217
+ var pollingWatchFileWorker = _a.pollingWatchFileWorker, getModifiedTime = _a.getModifiedTime, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout, fsWatchWorker = _a.fsWatchWorker, fileSystemEntryExists = _a.fileSystemEntryExists, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, fsSupportsRecursiveFsWatch = _a.fsSupportsRecursiveFsWatch, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, realpath = _a.realpath, tscWatchFile = _a.tscWatchFile, useNonPollingWatchers = _a.useNonPollingWatchers, tscWatchDirectory = _a.tscWatchDirectory, defaultWatchFileKind = _a.defaultWatchFileKind, inodeWatching = _a.inodeWatching, sysLog = _a.sysLog;
4218
+ var pollingWatches = new ts.Map();
4219
+ var fsWatches = new ts.Map();
4220
+ var fsWatchesRecursive = new ts.Map();
4229
4221
  var dynamicPollingWatchFile;
4230
4222
  var fixedChunkSizePollingWatchFile;
4231
4223
  var nonPollingWatchFile;
@@ -4281,7 +4273,7 @@ var ts;
4281
4273
  default:
4282
4274
  return useNonPollingWatchers ?
4283
4275
  generateWatchFileOptions(ts.WatchFileKind.UseFsEventsOnParentDirectory, ts.PollingWatchKind.PriorityInterval, options) :
4284
- { watchFile: (defaultWatchFileKind === null || defaultWatchFileKind === void 0 ? void 0 : defaultWatchFileKind()) || ts.WatchFileKind.FixedPollingInterval };
4276
+ { watchFile: (defaultWatchFileKind === null || defaultWatchFileKind === void 0 ? void 0 : defaultWatchFileKind()) || ts.WatchFileKind.UseFsEvents };
4285
4277
  }
4286
4278
  }
4287
4279
  function generateWatchFileOptions(watchFile, fallbackPolling, options) {
@@ -4346,7 +4338,13 @@ var ts;
4346
4338
  };
4347
4339
  }
4348
4340
  }
4341
+ function pollingWatchFile(fileName, callback, pollingInterval, options) {
4342
+ return createSingleWatcherPerName(pollingWatches, useCaseSensitiveFileNames, fileName, callback, function (cb) { return pollingWatchFileWorker(fileName, cb, pollingInterval, options); });
4343
+ }
4349
4344
  function fsWatch(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
4345
+ return createSingleWatcherPerName(recursive ? fsWatchesRecursive : fsWatches, useCaseSensitiveFileNames, fileOrDirectory, callback, function (cb) { return fsWatchHandlingExistenceOnHost(fileOrDirectory, entryKind, cb, recursive, fallbackPollingInterval, fallbackOptions); });
4346
+ }
4347
+ function fsWatchHandlingExistenceOnHost(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
4350
4348
  var lastDirectoryPartWithDirectorySeparator;
4351
4349
  var lastDirectoryPart;
4352
4350
  if (inodeWatching) {
@@ -4484,7 +4482,7 @@ var ts;
4484
4482
  var fsSupportsRecursiveFsWatch = isNode4OrLater && (process.platform === "win32" || process.platform === "darwin");
4485
4483
  var getCurrentDirectory = ts.memoize(function () { return process.cwd(); });
4486
4484
  var _b = createSystemWatchFunctions({
4487
- pollingWatchFile: createSingleFileWatcherPerName(fsWatchFileWorker, useCaseSensitiveFileNames),
4485
+ pollingWatchFileWorker: fsWatchFileWorker,
4488
4486
  getModifiedTime: getModifiedTime,
4489
4487
  setTimeout: setTimeout,
4490
4488
  clearTimeout: clearTimeout,
@@ -51995,7 +51993,7 @@ var ts;
51995
51993
  return includes & 8388608 ? wildcardType : anyType;
51996
51994
  }
51997
51995
  if (!strictNullChecks && includes & 98304) {
51998
- return includes & 32768 ? undefinedType : nullType;
51996
+ return includes & 16777216 ? neverType : includes & 32768 ? undefinedType : nullType;
51999
51997
  }
52000
51998
  if (includes & 4 && includes & (128 | 134217728 | 268435456) ||
52001
51999
  includes & 8 && includes & 256 ||
@@ -55814,8 +55812,8 @@ var ts;
55814
55812
  if (!c.root.inferTypeParameters && !isDistributionDependent(c.root)) {
55815
55813
  var skipTrue = !isTypeAssignableTo(getPermissiveInstantiation(c.checkType), getPermissiveInstantiation(c.extendsType));
55816
55814
  var skipFalse = !skipTrue && isTypeAssignableTo(getRestrictiveInstantiation(c.checkType), getRestrictiveInstantiation(c.extendsType));
55817
- if (result = skipTrue ? -1 : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2, false)) {
55818
- result &= skipFalse ? -1 : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2, false);
55815
+ if (result = skipTrue ? -1 : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2, false, undefined, intersectionState)) {
55816
+ result &= skipFalse ? -1 : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2, false, undefined, intersectionState);
55819
55817
  if (result) {
55820
55818
  return result;
55821
55819
  }
@@ -60223,7 +60221,7 @@ var ts;
60223
60221
  }
60224
60222
  function narrowByInKeyword(type, name, assumeTrue) {
60225
60223
  if (type.flags & 1048576
60226
- || type.flags & 524288 && declaredType !== type
60224
+ || type.flags & 524288 && declaredType !== type && !(declaredType === unknownType && isEmptyAnonymousObjectType(type))
60227
60225
  || ts.isThisTypeParameter(type)
60228
60226
  || type.flags & 2097152 && ts.every(type.types, function (t) { return t.symbol !== globalThisSymbol; })) {
60229
60227
  return filterType(type, function (t) { return isTypePresencePossible(t, name, assumeTrue); });
@@ -60343,14 +60341,18 @@ var ts;
60343
60341
  assumeTrue = !assumeTrue;
60344
60342
  }
60345
60343
  var valueType = getTypeOfExpression(value);
60346
- if ((type.flags & 2) && assumeTrue && (operator === 36 || operator === 37)) {
60344
+ if (((type.flags & 2) || isEmptyAnonymousObjectType(type) && !(valueType.flags & 98304)) &&
60345
+ assumeTrue &&
60346
+ (operator === 36 || operator === 37)) {
60347
60347
  if (valueType.flags & (131068 | 67108864)) {
60348
60348
  return valueType;
60349
60349
  }
60350
60350
  if (valueType.flags & 524288) {
60351
60351
  return nonPrimitiveType;
60352
60352
  }
60353
- return type;
60353
+ if (type.flags & 2) {
60354
+ return type;
60355
+ }
60354
60356
  }
60355
60357
  if (valueType.flags & 98304) {
60356
60358
  if (!strictNullChecks) {
@@ -62700,6 +62702,7 @@ var ts;
62700
62702
  }
62701
62703
  function createJsxAttributesTypeFromAttributesProperty(openingLikeElement, checkMode) {
62702
62704
  var attributes = openingLikeElement.attributes;
62705
+ var attributesType = getContextualType(attributes, 0);
62703
62706
  var allAttributesTable = strictNullChecks ? ts.createSymbolTable() : undefined;
62704
62707
  var attributesTable = ts.createSymbolTable();
62705
62708
  var spread = emptyJsxObjectType;
@@ -62727,6 +62730,12 @@ var ts;
62727
62730
  if (attributeDecl.name.escapedText === jsxChildrenPropertyName) {
62728
62731
  explicitlySpecifyChildrenAttribute = true;
62729
62732
  }
62733
+ if (attributesType) {
62734
+ var prop = getPropertyOfType(attributesType, member.escapedName);
62735
+ if (prop && prop.declarations && isDeprecatedSymbol(prop)) {
62736
+ addDeprecatedSuggestion(attributeDecl.name, prop.declarations, attributeDecl.name.escapedText);
62737
+ }
62738
+ }
62730
62739
  }
62731
62740
  else {
62732
62741
  ts.Debug.assert(attributeDecl.kind === 289);
@@ -99894,10 +99903,12 @@ var ts;
99894
99903
  if (options.preserveConstEnums === false) {
99895
99904
  createDiagnosticForOptionName(ts.Diagnostics.Option_preserveConstEnums_cannot_be_disabled_when_isolatedModules_is_enabled, "preserveConstEnums", "isolatedModules");
99896
99905
  }
99897
- var firstNonExternalModuleSourceFile = ts.find(files, function (f) { return !ts.isExternalModule(f) && !ts.isSourceFileJS(f) && !f.isDeclarationFile && f.scriptKind !== 6; });
99898
- if (firstNonExternalModuleSourceFile) {
99899
- var span = ts.getErrorSpanForNode(firstNonExternalModuleSourceFile, firstNonExternalModuleSourceFile);
99900
- programDiagnostics.add(ts.createFileDiagnostic(firstNonExternalModuleSourceFile, span.start, span.length, ts.Diagnostics._0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module, ts.getBaseFileName(firstNonExternalModuleSourceFile.fileName)));
99906
+ for (var _a = 0, files_5 = files; _a < files_5.length; _a++) {
99907
+ var file = files_5[_a];
99908
+ if (!ts.isExternalModule(file) && !ts.isSourceFileJS(file) && !file.isDeclarationFile && file.scriptKind !== 6) {
99909
+ var span = ts.getErrorSpanForNode(file, file);
99910
+ programDiagnostics.add(ts.createFileDiagnostic(file, span.start, span.length, ts.Diagnostics._0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module, ts.getBaseFileName(file.fileName)));
99911
+ }
99901
99912
  }
99902
99913
  }
99903
99914
  else if (firstNonAmbientExternalModuleSourceFile && languageVersion < 2 && options.module === ts.ModuleKind.None) {
@@ -105882,9 +105893,7 @@ var ts;
105882
105893
  }
105883
105894
  }
105884
105895
  }
105885
- var seenRefs = buildInfoPath ? new ts.Set() : undefined;
105886
105896
  var buildInfoCacheEntry = state.buildInfoCache.get(resolvedPath);
105887
- seenRefs === null || seenRefs === void 0 ? void 0 : seenRefs.add(resolvedPath);
105888
105897
  var pseudoUpToDate = false;
105889
105898
  var usesPrepend = false;
105890
105899
  var upstreamChangedProject;
@@ -105895,7 +105904,7 @@ var ts;
105895
105904
  if (refStatus.newestInputFileTime && refStatus.newestInputFileTime <= oldestOutputFileTime) {
105896
105905
  continue;
105897
105906
  }
105898
- if (buildInfoCacheEntry && hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig, resolvedRefPath)) {
105907
+ if (buildInfoCacheEntry && hasSameBuildInfo(state, buildInfoCacheEntry, resolvedRefPath)) {
105899
105908
  return {
105900
105909
  type: ts.UpToDateStatusType.OutOfDateWithUpstream,
105901
105910
  outOfDateOutputFileName: buildInfoPath,
@@ -105946,24 +105955,9 @@ var ts;
105946
105955
  oldestOutputFileName: oldestOutputFileName
105947
105956
  };
105948
105957
  }
105949
- function hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig, resolvedRefPath) {
105950
- if (seenRefs.has(resolvedRefPath))
105951
- return false;
105952
- seenRefs.add(resolvedRefPath);
105958
+ function hasSameBuildInfo(state, buildInfoCacheEntry, resolvedRefPath) {
105953
105959
  var refBuildInfo = state.buildInfoCache.get(resolvedRefPath);
105954
- if (refBuildInfo.path === buildInfoCacheEntry.path)
105955
- return true;
105956
- if (resolvedConfig.projectReferences) {
105957
- for (var _i = 0, _a = resolvedConfig.projectReferences; _i < _a.length; _i++) {
105958
- var ref = _a[_i];
105959
- var resolvedRef = ts.resolveProjectReferencePath(ref);
105960
- var resolvedRefPath_1 = toResolvedConfigFilePath(state, resolvedRef);
105961
- var resolvedConfig_1 = parseConfigFile(state, resolvedRef, resolvedRefPath_1);
105962
- if (hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig_1, resolvedRefPath_1))
105963
- return true;
105964
- }
105965
- }
105966
- return false;
105960
+ return refBuildInfo.path === buildInfoCacheEntry.path;
105967
105961
  }
105968
105962
  function getUpToDateStatus(state, project, resolvedPath) {
105969
105963
  if (project === undefined) {
package/lib/tsserver.js CHANGED
@@ -109,7 +109,7 @@ var ts;
109
109
  // The following is baselined as a literal template type without intervention
110
110
  /** The version of the TypeScript compiler release */
111
111
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
112
- ts.version = "".concat(ts.versionMajorMinor, ".0-insiders.20220901");
112
+ ts.version = "".concat(ts.versionMajorMinor, ".0-insiders.20220907");
113
113
  /* @internal */
114
114
  var Comparison;
115
115
  (function (Comparison) {
@@ -6147,7 +6147,6 @@ var ts;
6147
6147
  var pollingChunkSize = createPollingIntervalBasedLevels(defaultChunkLevels);
6148
6148
  /* @internal */
6149
6149
  ts.unchangedPollThresholds = createPollingIntervalBasedLevels(defaultChunkLevels);
6150
- /* @internal */
6151
6150
  function setCustomPollingValues(system) {
6152
6151
  if (!system.getEnvironmentVariable) {
6153
6152
  return;
@@ -6190,7 +6189,6 @@ var ts;
6190
6189
  createPollingIntervalBasedLevels(customLevels ? __assign(__assign({}, defaultLevels), customLevels) : defaultLevels);
6191
6190
  }
6192
6191
  }
6193
- ts.setCustomPollingValues = setCustomPollingValues;
6194
6192
  function pollWatchedFileQueue(host, queue, pollIndex, chunkSize, callbackOnWatchFileStat) {
6195
6193
  var definedValueCopyToIndex = pollIndex;
6196
6194
  // Max visit would be all elements of the queue
@@ -6236,7 +6234,6 @@ var ts;
6236
6234
  }
6237
6235
  }
6238
6236
  }
6239
- /* @internal */
6240
6237
  function createDynamicPriorityPollingWatchFile(host) {
6241
6238
  var watchedFiles = [];
6242
6239
  var changedFilesInLastPoll = [];
@@ -6345,7 +6342,6 @@ var ts;
6345
6342
  pollingIntervalQueue(pollingInterval).pollScheduled = host.setTimeout(pollingInterval === PollingInterval.Low ? pollLowPollingIntervalQueue : pollPollingIntervalQueue, pollingInterval, pollingIntervalQueue(pollingInterval));
6346
6343
  }
6347
6344
  }
6348
- ts.createDynamicPriorityPollingWatchFile = createDynamicPriorityPollingWatchFile;
6349
6345
  function createUseFsEventsOnParentDirectoryWatchFile(fsWatch, useCaseSensitiveFileNames) {
6350
6346
  // One file can have multiple watchers
6351
6347
  var fileWatcherCallbacks = ts.createMultiMap();
@@ -6424,42 +6420,38 @@ var ts;
6424
6420
  pollScheduled = host.setTimeout(pollQueue, PollingInterval.High);
6425
6421
  }
6426
6422
  }
6427
- /* @internal */
6428
- function createSingleFileWatcherPerName(watchFile, useCaseSensitiveFileNames) {
6429
- var cache = new ts.Map();
6430
- var callbacksCache = ts.createMultiMap();
6423
+ function createSingleWatcherPerName(cache, useCaseSensitiveFileNames, name, callback, createWatcher) {
6431
6424
  var toCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames);
6432
- return function (fileName, callback, pollingInterval, options) {
6433
- var path = toCanonicalFileName(fileName);
6434
- var existing = cache.get(path);
6435
- if (existing) {
6436
- existing.refCount++;
6437
- }
6438
- else {
6439
- cache.set(path, {
6440
- watcher: watchFile(fileName, function (fileName, eventKind, modifiedTime) { return ts.forEach(callbacksCache.get(path), function (cb) { return cb(fileName, eventKind, modifiedTime); }); }, pollingInterval, options),
6441
- refCount: 1
6442
- });
6425
+ var path = toCanonicalFileName(name);
6426
+ var existing = cache.get(path);
6427
+ if (existing) {
6428
+ existing.callbacks.push(callback);
6429
+ }
6430
+ else {
6431
+ cache.set(path, {
6432
+ watcher: createWatcher((
6433
+ // Cant infer types correctly so lets satisfy checker
6434
+ function (param1, param2, param3) { var _a; return (_a = cache.get(path)) === null || _a === void 0 ? void 0 : _a.callbacks.slice().forEach(function (cb) { return cb(param1, param2, param3); }); })),
6435
+ callbacks: [callback]
6436
+ });
6437
+ }
6438
+ return {
6439
+ close: function () {
6440
+ var watcher = cache.get(path);
6441
+ // Watcher is not expected to be undefined, but if it is normally its because
6442
+ // exception was thrown somewhere else and watch state is not what it should be
6443
+ if (!watcher)
6444
+ return;
6445
+ if (!ts.orderedRemoveItem(watcher.callbacks, callback) || watcher.callbacks.length)
6446
+ return;
6447
+ cache.delete(path);
6448
+ ts.closeFileWatcherOf(watcher);
6443
6449
  }
6444
- callbacksCache.add(path, callback);
6445
- return {
6446
- close: function () {
6447
- var watcher = ts.Debug.checkDefined(cache.get(path));
6448
- callbacksCache.remove(path, callback);
6449
- watcher.refCount--;
6450
- if (watcher.refCount)
6451
- return;
6452
- cache.delete(path);
6453
- ts.closeFileWatcherOf(watcher);
6454
- }
6455
- };
6456
6450
  };
6457
6451
  }
6458
- ts.createSingleFileWatcherPerName = createSingleFileWatcherPerName;
6459
6452
  /**
6460
6453
  * Returns true if file status changed
6461
6454
  */
6462
- /*@internal*/
6463
6455
  function onWatchedFileStat(watchedFile, modifiedTime) {
6464
6456
  var oldTime = watchedFile.mtime.getTime();
6465
6457
  var newTime = modifiedTime.getTime();
@@ -6471,7 +6463,6 @@ var ts;
6471
6463
  }
6472
6464
  return false;
6473
6465
  }
6474
- ts.onWatchedFileStat = onWatchedFileStat;
6475
6466
  /*@internal*/
6476
6467
  function getFileWatcherEventKind(oldTime, newTime) {
6477
6468
  return oldTime === 0
@@ -6499,7 +6490,6 @@ var ts;
6499
6490
  * that means if this is recursive watcher, watch the children directories as well
6500
6491
  * (eg on OS that dont support recursive watch using fs.watch use fs.watchFile)
6501
6492
  */
6502
- /*@internal*/
6503
6493
  function createDirectoryWatcherSupportingRecursive(_a) {
6504
6494
  var watchDirectory = _a.watchDirectory, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, fileSystemEntryExists = _a.fileSystemEntryExists, realpath = _a.realpath, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout;
6505
6495
  var cache = new ts.Map();
@@ -6708,18 +6698,15 @@ var ts;
6708
6698
  return ts.stringContains(toCanonicalFilePath(path), searchPath);
6709
6699
  }
6710
6700
  }
6711
- ts.createDirectoryWatcherSupportingRecursive = createDirectoryWatcherSupportingRecursive;
6712
6701
  /*@internal*/
6713
6702
  var FileSystemEntryKind;
6714
6703
  (function (FileSystemEntryKind) {
6715
6704
  FileSystemEntryKind[FileSystemEntryKind["File"] = 0] = "File";
6716
6705
  FileSystemEntryKind[FileSystemEntryKind["Directory"] = 1] = "Directory";
6717
6706
  })(FileSystemEntryKind = ts.FileSystemEntryKind || (ts.FileSystemEntryKind = {}));
6718
- /*@internal*/
6719
6707
  function createFileWatcherCallback(callback) {
6720
6708
  return function (_fileName, eventKind, modifiedTime) { return callback(eventKind === FileWatcherEventKind.Changed ? "change" : "rename", "", modifiedTime); };
6721
6709
  }
6722
- ts.createFileWatcherCallback = createFileWatcherCallback;
6723
6710
  function createFsWatchCallbackForFileWatcherCallback(fileName, callback, getModifiedTime) {
6724
6711
  return function (eventName, _relativeFileName, modifiedTime) {
6725
6712
  if (eventName === "rename") {
@@ -6753,7 +6740,10 @@ var ts;
6753
6740
  }
6754
6741
  /*@internal*/
6755
6742
  function createSystemWatchFunctions(_a) {
6756
- var pollingWatchFile = _a.pollingWatchFile, getModifiedTime = _a.getModifiedTime, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout, fsWatchWorker = _a.fsWatchWorker, fileSystemEntryExists = _a.fileSystemEntryExists, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, fsSupportsRecursiveFsWatch = _a.fsSupportsRecursiveFsWatch, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, realpath = _a.realpath, tscWatchFile = _a.tscWatchFile, useNonPollingWatchers = _a.useNonPollingWatchers, tscWatchDirectory = _a.tscWatchDirectory, defaultWatchFileKind = _a.defaultWatchFileKind, inodeWatching = _a.inodeWatching, sysLog = _a.sysLog;
6743
+ var pollingWatchFileWorker = _a.pollingWatchFileWorker, getModifiedTime = _a.getModifiedTime, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout, fsWatchWorker = _a.fsWatchWorker, fileSystemEntryExists = _a.fileSystemEntryExists, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, fsSupportsRecursiveFsWatch = _a.fsSupportsRecursiveFsWatch, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, realpath = _a.realpath, tscWatchFile = _a.tscWatchFile, useNonPollingWatchers = _a.useNonPollingWatchers, tscWatchDirectory = _a.tscWatchDirectory, defaultWatchFileKind = _a.defaultWatchFileKind, inodeWatching = _a.inodeWatching, sysLog = _a.sysLog;
6744
+ var pollingWatches = new ts.Map();
6745
+ var fsWatches = new ts.Map();
6746
+ var fsWatchesRecursive = new ts.Map();
6757
6747
  var dynamicPollingWatchFile;
6758
6748
  var fixedChunkSizePollingWatchFile;
6759
6749
  var nonPollingWatchFile;
@@ -6817,7 +6807,7 @@ var ts;
6817
6807
  // Use notifications from FS to watch with falling back to fs.watchFile
6818
6808
  generateWatchFileOptions(ts.WatchFileKind.UseFsEventsOnParentDirectory, ts.PollingWatchKind.PriorityInterval, options) :
6819
6809
  // Default to do not use fixed polling interval
6820
- { watchFile: (defaultWatchFileKind === null || defaultWatchFileKind === void 0 ? void 0 : defaultWatchFileKind()) || ts.WatchFileKind.FixedPollingInterval };
6810
+ { watchFile: (defaultWatchFileKind === null || defaultWatchFileKind === void 0 ? void 0 : defaultWatchFileKind()) || ts.WatchFileKind.UseFsEvents };
6821
6811
  }
6822
6812
  }
6823
6813
  function generateWatchFileOptions(watchFile, fallbackPolling, options) {
@@ -6888,7 +6878,13 @@ var ts;
6888
6878
  };
6889
6879
  }
6890
6880
  }
6881
+ function pollingWatchFile(fileName, callback, pollingInterval, options) {
6882
+ return createSingleWatcherPerName(pollingWatches, useCaseSensitiveFileNames, fileName, callback, function (cb) { return pollingWatchFileWorker(fileName, cb, pollingInterval, options); });
6883
+ }
6891
6884
  function fsWatch(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
6885
+ return createSingleWatcherPerName(recursive ? fsWatchesRecursive : fsWatches, useCaseSensitiveFileNames, fileOrDirectory, callback, function (cb) { return fsWatchHandlingExistenceOnHost(fileOrDirectory, entryKind, cb, recursive, fallbackPollingInterval, fallbackOptions); });
6886
+ }
6887
+ function fsWatchHandlingExistenceOnHost(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
6892
6888
  var lastDirectoryPartWithDirectorySeparator;
6893
6889
  var lastDirectoryPart;
6894
6890
  if (inodeWatching) {
@@ -7067,7 +7063,7 @@ var ts;
7067
7063
  var fsSupportsRecursiveFsWatch = isNode4OrLater && (process.platform === "win32" || process.platform === "darwin");
7068
7064
  var getCurrentDirectory = ts.memoize(function () { return process.cwd(); });
7069
7065
  var _b = createSystemWatchFunctions({
7070
- pollingWatchFile: createSingleFileWatcherPerName(fsWatchFileWorker, useCaseSensitiveFileNames),
7066
+ pollingWatchFileWorker: fsWatchFileWorker,
7071
7067
  getModifiedTime: getModifiedTime,
7072
7068
  setTimeout: setTimeout,
7073
7069
  clearTimeout: clearTimeout,
@@ -62527,7 +62523,7 @@ var ts;
62527
62523
  return includes & 8388608 /* TypeFlags.IncludesWildcard */ ? wildcardType : anyType;
62528
62524
  }
62529
62525
  if (!strictNullChecks && includes & 98304 /* TypeFlags.Nullable */) {
62530
- return includes & 32768 /* TypeFlags.Undefined */ ? undefinedType : nullType;
62526
+ return includes & 16777216 /* TypeFlags.IncludesEmptyObject */ ? neverType : includes & 32768 /* TypeFlags.Undefined */ ? undefinedType : nullType;
62531
62527
  }
62532
62528
  if (includes & 4 /* TypeFlags.String */ && includes & (128 /* TypeFlags.StringLiteral */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */) ||
62533
62529
  includes & 8 /* TypeFlags.Number */ && includes & 256 /* TypeFlags.NumberLiteral */ ||
@@ -66889,8 +66885,8 @@ var ts;
66889
66885
  var skipTrue = !isTypeAssignableTo(getPermissiveInstantiation(c.checkType), getPermissiveInstantiation(c.extendsType));
66890
66886
  var skipFalse = !skipTrue && isTypeAssignableTo(getRestrictiveInstantiation(c.checkType), getRestrictiveInstantiation(c.extendsType));
66891
66887
  // TODO: Find a nice way to include potential conditional type breakdowns in error output, if they seem good (they usually don't)
66892
- if (result = skipTrue ? -1 /* Ternary.True */ : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false)) {
66893
- result &= skipFalse ? -1 /* Ternary.True */ : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false);
66888
+ if (result = skipTrue ? -1 /* Ternary.True */ : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) {
66889
+ result &= skipFalse ? -1 /* Ternary.True */ : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState);
66894
66890
  if (result) {
66895
66891
  return result;
66896
66892
  }
@@ -71968,7 +71964,7 @@ var ts;
71968
71964
  }
71969
71965
  function narrowByInKeyword(type, name, assumeTrue) {
71970
71966
  if (type.flags & 1048576 /* TypeFlags.Union */
71971
- || type.flags & 524288 /* TypeFlags.Object */ && declaredType !== type
71967
+ || type.flags & 524288 /* TypeFlags.Object */ && declaredType !== type && !(declaredType === unknownType && isEmptyAnonymousObjectType(type))
71972
71968
  || ts.isThisTypeParameter(type)
71973
71969
  || type.flags & 2097152 /* TypeFlags.Intersection */ && ts.every(type.types, function (t) { return t.symbol !== globalThisSymbol; })) {
71974
71970
  return filterType(type, function (t) { return isTypePresencePossible(t, name, assumeTrue); });
@@ -72101,14 +72097,18 @@ var ts;
72101
72097
  assumeTrue = !assumeTrue;
72102
72098
  }
72103
72099
  var valueType = getTypeOfExpression(value);
72104
- if ((type.flags & 2 /* TypeFlags.Unknown */) && assumeTrue && (operator === 36 /* SyntaxKind.EqualsEqualsEqualsToken */ || operator === 37 /* SyntaxKind.ExclamationEqualsEqualsToken */)) {
72100
+ if (((type.flags & 2 /* TypeFlags.Unknown */) || isEmptyAnonymousObjectType(type) && !(valueType.flags & 98304 /* TypeFlags.Nullable */)) &&
72101
+ assumeTrue &&
72102
+ (operator === 36 /* SyntaxKind.EqualsEqualsEqualsToken */ || operator === 37 /* SyntaxKind.ExclamationEqualsEqualsToken */)) {
72105
72103
  if (valueType.flags & (131068 /* TypeFlags.Primitive */ | 67108864 /* TypeFlags.NonPrimitive */)) {
72106
72104
  return valueType;
72107
72105
  }
72108
72106
  if (valueType.flags & 524288 /* TypeFlags.Object */) {
72109
72107
  return nonPrimitiveType;
72110
72108
  }
72111
- return type;
72109
+ if (type.flags & 2 /* TypeFlags.Unknown */) {
72110
+ return type;
72111
+ }
72112
72112
  }
72113
72113
  if (valueType.flags & 98304 /* TypeFlags.Nullable */) {
72114
72114
  if (!strictNullChecks) {
@@ -74924,6 +74924,7 @@ var ts;
74924
74924
  */
74925
74925
  function createJsxAttributesTypeFromAttributesProperty(openingLikeElement, checkMode) {
74926
74926
  var attributes = openingLikeElement.attributes;
74927
+ var attributesType = getContextualType(attributes, 0 /* ContextFlags.None */);
74927
74928
  var allAttributesTable = strictNullChecks ? ts.createSymbolTable() : undefined;
74928
74929
  var attributesTable = ts.createSymbolTable();
74929
74930
  var spread = emptyJsxObjectType;
@@ -74951,6 +74952,12 @@ var ts;
74951
74952
  if (attributeDecl.name.escapedText === jsxChildrenPropertyName) {
74952
74953
  explicitlySpecifyChildrenAttribute = true;
74953
74954
  }
74955
+ if (attributesType) {
74956
+ var prop = getPropertyOfType(attributesType, member.escapedName);
74957
+ if (prop && prop.declarations && isDeprecatedSymbol(prop)) {
74958
+ addDeprecatedSuggestion(attributeDecl.name, prop.declarations, attributeDecl.name.escapedText);
74959
+ }
74960
+ }
74954
74961
  }
74955
74962
  else {
74956
74963
  ts.Debug.assert(attributeDecl.kind === 289 /* SyntaxKind.JsxSpreadAttribute */);
@@ -120614,10 +120621,12 @@ var ts;
120614
120621
  if (options.preserveConstEnums === false) {
120615
120622
  createDiagnosticForOptionName(ts.Diagnostics.Option_preserveConstEnums_cannot_be_disabled_when_isolatedModules_is_enabled, "preserveConstEnums", "isolatedModules");
120616
120623
  }
120617
- var firstNonExternalModuleSourceFile = ts.find(files, function (f) { return !ts.isExternalModule(f) && !ts.isSourceFileJS(f) && !f.isDeclarationFile && f.scriptKind !== 6 /* ScriptKind.JSON */; });
120618
- if (firstNonExternalModuleSourceFile) {
120619
- var span = ts.getErrorSpanForNode(firstNonExternalModuleSourceFile, firstNonExternalModuleSourceFile);
120620
- programDiagnostics.add(ts.createFileDiagnostic(firstNonExternalModuleSourceFile, span.start, span.length, ts.Diagnostics._0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module, ts.getBaseFileName(firstNonExternalModuleSourceFile.fileName)));
120624
+ for (var _a = 0, files_5 = files; _a < files_5.length; _a++) {
120625
+ var file = files_5[_a];
120626
+ if (!ts.isExternalModule(file) && !ts.isSourceFileJS(file) && !file.isDeclarationFile && file.scriptKind !== 6 /* ScriptKind.JSON */) {
120627
+ var span = ts.getErrorSpanForNode(file, file);
120628
+ programDiagnostics.add(ts.createFileDiagnostic(file, span.start, span.length, ts.Diagnostics._0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module, ts.getBaseFileName(file.fileName)));
120629
+ }
120621
120630
  }
120622
120631
  }
120623
120632
  else if (firstNonAmbientExternalModuleSourceFile && languageVersion < 2 /* ScriptTarget.ES2015 */ && options.module === ts.ModuleKind.None) {
@@ -127398,9 +127407,7 @@ var ts;
127398
127407
  }
127399
127408
  }
127400
127409
  }
127401
- var seenRefs = buildInfoPath ? new ts.Set() : undefined;
127402
127410
  var buildInfoCacheEntry = state.buildInfoCache.get(resolvedPath);
127403
- seenRefs === null || seenRefs === void 0 ? void 0 : seenRefs.add(resolvedPath);
127404
127411
  /** Inputs are up-to-date, just need either timestamp update or bundle prepend manipulation to make it look up-to-date */
127405
127412
  var pseudoUpToDate = false;
127406
127413
  var usesPrepend = false;
@@ -127415,7 +127422,7 @@ var ts;
127415
127422
  continue;
127416
127423
  }
127417
127424
  // Check if tsbuildinfo path is shared, then we need to rebuild
127418
- if (buildInfoCacheEntry && hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig, resolvedRefPath)) {
127425
+ if (buildInfoCacheEntry && hasSameBuildInfo(state, buildInfoCacheEntry, resolvedRefPath)) {
127419
127426
  return {
127420
127427
  type: ts.UpToDateStatusType.OutOfDateWithUpstream,
127421
127428
  outOfDateOutputFileName: buildInfoPath,
@@ -127473,25 +127480,9 @@ var ts;
127473
127480
  oldestOutputFileName: oldestOutputFileName
127474
127481
  };
127475
127482
  }
127476
- function hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig, resolvedRefPath) {
127477
- if (seenRefs.has(resolvedRefPath))
127478
- return false;
127479
- seenRefs.add(resolvedRefPath);
127483
+ function hasSameBuildInfo(state, buildInfoCacheEntry, resolvedRefPath) {
127480
127484
  var refBuildInfo = state.buildInfoCache.get(resolvedRefPath);
127481
- if (refBuildInfo.path === buildInfoCacheEntry.path)
127482
- return true;
127483
- if (resolvedConfig.projectReferences) {
127484
- // Check references
127485
- for (var _i = 0, _a = resolvedConfig.projectReferences; _i < _a.length; _i++) {
127486
- var ref = _a[_i];
127487
- var resolvedRef = ts.resolveProjectReferencePath(ref);
127488
- var resolvedRefPath_1 = toResolvedConfigFilePath(state, resolvedRef);
127489
- var resolvedConfig_1 = parseConfigFile(state, resolvedRef, resolvedRefPath_1);
127490
- if (hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig_1, resolvedRefPath_1))
127491
- return true;
127492
- }
127493
- }
127494
- return false;
127485
+ return refBuildInfo.path === buildInfoCacheEntry.path;
127495
127486
  }
127496
127487
  function getUpToDateStatus(state, project, resolvedPath) {
127497
127488
  if (project === undefined) {
@@ -184470,20 +184461,6 @@ var ts;
184470
184461
  }
184471
184462
  // Override sys.write because fs.writeSync is not reliable on Node 4
184472
184463
  sys.write = function (s) { return writeMessage(sys.bufferFrom(s, "utf8")); };
184473
- // REVIEW: for now this implementation uses polling.
184474
- // The advantage of polling is that it works reliably
184475
- // on all os and with network mounted files.
184476
- // For 90 referenced files, the average time to detect
184477
- // changes is 2*msInterval (by default 5 seconds).
184478
- // The overhead of this is .04 percent (1/2500) with
184479
- // average pause of < 1 millisecond (and max
184480
- // pause less than 1.5 milliseconds); question is
184481
- // do we anticipate reference sets in the 100s and
184482
- // do we care about waiting 10-20 seconds to detect
184483
- // changes for large reference sets? If so, do we want
184484
- // to increase the chunk size or decrease the interval
184485
- // time dynamically to match the large reference set?
184486
- sys.defaultWatchFileKind = function () { return ts.WatchFileKind.FixedChunkSizePolling; };
184487
184464
  /* eslint-disable no-restricted-globals */
184488
184465
  sys.setTimeout = setTimeout;
184489
184466
  sys.clearTimeout = clearTimeout;