typescript 4.9.0-dev.20220904 → 4.9.0-dev.20220908

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/typescript.js CHANGED
@@ -99,7 +99,7 @@ var ts;
99
99
  // The following is baselined as a literal template type without intervention
100
100
  /** The version of the TypeScript compiler release */
101
101
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
102
- ts.version = "".concat(ts.versionMajorMinor, ".0-dev.20220904");
102
+ ts.version = "".concat(ts.versionMajorMinor, ".0-dev.20220908");
103
103
  /* @internal */
104
104
  var Comparison;
105
105
  (function (Comparison) {
@@ -6137,7 +6137,6 @@ var ts;
6137
6137
  var pollingChunkSize = createPollingIntervalBasedLevels(defaultChunkLevels);
6138
6138
  /* @internal */
6139
6139
  ts.unchangedPollThresholds = createPollingIntervalBasedLevels(defaultChunkLevels);
6140
- /* @internal */
6141
6140
  function setCustomPollingValues(system) {
6142
6141
  if (!system.getEnvironmentVariable) {
6143
6142
  return;
@@ -6180,7 +6179,6 @@ var ts;
6180
6179
  createPollingIntervalBasedLevels(customLevels ? __assign(__assign({}, defaultLevels), customLevels) : defaultLevels);
6181
6180
  }
6182
6181
  }
6183
- ts.setCustomPollingValues = setCustomPollingValues;
6184
6182
  function pollWatchedFileQueue(host, queue, pollIndex, chunkSize, callbackOnWatchFileStat) {
6185
6183
  var definedValueCopyToIndex = pollIndex;
6186
6184
  // Max visit would be all elements of the queue
@@ -6226,7 +6224,6 @@ var ts;
6226
6224
  }
6227
6225
  }
6228
6226
  }
6229
- /* @internal */
6230
6227
  function createDynamicPriorityPollingWatchFile(host) {
6231
6228
  var watchedFiles = [];
6232
6229
  var changedFilesInLastPoll = [];
@@ -6335,7 +6332,6 @@ var ts;
6335
6332
  pollingIntervalQueue(pollingInterval).pollScheduled = host.setTimeout(pollingInterval === PollingInterval.Low ? pollLowPollingIntervalQueue : pollPollingIntervalQueue, pollingInterval, pollingIntervalQueue(pollingInterval));
6336
6333
  }
6337
6334
  }
6338
- ts.createDynamicPriorityPollingWatchFile = createDynamicPriorityPollingWatchFile;
6339
6335
  function createUseFsEventsOnParentDirectoryWatchFile(fsWatch, useCaseSensitiveFileNames) {
6340
6336
  // One file can have multiple watchers
6341
6337
  var fileWatcherCallbacks = ts.createMultiMap();
@@ -6414,42 +6410,38 @@ var ts;
6414
6410
  pollScheduled = host.setTimeout(pollQueue, PollingInterval.High);
6415
6411
  }
6416
6412
  }
6417
- /* @internal */
6418
- function createSingleFileWatcherPerName(watchFile, useCaseSensitiveFileNames) {
6419
- var cache = new ts.Map();
6420
- var callbacksCache = ts.createMultiMap();
6413
+ function createSingleWatcherPerName(cache, useCaseSensitiveFileNames, name, callback, createWatcher) {
6421
6414
  var toCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames);
6422
- return function (fileName, callback, pollingInterval, options) {
6423
- var path = toCanonicalFileName(fileName);
6424
- var existing = cache.get(path);
6425
- if (existing) {
6426
- existing.refCount++;
6427
- }
6428
- else {
6429
- cache.set(path, {
6430
- watcher: watchFile(fileName, function (fileName, eventKind, modifiedTime) { return ts.forEach(callbacksCache.get(path), function (cb) { return cb(fileName, eventKind, modifiedTime); }); }, pollingInterval, options),
6431
- refCount: 1
6432
- });
6415
+ var path = toCanonicalFileName(name);
6416
+ var existing = cache.get(path);
6417
+ if (existing) {
6418
+ existing.callbacks.push(callback);
6419
+ }
6420
+ else {
6421
+ cache.set(path, {
6422
+ watcher: createWatcher((
6423
+ // Cant infer types correctly so lets satisfy checker
6424
+ 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); }); })),
6425
+ callbacks: [callback]
6426
+ });
6427
+ }
6428
+ return {
6429
+ close: function () {
6430
+ var watcher = cache.get(path);
6431
+ // Watcher is not expected to be undefined, but if it is normally its because
6432
+ // exception was thrown somewhere else and watch state is not what it should be
6433
+ if (!watcher)
6434
+ return;
6435
+ if (!ts.orderedRemoveItem(watcher.callbacks, callback) || watcher.callbacks.length)
6436
+ return;
6437
+ cache.delete(path);
6438
+ ts.closeFileWatcherOf(watcher);
6433
6439
  }
6434
- callbacksCache.add(path, callback);
6435
- return {
6436
- close: function () {
6437
- var watcher = ts.Debug.checkDefined(cache.get(path));
6438
- callbacksCache.remove(path, callback);
6439
- watcher.refCount--;
6440
- if (watcher.refCount)
6441
- return;
6442
- cache.delete(path);
6443
- ts.closeFileWatcherOf(watcher);
6444
- }
6445
- };
6446
6440
  };
