Implement fs.stat and fs.readlink

Summary: Fixes issue for the stackTraceMapper

Reviewed By: aigoncharov

Differential Revision: D32987161

fbshipit-source-id: 660f49a1bdf61b2fd2963874ef23dfd284f71128
This commit is contained in:
Michel Weststrate
2021-12-13 05:46:42 -08:00
committed by Facebook GitHub Bot
parent af83523798
commit 34a1da3345
5 changed files with 47 additions and 2 deletions

View File

@@ -49,7 +49,7 @@ import {promises} from 'fs';
// Electron 11 runs on Node 12 which does not support fs.promises.rm
import rm from 'rimraf';
const {access, copyFile, mkdir, unlink} = promises;
const {access, copyFile, mkdir, unlink, stat, readlink} = promises;
export const SERVICE_FLIPPER = 'flipper.oAuthToken';
@@ -239,6 +239,25 @@ export class FlipperServerImpl implements FlipperServer {
),
),
'node-api-fs-copyFile': copyFile,
'node-api-fs-stat': async (path) => {
const stats = await stat(path);
const {atimeMs, birthtimeMs, ctimeMs, gid, mode, mtimeMs, size, uid} =
stats;
return {
atimeMs,
birthtimeMs,
ctimeMs,
gid,
mode,
mtimeMs,
size,
uid,
isDirectory: stats.isDirectory(),
isFile: stats.isFile(),
isSymbolicLink: stats.isSymbolicLink(),
};
},
'node-api-fs-readlink': readlink,
// TODO: Do we need API to cancel an active download?
'download-file-start': commandDownloadFileStartFactory(
this.emit.bind(this),