| 141 | } |
| 142 | |
| 143 | function readDirAsync(logger: Logger, folder: string): Promise<fs.Dirent[]> { |
| 144 | return new Promise<fs.Dirent[]>((resolve) => fs.readdir(folder, |
| 145 | { withFileTypes: true }, |
| 146 | (err, files) => { |
| 147 | // We will generate errors if we don't have access to this folder |
| 148 | // so just skip over it. |
| 149 | if (err) { |
| 150 | // eslint-disable-next-line @typescript-eslint/no-base-to-string |
| 151 | logger.warn(`Skipping folder ${folder} due to error: ${err}`); |
| 152 | resolve([]); |
| 153 | } else { |
| 154 | resolve(files); |
| 155 | } |
| 156 | }, |
| 157 | )); |
| 158 | } |
| 159 | |
| 160 | function statSyncSafe(file: string): fs.Stats | undefined { |
| 161 | try { |