6447
6441
  }
6448
- ts.createSingleFileWatcherPerName = createSingleFileWatcherPerName;
6449
6442
  /**
6450
6443
  * Returns true if file status changed
6451
6444
  */
6452
- /*@internal*/
6453
6445
  function onWatchedFileStat(watchedFile, modifiedTime) {
6454
6446
  var oldTime = watchedFile.mtime.getTime();
6455
6447
  var newTime = modifiedTime.getTime();
@@ -6461,7 +6453,6 @@ var ts;
6461
6453
  }
6462
6454
  return false;
6463
6455
  }
6464
- ts.onWatchedFileStat = onWatchedFileStat;
6465
6456
  /*@internal*/
6466
6457
  function getFileWatcherEventKind(oldTime, newTime) {
6467
6458
  return oldTime === 0
@@ -6489,7 +6480,6 @@ var ts;
6489
6480
  * that means if this is recursive watcher, watch the children directories as well
6490
6481
  * (eg on OS that dont support recursive watch using fs.watch use fs.watchFile)
6491
6482
  */
6492
- /*@internal*/
6493
6483
  function createDirectoryWatcherSupportingRecursive(_a) {
6494
6484
  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;
6495
6485
  var cache = new ts.Map();
@@ -6698,18 +6688,15 @@ var ts;
6698
6688
  return ts.stringContains(toCanonicalFilePath(path), searchPath);
6699
6689
  }
6700
6690
  }
6701
- ts.createDirectoryWatcherSupportingRecursive = createDirectoryWatcherSupportingRecursive;
6702
6691
  /*@internal*/
6703
6692
  var FileSystemEntryKind;
6704
6693
  (function (FileSystemEntryKind) {
6705
6694
  FileSystemEntryKind[FileSystemEntryKind["File"] = 0] = "File";
6706
6695
  FileSystemEntryKind[FileSystemEntryKind["Directory"] = 1] = "Directory";
6707
6696
  })(FileSystemEntryKind = ts.FileSystemEntryKind || (ts.FileSystemEntryKind = {}));
6708
- /*@internal*/
6709
6697
  function createFileWatcherCallback(callback) {
6710
6698
  return function (_fileName, eventKind, modifiedTime) { return callback(eventKind === FileWatcherEventKind.Changed ? "change" : "rename", "", modifiedTime); };
6711
6699
  }
6712
- ts.createFileWatcherCallback = createFileWatcherCallback;
6713
6700
  function createFsWatchCallbackForFileWatcherCallback(fileName, callback, getModifiedTime) {
6714
6701
  return function (eventName, _relativeFileName, modifiedTime) {
6715
6702
  if (eventName === "rename") {
@@ -6743,7 +6730,10 @@ var ts;
6743
6730
  }
6744
6731
  /*@internal*/
6745
6732
  function createSystemWatchFunctions(_a) {
6746
- 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;
6733
+ 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;
6734
+ var pollingWatches = new ts.Map();
6735
+ var fsWatches = new ts.Map();
6736
+ var fsWatchesRecursive = new ts.Map();
6747
6737
  var dynamicPollingWatchFile;
6748
6738
  var fixedChunkSizePollingWatchFile;
6749
6739
  var nonPollingWatchFile;
@@ -6807,7 +6797,7 @@ var ts;
6807
6797
  // Use notifications from FS to watch with falling back to fs.watchFile
6808
6798
  generateWatchFileOptions(ts.WatchFileKind.UseFsEventsOnParentDirectory, ts.PollingWatchKind.PriorityInterval, options) :
6809
6799
  // Default to do not use fixed polling interval
6810
- { watchFile: (defaultWatchFileKind === null || defaultWatchFileKind === void 0 ? void 0 : defaultWatchFileKind()) || ts.WatchFileKind.FixedPollingInterval };
6800
+ { watchFile: (defaultWatchFileKind === null || defaultWatchFileKind === void 0 ? void 0 : defaultWatchFileKind()) || ts.WatchFileKind.UseFsEvents };
6811
6801
  }
6812
6802
  }
6813
6803
  function generateWatchFileOptions(watchFile, fallbackPolling, options) {
@@ -6878,7 +6868,13 @@ var ts;
6878
6868
  };
6879
6869
  }
