@typescript-deploys/pr-build 4.8.0-pr-49245-7 → 4.8.0-pr-48997-21

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.
@@ -6308,7 +6308,7 @@ var ts;
6308
6308
  */
6309
6309
  /*@internal*/
6310
6310
  function createDirectoryWatcherSupportingRecursive(_a) {
6311
- var watchDirectory = _a.watchDirectory, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, directoryExists = _a.directoryExists, realpath = _a.realpath, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout;
6311
+ 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;
6312
6312
  var cache = new ts.Map();
6313
6313
  var callbackCache = ts.createMultiMap();
6314
6314
  var cacheToUpdateChildWatches = new ts.Map();
@@ -6408,7 +6408,7 @@ var ts;
6408
6408
  function nonSyncUpdateChildWatches(dirName, dirPath, fileName, options) {
6409
6409
  // Iterate through existing children and update the watches if needed
6410
6410
  var parentWatcher = cache.get(dirPath);
6411
- if (parentWatcher && directoryExists(dirName)) {
6411
+ if (parentWatcher && fileSystemEntryExists(dirName, 1 /* Directory */)) {
6412
6412
  // Schedule the update and postpone invoke for callbacks
6413
6413
  scheduleUpdateChildWatches(dirName, dirPath, fileName, options);
6414
6414
  return;
@@ -6481,7 +6481,7 @@ var ts;
6481
6481
  if (!parentWatcher)
6482
6482
  return false;
6483
6483
  var newChildWatches;
6484
- var hasChanges = ts.enumerateInsertsAndDeletes(directoryExists(parentDir) ? ts.mapDefined(getAccessibleSortedChildDirectories(parentDir), function (child) {
6484
+ var hasChanges = ts.enumerateInsertsAndDeletes(fileSystemEntryExists(parentDir, 1 /* Directory */) ? ts.mapDefined(getAccessibleSortedChildDirectories(parentDir), function (child) {
6485
6485
  var childFullName = ts.getNormalizedAbsolutePath(child, parentDir);
6486
6486
  // Filter our the symbolic link directories since those arent included in recursive watch
6487
6487
  // which is same behaviour when recursive: true is passed to fs.watch
@@ -6527,10 +6527,10 @@ var ts;
6527
6527
  return function (_fileName, eventKind) { return callback(eventKind === FileWatcherEventKind.Changed ? "change" : "rename", ""); };
6528
6528
  }
6529
6529
  ts.createFileWatcherCallback = createFileWatcherCallback;
6530
- function createFsWatchCallbackForFileWatcherCallback(fileName, callback, fileExists) {
6530
+ function createFsWatchCallbackForFileWatcherCallback(fileName, callback, fileSystemEntryExists) {
6531
6531
  return function (eventName) {
6532
6532
  if (eventName === "rename") {
6533
- callback(fileName, fileExists(fileName) ? FileWatcherEventKind.Created : FileWatcherEventKind.Deleted);
6533
+ callback(fileName, fileSystemEntryExists(fileName, 0 /* File */) ? FileWatcherEventKind.Created : FileWatcherEventKind.Deleted);
6534
6534
  }
6535
6535
  else {
6536
6536
  // Change
@@ -6558,11 +6558,12 @@ var ts;
6558
6558
  }
6559
6559
  /*@internal*/
6560
6560
  function createSystemWatchFunctions(_a) {
6561
- var pollingWatchFile = _a.pollingWatchFile, getModifiedTime = _a.getModifiedTime, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout, fsWatch = _a.fsWatch, fileExists = _a.fileExists, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, fsSupportsRecursiveFsWatch = _a.fsSupportsRecursiveFsWatch, directoryExists = _a.directoryExists, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, realpath = _a.realpath, tscWatchFile = _a.tscWatchFile, useNonPollingWatchers = _a.useNonPollingWatchers, tscWatchDirectory = _a.tscWatchDirectory, defaultWatchFileKind = _a.defaultWatchFileKind;
6561
+ 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;
6562
6562
  var dynamicPollingWatchFile;
6563
6563
  var fixedChunkSizePollingWatchFile;
6564
6564
  var nonPollingWatchFile;
6565
6565
  var hostRecursiveDirectoryWatcher;
6566
+ var hitSystemWatcherLimit = false;
6566
6567
  return {
6567
6568
  watchFile: watchFile,
6568
6569
  watchDirectory: watchDirectory
@@ -6580,7 +6581,7 @@ var ts;
6580
6581
  case ts.WatchFileKind.FixedChunkSizePolling:
6581
6582
  return ensureFixedChunkSizePollingWatchFile()(fileName, callback, /* pollingInterval */ undefined, /*options*/ undefined);
6582
6583
  case ts.WatchFileKind.UseFsEvents:
6583
- return fsWatch(fileName, 0 /* File */, createFsWatchCallbackForFileWatcherCallback(fileName, callback, fileExists),
6584
+ return fsWatch(fileName, 0 /* File */, createFsWatchCallbackForFileWatcherCallback(fileName, callback, fileSystemEntryExists),
6584
6585
  /*recursive*/ false, pollingInterval, ts.getFallbackOptions(options));
6585
6586
  case ts.WatchFileKind.UseFsEventsOnParentDirectory:
6586
6587
  if (!nonPollingWatchFile) {
@@ -6641,7 +6642,7 @@ var ts;
6641
6642
  hostRecursiveDirectoryWatcher = createDirectoryWatcherSupportingRecursive({
6642
6643
  useCaseSensitiveFileNames: useCaseSensitiveFileNames,
6643
6644
  getCurrentDirectory: getCurrentDirectory,
6644
- directoryExists: directoryExists,
6645
+ fileSystemEntryExists: fileSystemEntryExists,
6645
6646
  getAccessibleSortedChildDirectories: getAccessibleSortedChildDirectories,
6646
6647
  watchDirectory: nonRecursiveWatchDirectory,
6647
6648
  realpath: realpath,
@@ -6692,6 +6693,114 @@ var ts;
6692
6693
  };
6693
6694
  }
6694
6695
  }
6696
+ function fsWatch(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
6697
+ var lastDirectoryPartWithDirectorySeparator;
6698
+ var lastDirectoryPart;
6699
+ if (inodeWatching) {
6700
+ lastDirectoryPartWithDirectorySeparator = fileOrDirectory.substring(fileOrDirectory.lastIndexOf(ts.directorySeparator));
6701
+ lastDirectoryPart = lastDirectoryPartWithDirectorySeparator.slice(ts.directorySeparator.length);
6702
+ }
6703
+ /** Watcher for the file system entry depending on whether it is missing or present */
6704
+ var watcher = !fileSystemEntryExists(fileOrDirectory, entryKind) ?
6705
+ watchMissingFileSystemEntry() :
6706
+ watchPresentFileSystemEntry();
6707
+ return {
6708
+ close: function () {
6709
+ // Close the watcher (either existing file system entry watcher or missing file system entry watcher)
6710
+ watcher.close();
6711
+ watcher = undefined;
6712
+ }
6713
+ };
6714
+ function updateWatcher(createWatcher) {
6715
+ // If watcher is not closed, update it
6716
+ if (watcher) {
6717
+ sysLog("sysLog:: " + fileOrDirectory + ":: Changing watcher to " + (createWatcher === watchPresentFileSystemEntry ? "Present" : "Missing") + "FileSystemEntryWatcher");
6718
+ watcher.close();
6719
+ watcher = createWatcher();
6720
+ }
6721
+ }
6722
+ /**
6723
+ * Watch the file or directory that is currently present
6724
+ * and when the watched file or directory is deleted, switch to missing file system entry watcher
6725
+ */
6726
+ function watchPresentFileSystemEntry() {
6727
+ if (hitSystemWatcherLimit) {
6728
+ sysLog("sysLog:: " + fileOrDirectory + ":: Defaulting to watchFile");
6729
+ return watchPresentFileSystemEntryWithFsWatchFile();
6730
+ }
6731
+ try {
6732
+ var presentWatcher = fsWatchWorker(fileOrDirectory, recursive, inodeWatching ?
6733
+ callbackChangingToMissingFileSystemEntry :
6734
+ function (eventName, relativeFileName) {
6735
+ sysLog("sysLog:: watchPresentFileSystemEntry:: " + fileOrDirectory + " " + entryKind + " " + eventName + ":: " + relativeFileName);
6736
+ callback(eventName, relativeFileName);
6737
+ });
6738
+ // Watch the missing file or directory or error
6739
+ presentWatcher.on("error", function () {
6740
+ sysLog("sysLog:: watchPresentFileSystemEntry:: on Error " + fileOrDirectory + " " + entryKind + " rename, \"\"");
6741
+ callback("rename", "");
6742
+ updateWatcher(watchMissingFileSystemEntry);
6743
+ });
6744
+ return presentWatcher;
6745
+ }
6746
+ catch (e) {
6747
+ // Catch the exception and use polling instead
6748
+ // Eg. on linux the number of watches are limited and one could easily exhaust watches and the exception ENOSPC is thrown when creating watcher at that point
6749
+ // so instead of throwing error, use fs.watchFile
6750
+ hitSystemWatcherLimit || (hitSystemWatcherLimit = e.code === "ENOSPC");
6751
+ sysLog("sysLog:: " + fileOrDirectory + ":: Changing to watchFile");
6752
+ return watchPresentFileSystemEntryWithFsWatchFile();
6753
+ }
6754
+ }
6755
+ function callbackChangingToMissingFileSystemEntry(event, relativeName) {
6756
+ sysLog("sysLog:: callbackChangingToMissingFileSystemEntry:: " + fileOrDirectory + " " + entryKind + " " + event + ":: " + relativeName + " " + inodeWatching + " " + lastDirectoryPart + " " + lastDirectoryPartWithDirectorySeparator);
6757
+ if (relativeName && ts.endsWith(relativeName, "~")) {
6758
+ relativeName = relativeName.slice(0, relativeName.length - 1);
6759
+ sysLog("sysLog:: callbackChangingToMissingFileSystemEntry:: changed the relative name to " + relativeName);
6760
+ }
6761
+ callback(event, relativeName);
6762
+ // because relativeName is not guaranteed to be correct we need to check on each rename with few combinations
6763
+ // Eg on ubuntu while watching app/node_modules the relativeName is "node_modules" which is neither relative nor full path
6764
+ if (event === "rename" &&
6765
+ (!relativeName ||
6766
+ relativeName === lastDirectoryPart ||
6767
+ ts.endsWith(relativeName, lastDirectoryPartWithDirectorySeparator))) {
6768
+ if (inodeWatching) {
6769
+ updateWatcher(!fileSystemEntryExists(fileOrDirectory, entryKind) ? watchMissingFileSystemEntry : watchPresentFileSystemEntry);
6770
+ }
6771
+ else if (!fileSystemEntryExists(fileOrDirectory, entryKind)) {
6772
+ updateWatcher(watchMissingFileSystemEntry);
6773
+ }
6774
+ }
6775
+ }
6776
+ /**
6777
+ * Watch the file or directory using fs.watchFile since fs.watch threw exception
6778
+ * Eg. on linux the number of watches are limited and one could easily exhaust watches and the exception ENOSPC is thrown when creating watcher at that point
6779
+ */
6780
+ function watchPresentFileSystemEntryWithFsWatchFile() {
6781
+ return watchFile(fileOrDirectory, createFileWatcherCallback(function (eventName, relativeFileName) {
6782
+ sysLog("sysLog:: watchPresentFileSystemEntryWithFsWatchFile:: " + fileOrDirectory + " " + entryKind + " " + eventName + ":: " + relativeFileName);
6783
+ callback(eventName, relativeFileName);
6784
+ }), fallbackPollingInterval, fallbackOptions);
6785
+ }
6786
+ /**
6787
+ * Watch the file or directory that is missing
6788
+ * and switch to existing file or directory when the missing filesystem entry is created
6789
+ */
6790
+ function watchMissingFileSystemEntry() {
6791
+ return watchFile(fileOrDirectory, function (_fileName, eventKind) {
6792
+ sysLog("sysLog:: watchMissingFileSystemEntry:: " + fileOrDirectory + " " + entryKind + " " + _fileName + ":: " + eventKind);
6793
+ if (eventKind === FileWatcherEventKind.Created && fileSystemEntryExists(fileOrDirectory, entryKind)) {
6794
+ sysLog("sysLog:: watchMissingFileSystemEntry:: Callback :: rename, \"\" and will update the watcher");
6795
+ callback("rename", "");
6796
+ // Call the callback for current file or directory
6797
+ // For now it could be callback for the inner directory creation,
6798
+ // but just return current directory, better than current no-op
6799
+ updateWatcher(watchPresentFileSystemEntry);
6800
+ }
6801
+ }, fallbackPollingInterval, fallbackOptions);
6802
+ }
6803
+ }
6695
6804
  }
6696
6805
  ts.createSystemWatchFunctions = createSystemWatchFunctions;
6697
6806
  /**
@@ -6744,7 +6853,6 @@ var ts;
6744
6853
  }
6745
6854
  var activeSession;
6746
6855
  var profilePath = "./profile.cpuprofile";
6747
- var hitSystemWatcherLimit = false;
6748
6856
  var Buffer = require("buffer").Buffer;
6749
6857
  var nodeVersion = getNodeMajorVersion();
6750
6858
  var isNode4OrLater = nodeVersion >= 4;
@@ -6759,20 +6867,21 @@ var ts;
6759
6867
  getModifiedTime: getModifiedTime,
6760
6868
  setTimeout: setTimeout,
6761
6869
  clearTimeout: clearTimeout,
6762
- fsWatch: fsWatch,
6870
+ fsWatchWorker: fsWatchWorker,
6763
6871
  useCaseSensitiveFileNames: useCaseSensitiveFileNames,
6764
6872
  getCurrentDirectory: getCurrentDirectory,
6765
- fileExists: fileExists,
6873
+ fileSystemEntryExists: fileSystemEntryExists,
6766
6874
  // Node 4.0 `fs.watch` function supports the "recursive" option on both OSX and Windows
6767
6875
  // (ref: https://github.com/nodejs/node/pull/2649 and https://github.com/Microsoft/TypeScript/issues/4643)
6768
6876
  fsSupportsRecursiveFsWatch: fsSupportsRecursiveFsWatch,
6769
- directoryExists: directoryExists,
6770
6877
  getAccessibleSortedChildDirectories: function (path) { return getAccessibleFileSystemEntries(path).directories; },
6771
6878
  realpath: realpath,
6772
6879
  tscWatchFile: process.env.TSC_WATCHFILE,
6773
6880
  useNonPollingWatchers: process.env.TSC_NONPOLLING_WATCHER,
6774
6881
  tscWatchDirectory: process.env.TSC_WATCHDIRECTORY,
6775
6882
  defaultWatchFileKind: function () { var _a, _b; return (_b = (_a = sys).defaultWatchFileKind) === null || _b === void 0 ? void 0 : _b.call(_a); },
6883
+ inodeWatching: isLinuxOrMacOs,
6884
+ sysLog: sysLog,
6776
6885
  }), watchFile = _c.watchFile, watchDirectory = _c.watchDirectory;
6777
6886
  var nodeSystem = {
6778
6887
  args: process.argv.slice(2),
@@ -7025,107 +7134,11 @@ var ts;
7025
7134
  callback(fileName, eventKind);
7026
7135
  }
7027
7136
  }
7028
- function fsWatch(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
7029
- var options;
7030
- var lastDirectoryPartWithDirectorySeparator;
7031
- var lastDirectoryPart;
7032
- if (isLinuxOrMacOs) {
7033
- lastDirectoryPartWithDirectorySeparator = fileOrDirectory.substr(fileOrDirectory.lastIndexOf(ts.directorySeparator));
7034
- lastDirectoryPart = lastDirectoryPartWithDirectorySeparator.slice(ts.directorySeparator.length);
7035
- }
7036
- /** Watcher for the file system entry depending on whether it is missing or present */
7037
- var watcher = !fileSystemEntryExists(fileOrDirectory, entryKind) ?
7038
- watchMissingFileSystemEntry() :
7039
- watchPresentFileSystemEntry();
7040
- return {
7041
- close: function () {
7042
- // Close the watcher (either existing file system entry watcher or missing file system entry watcher)
7043
- watcher.close();
7044
- watcher = undefined;
7045
- }
7046
- };
7047
- /**
7048
- * Invoke the callback with rename and update the watcher if not closed
7049
- * @param createWatcher
7050
- */
7051
- function invokeCallbackAndUpdateWatcher(createWatcher) {
7052
- sysLog("sysLog:: " + fileOrDirectory + ":: Changing watcher to " + (createWatcher === watchPresentFileSystemEntry ? "Present" : "Missing") + "FileSystemEntryWatcher");
7053
- // Call the callback for current directory
7054
- callback("rename", "");
7055
- // If watcher is not closed, update it
7056
- if (watcher) {
7057
- watcher.close();
7058
- watcher = createWatcher();
7059
- }
7060
- }
7061
- /**
7062
- * Watch the file or directory that is currently present
7063
- * and when the watched file or directory is deleted, switch to missing file system entry watcher
7064
- */
7065
- function watchPresentFileSystemEntry() {
7066
- // Node 4.0 `fs.watch` function supports the "recursive" option on both OSX and Windows
7067
- // (ref: https://github.com/nodejs/node/pull/2649 and https://github.com/Microsoft/TypeScript/issues/4643)
7068
- if (options === undefined) {
7069
- if (fsSupportsRecursiveFsWatch) {
7070
- options = { persistent: true, recursive: !!recursive };
7071
- }
7072
- else {
7073
- options = { persistent: true };
7074
- }
7075
- }
7076
- if (hitSystemWatcherLimit) {
7077
- sysLog("sysLog:: " + fileOrDirectory + ":: Defaulting to fsWatchFile");
7078
- return watchPresentFileSystemEntryWithFsWatchFile();
7079
- }
7080
- try {
7081
- var presentWatcher = _fs.watch(fileOrDirectory, options, isLinuxOrMacOs ?
7082
- callbackChangingToMissingFileSystemEntry :
7083
- callback);
7084
- // Watch the missing file or directory or error
7085
- presentWatcher.on("error", function () { return invokeCallbackAndUpdateWatcher(watchMissingFileSystemEntry); });
7086
- return presentWatcher;
7087
- }
7088
- catch (e) {
7089
- // Catch the exception and use polling instead
7090
- // Eg. on linux the number of watches are limited and one could easily exhaust watches and the exception ENOSPC is thrown when creating watcher at that point
7091
- // so instead of throwing error, use fs.watchFile
7092
- hitSystemWatcherLimit || (hitSystemWatcherLimit = e.code === "ENOSPC");
7093
- sysLog("sysLog:: " + fileOrDirectory + ":: Changing to fsWatchFile");
7094
- return watchPresentFileSystemEntryWithFsWatchFile();
7095
- }
7096
- }
7097
- function callbackChangingToMissingFileSystemEntry(event, relativeName) {
7098
- // because relativeName is not guaranteed to be correct we need to check on each rename with few combinations
7099
- // Eg on ubuntu while watching app/node_modules the relativeName is "node_modules" which is neither relative nor full path
7100
- return event === "rename" &&
7101
- (!relativeName ||
7102
- relativeName === lastDirectoryPart ||
7103
- (relativeName.lastIndexOf(lastDirectoryPartWithDirectorySeparator) !== -1 && relativeName.lastIndexOf(lastDirectoryPartWithDirectorySeparator) === relativeName.length - lastDirectoryPartWithDirectorySeparator.length)) &&
7104
- !fileSystemEntryExists(fileOrDirectory, entryKind) ?
7105
- invokeCallbackAndUpdateWatcher(watchMissingFileSystemEntry) :
7106
- callback(event, relativeName);
7107
- }
7108
- /**
7109
- * Watch the file or directory using fs.watchFile since fs.watch threw exception
7110
- * Eg. on linux the number of watches are limited and one could easily exhaust watches and the exception ENOSPC is thrown when creating watcher at that point
7111
- */
7112
- function watchPresentFileSystemEntryWithFsWatchFile() {
7113
- return watchFile(fileOrDirectory, createFileWatcherCallback(callback), fallbackPollingInterval, fallbackOptions);
7114
- }
7115
- /**
7116
- * Watch the file or directory that is missing
7117
- * and switch to existing file or directory when the missing filesystem entry is created
7118
- */
7119
- function watchMissingFileSystemEntry() {
7120
- return watchFile(fileOrDirectory, function (_fileName, eventKind) {
7121
- if (eventKind === FileWatcherEventKind.Created && fileSystemEntryExists(fileOrDirectory, entryKind)) {
7122
- // Call the callback for current file or directory
7123
- // For now it could be callback for the inner directory creation,
7124
- // but just return current directory, better than current no-op
7125
- invokeCallbackAndUpdateWatcher(watchPresentFileSystemEntry);
7126
- }
7127
- }, fallbackPollingInterval, fallbackOptions);
7128
- }
7137
+ function fsWatchWorker(fileOrDirectory, recursive, callback) {
7138
+ // Node 4.0 `fs.watch` function supports the "recursive" option on both OSX and Windows
7139
+ // (ref: https://github.com/nodejs/node/pull/2649 and https://github.com/Microsoft/TypeScript/issues/4643)
7140
+ return _fs.watch(fileOrDirectory, fsSupportsRecursiveFsWatch ?
7141
+ { persistent: true, recursive: !!recursive } : { persistent: true }, callback);
7129
7142
  }
7130
7143
  function readFileWorker(fileName, _encoding) {
7131
7144
  var buffer;
@@ -42032,7 +42045,7 @@ var ts;
42032
42045
  }
42033
42046
  if (ts.isImplicitGlob(spec.substring(spec.lastIndexOf(ts.directorySeparator) + 1))) {
42034
42047
  return {
42035
- key: useCaseSensitiveFileNames ? spec : ts.toFileNameLowerCase(spec),
42048
+ key: ts.removeTrailingDirectorySeparator(useCaseSensitiveFileNames ? spec : ts.toFileNameLowerCase(spec)),
42036
42049
  flags: 1 /* Recursive */
42037
42050
  };
42038
42051
  }
@@ -78422,11 +78435,6 @@ var ts;
78422
78435
  ts.every(source.types, function (subType) { return allTypesAssignableToKind(subType, kind, strict); }) :
78423
78436
  isTypeAssignableToKind(source, kind, strict);
78424
78437
  }
78425
- function anyTypesAssignableToKind(source, kind, strict) {
78426
- return source.flags & 1048576 /* Union */ ?
78427
- ts.some(source.types, function (subType) { return allTypesAssignableToKind(subType, kind, strict); }) :
78428
- isTypeAssignableToKind(source, kind, strict);
78429
- }
78430
78438
  function isConstEnumObjectType(type) {
78431
78439
  return !!(ts.getObjectFlags(type) & 16 /* Anonymous */) && !!type.symbol && isConstEnumSymbol(type.symbol);
78432
78440
  }
@@ -82807,9 +82815,7 @@ var ts;
82807
82815
  }
82808
82816
  // unknownType is returned i.e. if node.expression is identifier whose name cannot be resolved
82809
82817
  // in this case error about missing name is already reported - do not report extra one
82810
- // TypeFlags.Nullable must be explicitly checked for in rightType for this check for non-strict modes, where
82811
- // `getNonNullableTypeIfNeeded` is a noop (and the nullable types as any-ish).
82812
- if (!isTypeAny(rightType) && !(rightType.flags & 98304 /* Nullable */) && anyTypesAssignableToKind(getBaseConstraintOrType(rightType), (131068 /* Primitive */ | 131072 /* Never */) & ~98304 /* Nullable */)) {
82818
+ if (rightType === neverType || !isTypeAssignableToKind(rightType, 67108864 /* NonPrimitive */ | 58982400 /* InstantiableNonPrimitive */)) {
82813
82819
  error(node.expression, ts.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0, typeToString(rightType));
82814
82820
  }
82815
82821
  checkSourceElement(node.statement);
@@ -123643,6 +123649,7 @@ var ts;
123643
123649
  }
123644
123650
  function reloadFileNamesFromConfigFile() {
123645
123651
  writeLog("Reloading new file names and options");
123652
+ reloadLevel = ts.ConfigFileProgramReloadLevel.None;
123646
123653
  rootFileNames = ts.getFileNamesFromConfigSpecs(compilerOptions.configFile.configFileSpecs, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), currentDirectory), compilerOptions, parseConfigFileHost, extraFileExtensions);
123647
123654
  if (ts.updateErrorForNoInputFiles(rootFileNames, ts.getNormalizedAbsolutePath(configFileName, currentDirectory), compilerOptions.configFile.configFileSpecs, configFileParsingDiagnostics, canConfigFileJsonReportNoInputFiles)) {
123648
123655
  hasChangedConfigFileParsingErrors = true;
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": "4.8.0-pr-49245-7",
5
+ "version": "4.8.0-pr-48997-21",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [