|
1 |
| -import { promises as fs, constants } from 'fs'; |
| 1 | +import { promises as fs } from 'fs'; |
2 | 2 | import { dirname } from 'path';
|
3 | 3 | import * as yaml from 'js-yaml';
|
4 | 4 | import * as grpc from '@grpc/grpc-js';
|
@@ -259,25 +259,23 @@ export class ConfigServiceImpl
|
259 | 259 | private async checkAccessible({
|
260 | 260 | directories,
|
261 | 261 | }: DefaultCliConfig): Promise<string[]> {
|
262 |
| - const accessible = (folderPath: string) => |
263 |
| - fs.access(folderPath, constants.R_OK | constants.W_OK); |
264 |
| - const toConfigErrors = ( |
265 |
| - folderPath: string, |
266 |
| - result: PromiseSettledResult<unknown> |
267 |
| - ) => |
268 |
| - result.status === 'rejected' |
269 |
| - ? [ |
270 |
| - nls.localize( |
271 |
| - 'arduino/configuration/cli/inaccessibleDirectory', |
272 |
| - "Could not access the sketchbook location at '{0}': {1}", |
273 |
| - folderPath, |
274 |
| - String(result.reason) |
275 |
| - ), |
276 |
| - ] |
277 |
| - : []; |
278 |
| - const { user } = directories; |
279 |
| - const [userAccessible] = await Promise.allSettled([accessible(user)]); // XXX: validate `directory.data` if required |
280 |
| - return [...toConfigErrors(user, userAccessible)]; |
| 262 | + try { |
| 263 | + await fs.readdir(directories.user); |
| 264 | + return []; |
| 265 | + } catch (err) { |
| 266 | + console.error( |
| 267 | + `Check accessible failed for input: ${directories.user}`, |
| 268 | + err |
| 269 | + ); |
| 270 | + return [ |
| 271 | + nls.localize( |
| 272 | + 'arduino/configuration/cli/inaccessibleDirectory', |
| 273 | + "Could not access the sketchbook location at '{0}': {1}", |
| 274 | + directories.user, |
| 275 | + String(err) |
| 276 | + ), |
| 277 | + ]; |
| 278 | + } |
281 | 279 | }
|
282 | 280 |
|
283 | 281 | private async updateDaemon(
|
|
0 commit comments