6880
6870
  }
6871
+ function pollingWatchFile(fileName, callback, pollingInterval, options) {
6872
+ return createSingleWatcherPerName(pollingWatches, useCaseSensitiveFileNames, fileName, callback, function (cb) { return pollingWatchFileWorker(fileName, cb, pollingInterval, options); });
6873
+ }
6881
6874
  function fsWatch(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
6875
+ return createSingleWatcherPerName(recursive ? fsWatchesRecursive : fsWatches, useCaseSensitiveFileNames, fileOrDirectory, callback, function (cb) { return fsWatchHandlingExistenceOnHost(fileOrDirectory, entryKind, cb, recursive, fallbackPollingInterval, fallbackOptions); });
6876
+ }
6877
+ function fsWatchHandlingExistenceOnHost(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
6882
6878
  var lastDirectoryPartWithDirectorySeparator;
6883
6879
  var lastDirectoryPart;
6884
6880
  if (inodeWatching) {
@@ -7057,7 +7053,7 @@ var ts;
7057
7053
  var fsSupportsRecursiveFsWatch = isNode4OrLater && (process.platform === "win32" || process.platform === "darwin");
7058
7054
  var getCurrentDirectory = ts.memoize(function () { return process.cwd(); });
7059
7055
  var _b = createSystemWatchFunctions({
7060
- pollingWatchFile: createSingleFileWatcherPerName(fsWatchFileWorker, useCaseSensitiveFileNames),
7056
+ pollingWatchFileWorker: fsWatchFileWorker,
7061
7057
  getModifiedTime: getModifiedTime,
7062
7058
  setTimeout: setTimeout,
7063
7059
  clearTimeout: clearTimeout,
@@ -39893,6 +39889,7 @@ var ts;
39893
39889
  shortName: "h",
39894
39890
  type: "boolean",
39895
39891
  showInSimplifiedHelpView: true,
39892
+ isCommandLineOnly: true,
39896
39893
  category: ts.Diagnostics.Command_line_Options,
39897
39894
  description: ts.Diagnostics.Print_this_message,
39898
39895
  defaultValueDescription: false,
@@ -39901,6 +39898,8 @@ var ts;
39901
39898
  name: "help",
39902
39899
  shortName: "?",
39903
39900
  type: "boolean",
39901
+ isCommandLineOnly: true,
39902
+ category: ts.Diagnostics.Command_line_Options,
39904
39903
  defaultValueDescription: false,
39905
39904
  },
39906
39905
  {
@@ -66879,8 +66878,8 @@ var ts;
66879
66878
  var skipTrue = !isTypeAssignableTo(getPermissiveInstantiation(c.checkType), getPermissiveInstantiation(c.extendsType));
66880
66879
  var skipFalse = !skipTrue && isTypeAssignableTo(getRestrictiveInstantiation(c.checkType), getRestrictiveInstantiation(c.extendsType));
66881
66880
  // TODO: Find a nice way to include potential conditional type breakdowns in error output, if they seem good (they usually don't)
66882
- if (result = skipTrue ? -1 /* Ternary.True */ : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false)) {
66883
- result &= skipFalse ? -1 /* Ternary.True */ : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false);
66881
+ if (result = skipTrue ? -1 /* Ternary.True */ : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) {
66882
+ result &= skipFalse ? -1 /* Ternary.True */ : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState);
66884
66883
  if (result) {
66885
66884
  return result;
66886
66885
  }
@@ -90596,7 +90595,7 @@ var ts;
90596
90595
  return grammarErrorOnNode(node, ts.Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments);
90597
90596
  }
90598
90597
  var nodeArguments = node.arguments;
90599
- if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) {
90598
+ if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) {
90600
90599
  // We are allowed trailing comma after proposal-import-assertions.
90601
90600
  checkGrammarForDisallowedTrailingComma(nodeArguments);
90602
90601
  if (nodeArguments.length > 1) {
@@ -99,7 +99,7 @@ var ts;
99
99
  // The following is baselined as a literal template type without intervention
100
100
  /** The version of the TypeScript compiler release */
101
101
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
102
- ts.version = "".concat(ts.versionMajorMinor, ".0-dev.20220904");
102
+ ts.version = "".concat(ts.versionMajorMinor, ".0-dev.20220908");
103
103
  /* @internal */
104
104
  var Comparison;
105
105
  (function (Comparison) {
@@ -6137,7 +6137,6 @@ var ts;
6137
6137
  var pollingChunkSize = createPollingIntervalBasedLevels(defaultChunkLevels);
6138
6138
  /* @internal */
6139
6139
  ts.unchangedPollThresholds = createPollingIntervalBasedLevels(defaultChunkLevels);
6140
- /* @internal */
6141
6140
  function setCustomPollingValues(system) {
6142
6141
  if (!system.getEnvironmentVariable) {
6143
6142
  return;
@@ -6180,7 +6179,6 @@ var ts;
6180
6179
  createPollingIntervalBasedLevels(customLevels ? __assign(__assign({}, defaultLevels), customLevels) : defaultLevels);
6181
6180
  }
6182
6181
  }
6183
- ts.setCustomPollingValues = setCustomPollingValues;
6184
6182
  function pollWatchedFileQueue(host, queue, pollIndex, chunkSize, callbackOnWatchFileStat) {
6185
6183
  var definedValueCopyToIndex = pollIndex;
6186
6184
  // Max visit would be all elements of the queue
@@ -6226,7 +6224,6 @@ var ts;
6226
6224
  }
6227
6225
  }
6228
6226
  }
6229
- /* @internal */
6230
6227
  function createDynamicPriorityPollingWatchFile(host) {
6231
6228
  var watchedFiles = [];
6232
6229
  var changedFilesInLastPoll = [];
@@ -6335,7 +6332,6 @@ var ts;
6335
6332
  pollingIntervalQueue(pollingInterval).pollScheduled = host.setTimeout(pollingInterval === PollingInterval.Low ? pollLowPollingIntervalQueue : pollPollingIntervalQueue, pollingInterval, pollingIntervalQueue(pollingInterval));
6336
6333
  }
6337
6334
  }
6338
- ts.createDynamicPriorityPollingWatchFile = createDynamicPriorityPollingWatchFile;
6339
6335
  function createUseFsEventsOnParentDirectoryWatchFile(fsWatch, useCaseSensitiveFileNames) {
6340
6336
  // One file can have multiple watchers
6341
6337
  var fileWatcherCallbacks = ts.createMultiMap();
@@ -6414,42 +6410,38 @@ var ts;
6414
6410
  pollScheduled = host.setTimeout(pollQueue, PollingInterval.High);
6415
6411
  }
6416
6412
  }
6417
- /* @internal */
6418
- function createSingleFileWatcherPerName(watchFile, useCaseSensitiveFileNames) {
6419
- var cache = new ts.Map();
6420
- var callbacksCache = ts.createMultiMap();
6413
+ function createSingleWatcherPerName(cache, useCaseSensitiveFileNames, name, callback, createWatcher) {
6421
6414
  var toCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames);
6422
- return function (fileName, callback, pollingInterval, options) {
6423
- var path = toCanonicalFileName(fileName);
6424
- var existing = cache.get(path);
6425
- if (existing) {
6426
- existing.refCount++;
6427
- }
6428
- else {
6429
- cache.set(path, {
6430
- watcher: watchFile(fileName, function (fileName, eventKind, modifiedTime) { return ts.forEach(callbacksCache.get(path), function (cb) { return cb(fileName, eventKind, modifiedTime); }); }, pollingInterval, options),
6431
- refCount: 1
6432
- });
6415
+ var path = toCanonicalFileName(name);
6416
+ var existing = cache.get(path);
6417
+ if (existing) {
6418
+ existing.callbacks.push(callback);
6419
+ }
6420
+ else {
6421
+ cache.set(path, {
6422
+ watcher: createWatcher((
6423
+ // Cant infer types correctly so lets satisfy checker
6424
+ 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); }); })),
6425
+ callbacks: [callback]
6426
+ });
6427
+ }
6428
+ return {
6429
+ close: function () {
6430
+ var watcher = cache.get(path);
6431
+ // Watcher is not expected to be undefined, but if it is normally its because
6432
+ // exception was thrown somewhere else and watch state is not what it should be
6433
+ if (!watcher)
6434
+ return;
6435
+ if (!ts.orderedRemoveItem(watcher.callbacks, callback) || watcher.callbacks.length)
6436
+ return;
6437
+ cache.delete(path);
6438
+ ts.closeFileWatcherOf(watcher);
6433
6439
  }
6434
- callbacksCache.add(path, callback);
6435
- return {
6436
- close: function () {
6437
- var watcher = ts.Debug.checkDefined(cache.get(path));
6438
- callbacksCache.remove(path, callback);
6439
- watcher.refCount--;
6440
- if (watcher.refCount)
6441
- return;
6442
- cache.delete(path);
6443
- ts.closeFileWatcherOf(watcher);
6444
- }
6445
- };
6446
6440
  };
