This pattern appears 4 times in this file... should we roll it into a helper API like findWatchRoot(fullPath) ?