@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.
- package/lib/protocol.d.ts +1 -0
- package/lib/tsc.js +103 -89
- package/lib/tsserver.js +133 -122
- package/lib/tsserverlibrary.d.ts +2 -0
- package/lib/tsserverlibrary.js +133 -122
- package/lib/typescript.d.ts +1 -0
- package/lib/typescript.js +133 -122
- package/lib/typescriptServices.d.ts +1 -0
- package/lib/typescriptServices.js +133 -122
- package/lib/typingsInstaller.js +129 -122
- package/package.json +1 -1
package/lib/typingsInstaller.js
CHANGED
|
@@ -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,
|
|
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 &&
|
|
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(
|
|
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,
|
|
6530
|
+
function createFsWatchCallbackForFileWatcherCallback(fileName, callback, fileSystemEntryExists) {
|
|
6531
6531
|
return function (eventName) {
|
|
6532
6532
|
if (eventName === "rename") {
|
|
6533
|
-
callback(fileName,
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
6870
|
+
fsWatchWorker: fsWatchWorker,
|
|
6763
6871
|
useCaseSensitiveFileNames: useCaseSensitiveFileNames,
|
|
6764
6872
|
getCurrentDirectory: getCurrentDirectory,
|
|
6765
|
-
|
|
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
|
|
7029
|
-
|
|
7030
|
-
|
|
7031
|
-
|
|
7032
|
-
|
|
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
|
-
|
|
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-
|
|
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": [
|