6447
6441
  }
6448
- ts.createSingleFileWatcherPerName = createSingleFileWatcherPerName;
6449
6442
  /**
6450
6443
  * Returns true if file status changed
6451
6444
  */
6452
- /*@internal*/
6453
6445
  function onWatchedFileStat(watchedFile, modifiedTime) {
6454
6446
  var oldTime = watchedFile.mtime.getTime();
6455
6447
  var newTime = modifiedTime.getTime();
@@ -6461,7 +6453,6 @@ var ts;
6461
6453
  }
6462
6454
  return false;
6463
6455
  }
6464
- ts.onWatchedFileStat = onWatchedFileStat;
6465
6456
  /*@internal*/
6466
6457
  function getFileWatcherEventKind(oldTime, newTime) {
6467
6458
  return oldTime === 0
@@ -6489,7 +6480,6 @@ var ts;
6489
6480
  * that means if this is recursive watcher, watch the children directories as well
6490
6481
  * (eg on OS that dont support recursive watch using fs.watch use fs.watchFile)
6491
6482
  */
6492
- /*@internal*/
6493
6483
  function createDirectoryWatcherSupportingRecursive(_a) {
6494
6484
  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;
6495
6485
  var cache = new ts.Map();
@@ -6698,18 +6688,15 @@ var ts;
6698
6688
  return ts.stringContains(toCanonicalFilePath(path), searchPath);
6699
6689
  }
6700
6690
  }
