PR feedback
This commit is contained in:
parent
f885cd971e
commit
d8bf95ff10
|
@ -334,7 +334,7 @@ namespace ts {
|
||||||
/*@internal*/
|
/*@internal*/
|
||||||
export interface RecursiveDirectoryWatcherHost {
|
export interface RecursiveDirectoryWatcherHost {
|
||||||
watchDirectory: HostWatchDirectory;
|
watchDirectory: HostWatchDirectory;
|
||||||
getAccessileSortedChildDirectories(path: string): ReadonlyArray<string>;
|
getAccessibleSortedChildDirectories(path: string): ReadonlyArray<string>;
|
||||||
directoryExists(dir: string): boolean;
|
directoryExists(dir: string): boolean;
|
||||||
filePathComparer: Comparer<string>;
|
filePathComparer: Comparer<string>;
|
||||||
realpath(s: string): string;
|
realpath(s: string): string;
|
||||||
|
@ -393,8 +393,10 @@ namespace ts {
|
||||||
function watchChildDirectories(parentDir: string, existingChildWatches: ChildWatches, callback: DirectoryWatcherCallback): ChildWatches {
|
function watchChildDirectories(parentDir: string, existingChildWatches: ChildWatches, callback: DirectoryWatcherCallback): ChildWatches {
|
||||||
let newChildWatches: DirectoryWatcher[] | undefined;
|
let newChildWatches: DirectoryWatcher[] | undefined;
|
||||||
enumerateInsertsAndDeletes<string, DirectoryWatcher>(
|
enumerateInsertsAndDeletes<string, DirectoryWatcher>(
|
||||||
host.directoryExists(parentDir) ? mapDefined(host.getAccessileSortedChildDirectories(parentDir), child => {
|
host.directoryExists(parentDir) ? mapDefined(host.getAccessibleSortedChildDirectories(parentDir), child => {
|
||||||
const childFullName = getNormalizedAbsolutePath(child, parentDir);
|
const childFullName = getNormalizedAbsolutePath(child, parentDir);
|
||||||
|
// Filter our the symbolic link directories since those arent included in recursive watch
|
||||||
|
// which is same behaviour when recursive: true is passed to fs.watch
|
||||||
return host.filePathComparer(childFullName, host.realpath(childFullName)) === Comparison.EqualTo ? childFullName : undefined;
|
return host.filePathComparer(childFullName, host.realpath(childFullName)) === Comparison.EqualTo ? childFullName : undefined;
|
||||||
}) : emptyArray,
|
}) : emptyArray,
|
||||||
existingChildWatches,
|
existingChildWatches,
|
||||||
|
@ -696,7 +698,7 @@ namespace ts {
|
||||||
const watchDirectoryRecursively = createRecursiveDirectoryWatcher({
|
const watchDirectoryRecursively = createRecursiveDirectoryWatcher({
|
||||||
filePathComparer: useCaseSensitiveFileNames ? compareStringsCaseSensitive : compareStringsCaseInsensitive,
|
filePathComparer: useCaseSensitiveFileNames ? compareStringsCaseSensitive : compareStringsCaseInsensitive,
|
||||||
directoryExists,
|
directoryExists,
|
||||||
getAccessileSortedChildDirectories: path => getAccessibleFileSystemEntries(path).directories,
|
getAccessibleSortedChildDirectories: path => getAccessibleFileSystemEntries(path).directories,
|
||||||
watchDirectory,
|
watchDirectory,
|
||||||
realpath
|
realpath
|
||||||
});
|
});
|
||||||
|
|
|
@ -312,7 +312,7 @@ interface Array<T> {}`
|
||||||
const watchDirectory: HostWatchDirectory = (directory, cb) => this.watchFile(directory, () => cb(directory), PollingInterval.Medium);
|
const watchDirectory: HostWatchDirectory = (directory, cb) => this.watchFile(directory, () => cb(directory), PollingInterval.Medium);
|
||||||
this.customRecursiveWatchDirectory = createRecursiveDirectoryWatcher({
|
this.customRecursiveWatchDirectory = createRecursiveDirectoryWatcher({
|
||||||
directoryExists: path => this.directoryExists(path),
|
directoryExists: path => this.directoryExists(path),
|
||||||
getAccessileSortedChildDirectories: path => this.getDirectories(path),
|
getAccessibleSortedChildDirectories: path => this.getDirectories(path),
|
||||||
filePathComparer: this.useCaseSensitiveFileNames ? compareStringsCaseSensitive : compareStringsCaseInsensitive,
|
filePathComparer: this.useCaseSensitiveFileNames ? compareStringsCaseSensitive : compareStringsCaseInsensitive,
|
||||||
watchDirectory,
|
watchDirectory,
|
||||||
realpath: s => this.realpath(s)
|
realpath: s => this.realpath(s)
|
||||||
|
@ -322,7 +322,7 @@ interface Array<T> {}`
|
||||||
const watchDirectory: HostWatchDirectory = (directory, cb) => this.watchDirectory(directory, fileName => cb(fileName), /*recursive*/ false);
|
const watchDirectory: HostWatchDirectory = (directory, cb) => this.watchDirectory(directory, fileName => cb(fileName), /*recursive*/ false);
|
||||||
this.customRecursiveWatchDirectory = createRecursiveDirectoryWatcher({
|
this.customRecursiveWatchDirectory = createRecursiveDirectoryWatcher({
|
||||||
directoryExists: path => this.directoryExists(path),
|
directoryExists: path => this.directoryExists(path),
|
||||||
getAccessileSortedChildDirectories: path => this.getDirectories(path),
|
getAccessibleSortedChildDirectories: path => this.getDirectories(path),
|
||||||
filePathComparer: this.useCaseSensitiveFileNames ? compareStringsCaseSensitive : compareStringsCaseInsensitive,
|
filePathComparer: this.useCaseSensitiveFileNames ? compareStringsCaseSensitive : compareStringsCaseInsensitive,
|
||||||
watchDirectory,
|
watchDirectory,
|
||||||
realpath: s => this.realpath(s)
|
realpath: s => this.realpath(s)
|
||||||
|
@ -333,7 +333,7 @@ interface Array<T> {}`
|
||||||
const watchDirectory: HostWatchDirectory = (directory, cb) => watchFile(directory, () => cb(directory), PollingInterval.Medium);
|
const watchDirectory: HostWatchDirectory = (directory, cb) => watchFile(directory, () => cb(directory), PollingInterval.Medium);
|
||||||
this.customRecursiveWatchDirectory = createRecursiveDirectoryWatcher({
|
this.customRecursiveWatchDirectory = createRecursiveDirectoryWatcher({
|
||||||
directoryExists: path => this.directoryExists(path),
|
directoryExists: path => this.directoryExists(path),
|
||||||
getAccessileSortedChildDirectories: path => this.getDirectories(path),
|
getAccessibleSortedChildDirectories: path => this.getDirectories(path),
|
||||||
filePathComparer: this.useCaseSensitiveFileNames ? compareStringsCaseSensitive : compareStringsCaseInsensitive,
|
filePathComparer: this.useCaseSensitiveFileNames ? compareStringsCaseSensitive : compareStringsCaseInsensitive,
|
||||||
watchDirectory,
|
watchDirectory,
|
||||||
realpath: s => this.realpath(s)
|
realpath: s => this.realpath(s)
|
||||||
|
|
Loading…
Reference in a new issue