6701
- ts.createDirectoryWatcherSupportingRecursive = createDirectoryWatcherSupportingRecursive;
6702
6691
  /*@internal*/
6703
6692
  var FileSystemEntryKind;
6704
6693
  (function (FileSystemEntryKind) {
6705
6694
  FileSystemEntryKind[FileSystemEntryKind["File"] = 0] = "File";
6706
6695
  FileSystemEntryKind[FileSystemEntryKind["Directory"] = 1] = "Directory";
6707
6696
  })(FileSystemEntryKind = ts.FileSystemEntryKind || (ts.FileSystemEntryKind = {}));
6708
- /*@internal*/
6709
6697
  function createFileWatcherCallback(callback) {
6710
6698
  return function (_fileName, eventKind, modifiedTime) { return callback(eventKind === FileWatcherEventKind.Changed ? "change" : "rename", "", modifiedTime); };
6711
6699
  }
6712
- ts.createFileWatcherCallback = createFileWatcherCallback;
6713
6700
  function createFsWatchCallbackForFileWatcherCallback(fileName, callback, getModifiedTime) {
6714
6701
  return function (eventName, _relativeFileName, modifiedTime) {
6715
6702
  if (eventName === "rename") {
@@ -6743,7 +6730,10 @@ var ts;
6743
6730
  }
6744
6731
  /*@internal*/
6745
6732
  function createSystemWatchFunctions(_a) {
6746
- 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;
6733
+ 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;
6734
+ var pollingWatches = new ts.Map();
6735
+ var fsWatches = new ts.Map();
6736
+ var fsWatchesRecursive = new ts.Map();
6747
6737
  var dynamicPollingWatchFile;
6748
6738
  var fixedChunkSizePollingWatchFile;
6749
6739
  var nonPollingWatchFile;
@@ -6807,7 +6797,7 @@ var ts;
6807
6797
  // Use notifications from FS to watch with falling back to fs.watchFile
6808
6798
  generateWatchFileOptions(ts.WatchFileKind.UseFsEventsOnParentDirectory, ts.PollingWatchKind.PriorityInterval, options) :
6809
6799
  // Default to do not use fixed polling interval
6810
- { watchFile: (defaultWatchFileKind === null || defaultWatchFileKind === void 0 ? void 0 : defaultWatchFileKind()) || ts.WatchFileKind.FixedPollingInterval };
6800
+ { watchFile: (defaultWatchFileKind === null || defaultWatchFileKind === void 0 ? void 0 : defaultWatchFileKind()) || ts.WatchFileKind.UseFsEvents };
6811
6801
  }
6812
6802
  }
6813
6803
  function generateWatchFileOptions(watchFile, fallbackPolling, options) {
@@ -6878,7 +6868,13 @@ var ts;
6878
6868
  };
6879
6869
  }
6880
6870
  }
6871
+ function pollingWatchFile(fileName, callback, pollingInterval, options) {
6872
+ return createSingleWatcherPerName(pollingWatches, useCaseSensitiveFileNames, fileName, callback, function (cb) { return pollingWatchFileWorker(fileName, cb, pollingInterval, options); });
6873
+ }
6881
6874
  function fsWatch(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
6875
+ return createSingleWatcherPerName(recursive ? fsWatchesRecursive : fsWatches, useCaseSensitiveFileNames, fileOrDirectory, callback, function (cb) { return fsWatchHandlingExistenceOnHost(fileOrDirectory, entryKind, cb, recursive, fallbackPollingInterval, fallbackOptions); });
6876
+ }
6877
+ function fsWatchHandlingExistenceOnHost(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
6882
6878
  var lastDirectoryPartWithDirectorySeparator;
6883
6879
  var lastDirectoryPart;
6884
6880
  if (inodeWatching) {
@@ -7057,7 +7053,7 @@ var ts;
7057
7053
  var fsSupportsRecursiveFsWatch = isNode4OrLater && (process.platform === "win32" || process.platform === "darwin");
7058
7054
  var getCurrentDirectory = ts.memoize(function () { return process.cwd(); });
7059
7055
  var _b = createSystemWatchFunctions({
7060
- pollingWatchFile: createSingleFileWatcherPerName(fsWatchFileWorker, useCaseSensitiveFileNames),
7056
+ pollingWatchFileWorker: fsWatchFileWorker,
7061
7057
  getModifiedTime: getModifiedTime,
7062
7058
  setTimeout: setTimeout,
7063
7059
  clearTimeout: clearTimeout,
@@ -39893,6 +39889,7 @@ var ts;
39893
39889
  shortName: "h",
39894
39890
  type: "boolean",
39895
39891
  showInSimplifiedHelpView: true,
39892
+ isCommandLineOnly: true,
39896
39893
  category: ts.Diagnostics.Command_line_Options,
39897
39894
  description: ts.Diagnostics.Print_this_message,
39898
39895
  defaultValueDescription: false,
@@ -39901,6 +39898,8 @@ var ts;
39901
39898
  name: "help",
39902
39899
  shortName: "?",
39903
39900
  type: "boolean",
39901
+ isCommandLineOnly: true,
39902
+ category: ts.Diagnostics.Command_line_Options,
39904
39903
  defaultValueDescription: false,
39905
39904
  },
39906
39905
  {
@@ -66879,8 +66878,8 @@ var ts;
66879
66878
  var skipTrue = !isTypeAssignableTo(getPermissiveInstantiation(c.checkType), getPermissiveInstantiation(c.extendsType));
66880
66879
  var skipFalse = !skipTrue && isTypeAssignableTo(getRestrictiveInstantiation(c.checkType), getRestrictiveInstantiation(c.extendsType));
66881
66880
  // TODO: Find a nice way to include potential conditional type breakdowns in error output, if they seem good (they usually don't)
66882
- if (result = skipTrue ? -1 /* Ternary.True */ : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false)) {
66883
- result &= skipFalse ? -1 /* Ternary.True */ : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false);
66881
+ if (result = skipTrue ? -1 /* Ternary.True */ : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) {
66882
+ result &= skipFalse ? -1 /* Ternary.True */ : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState);
66884
66883
  if (result) {
66885
66884
  return result;
66886
66885
  }
@@ -90596,7 +90595,7 @@ var ts;
90596
90595
  return grammarErrorOnNode(node, ts.Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments);
90597
90596
  }
90598
90597
  var nodeArguments = node.arguments;
90599
- if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) {
90598
+ if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) {
90600
90599
  // We are allowed trailing comma after proposal-import-assertions.
90601
90600
  checkGrammarForDisallowedTrailingComma(nodeArguments);
90602
90601
  if (nodeArguments.length > 1) {