@secure-exec/nodejs 0.2.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +7 -0
  3. package/dist/bindings.d.ts +31 -0
  4. package/dist/bindings.js +67 -0
  5. package/dist/bridge/active-handles.d.ts +22 -0
  6. package/dist/bridge/active-handles.js +112 -0
  7. package/dist/bridge/child-process.d.ts +99 -0
  8. package/dist/bridge/child-process.js +672 -0
  9. package/dist/bridge/dispatch.d.ts +2 -0
  10. package/dist/bridge/dispatch.js +40 -0
  11. package/dist/bridge/fs.d.ts +502 -0
  12. package/dist/bridge/fs.js +3307 -0
  13. package/dist/bridge/index.d.ts +10 -0
  14. package/dist/bridge/index.js +41 -0
  15. package/dist/bridge/module.d.ts +75 -0
  16. package/dist/bridge/module.js +325 -0
  17. package/dist/bridge/network.d.ts +1093 -0
  18. package/dist/bridge/network.js +8651 -0
  19. package/dist/bridge/os.d.ts +13 -0
  20. package/dist/bridge/os.js +256 -0
  21. package/dist/bridge/polyfills.d.ts +9 -0
  22. package/dist/bridge/polyfills.js +67 -0
  23. package/dist/bridge/process.d.ts +121 -0
  24. package/dist/bridge/process.js +1382 -0
  25. package/dist/bridge/whatwg-url.d.ts +67 -0
  26. package/dist/bridge/whatwg-url.js +712 -0
  27. package/dist/bridge-contract.d.ts +774 -0
  28. package/dist/bridge-contract.js +172 -0
  29. package/dist/bridge-handlers.d.ts +199 -0
  30. package/dist/bridge-handlers.js +4263 -0
  31. package/dist/bridge-loader.d.ts +9 -0
  32. package/dist/bridge-loader.js +87 -0
  33. package/dist/bridge-setup.d.ts +1 -0
  34. package/dist/bridge-setup.js +3 -0
  35. package/dist/bridge.js +21652 -0
  36. package/dist/builtin-modules.d.ts +25 -0
  37. package/dist/builtin-modules.js +312 -0
  38. package/dist/default-network-adapter.d.ts +13 -0
  39. package/dist/default-network-adapter.js +351 -0
  40. package/dist/driver.d.ts +87 -0
  41. package/dist/driver.js +191 -0
  42. package/dist/esm-compiler.d.ts +14 -0
  43. package/dist/esm-compiler.js +68 -0
  44. package/dist/execution-driver.d.ts +37 -0
  45. package/dist/execution-driver.js +977 -0
  46. package/dist/host-network-adapter.d.ts +7 -0
  47. package/dist/host-network-adapter.js +279 -0
  48. package/dist/index.d.ts +20 -0
  49. package/dist/index.js +23 -0
  50. package/dist/isolate-bootstrap.d.ts +86 -0
  51. package/dist/isolate-bootstrap.js +125 -0
  52. package/dist/ivm-compat.d.ts +7 -0
  53. package/dist/ivm-compat.js +31 -0
  54. package/dist/kernel-runtime.d.ts +58 -0
  55. package/dist/kernel-runtime.js +535 -0
  56. package/dist/module-access.d.ts +75 -0
  57. package/dist/module-access.js +606 -0
  58. package/dist/module-resolver.d.ts +8 -0
  59. package/dist/module-resolver.js +150 -0
  60. package/dist/os-filesystem.d.ts +42 -0
  61. package/dist/os-filesystem.js +161 -0
  62. package/dist/package-bundler.d.ts +36 -0
  63. package/dist/package-bundler.js +497 -0
  64. package/dist/polyfills.d.ts +17 -0
  65. package/dist/polyfills.js +97 -0
  66. package/dist/worker-adapter.d.ts +21 -0
  67. package/dist/worker-adapter.js +34 -0
  68. package/package.json +123 -0
@@ -0,0 +1,40 @@
1
+ function encodeDispatchArgs(args) {
2
+ return JSON.stringify(args, (_key, value) => value === undefined ? { __secureExecDispatchType: "undefined" } : value);
3
+ }
4
+ function encodeDispatch(method, args) {
5
+ return `__bd:${method}:${encodeDispatchArgs(args)}`;
6
+ }
7
+ function parseDispatchResult(resultJson) {
8
+ if (resultJson === null) {
9
+ return undefined;
10
+ }
11
+ const parsed = JSON.parse(resultJson);
12
+ if (parsed.__bd_error) {
13
+ const error = new Error(parsed.__bd_error.message);
14
+ error.name = parsed.__bd_error.name ?? "Error";
15
+ if (parsed.__bd_error.code !== undefined) {
16
+ error.code = parsed.__bd_error.code;
17
+ }
18
+ if (parsed.__bd_error.stack) {
19
+ error.stack = parsed.__bd_error.stack;
20
+ }
21
+ throw error;
22
+ }
23
+ return parsed.__bd_result;
24
+ }
25
+ function requireDispatchBridge() {
26
+ if (!_loadPolyfill) {
27
+ throw new Error("_loadPolyfill is not available in sandbox");
28
+ }
29
+ return _loadPolyfill;
30
+ }
31
+ export function bridgeDispatchSync(method, ...args) {
32
+ const bridge = requireDispatchBridge();
33
+ return parseDispatchResult(bridge.applySyncPromise(undefined, [encodeDispatch(method, args)]));
34
+ }
35
+ export async function bridgeDispatchAsync(method, ...args) {
36
+ const bridge = requireDispatchBridge();
37
+ return parseDispatchResult(await bridge.apply(undefined, [encodeDispatch(method, args)], {
38
+ result: { promise: true },
39
+ }));
40
+ }
@@ -0,0 +1,502 @@
1
+ import { Buffer } from "buffer";
2
+ import type * as nodeFs from "fs";
3
+ declare class Stats implements nodeFs.Stats {
4
+ dev: number;
5
+ ino: number;
6
+ mode: number;
7
+ nlink: number;
8
+ uid: number;
9
+ gid: number;
10
+ rdev: number;
11
+ size: number;
12
+ blksize: number;
13
+ blocks: number;
14
+ atimeMs: number;
15
+ mtimeMs: number;
16
+ ctimeMs: number;
17
+ birthtimeMs: number;
18
+ atime: Date;
19
+ mtime: Date;
20
+ ctime: Date;
21
+ birthtime: Date;
22
+ constructor(init: {
23
+ dev?: number;
24
+ ino?: number;
25
+ mode: number;
26
+ nlink?: number;
27
+ uid?: number;
28
+ gid?: number;
29
+ rdev?: number;
30
+ size: number;
31
+ blksize?: number;
32
+ blocks?: number;
33
+ atimeMs?: number;
34
+ mtimeMs?: number;
35
+ ctimeMs?: number;
36
+ birthtimeMs?: number;
37
+ });
38
+ isFile(): boolean;
39
+ isDirectory(): boolean;
40
+ isSymbolicLink(): boolean;
41
+ isBlockDevice(): boolean;
42
+ isCharacterDevice(): boolean;
43
+ isFIFO(): boolean;
44
+ isSocket(): boolean;
45
+ }
46
+ declare class Dirent implements nodeFs.Dirent<string> {
47
+ name: string;
48
+ parentPath: string;
49
+ path: string;
50
+ private _isDir;
51
+ constructor(name: string, isDir: boolean, parentPath?: string);
52
+ isFile(): boolean;
53
+ isDirectory(): boolean;
54
+ isSymbolicLink(): boolean;
55
+ isBlockDevice(): boolean;
56
+ isCharacterDevice(): boolean;
57
+ isFIFO(): boolean;
58
+ isSocket(): boolean;
59
+ }
60
+ declare class Dir {
61
+ readonly path: string;
62
+ private _entries;
63
+ private _index;
64
+ private _closed;
65
+ constructor(dirPath: string);
66
+ private _load;
67
+ readSync(): Dirent | null;
68
+ read(): Promise<Dirent | null>;
69
+ closeSync(): void;
70
+ close(): Promise<void>;
71
+ [Symbol.asyncIterator](): AsyncIterableIterator<Dirent>;
72
+ }
73
+ type FileHandleReadFileOptions = nodeFs.ObjectEncodingOptions & {
74
+ signal?: AbortSignal | undefined;
75
+ };
76
+ type FileHandleWriteFileOptions = nodeFs.ObjectEncodingOptions & {
77
+ signal?: AbortSignal | undefined;
78
+ };
79
+ declare class FileHandle {
80
+ private _fd;
81
+ private _closing;
82
+ private _closed;
83
+ private _listeners;
84
+ constructor(fd: number);
85
+ private static _assertHandle;
86
+ private _emitCloseOnce;
87
+ private _resolvePath;
88
+ get fd(): number;
89
+ get closed(): boolean;
90
+ on(event: string | symbol, listener: (...args: unknown[]) => void): this;
91
+ once(event: string | symbol, listener: (...args: unknown[]) => void): this;
92
+ off(event: string | symbol, listener: (...args: unknown[]) => void): this;
93
+ removeListener(event: string | symbol, listener: (...args: unknown[]) => void): this;
94
+ emit(event: string | symbol, ...args: unknown[]): boolean;
95
+ close(): Promise<void>;
96
+ stat(): Promise<Stats>;
97
+ sync(): Promise<void>;
98
+ datasync(): Promise<void>;
99
+ truncate(len?: number): Promise<void>;
100
+ chmod(mode: Mode): Promise<void>;
101
+ chown(uid: number, gid: number): Promise<void>;
102
+ utimes(atime: string | number | Date, mtime: string | number | Date): Promise<void>;
103
+ read(buffer: NodeJS.ArrayBufferView | null, offset?: number, length?: number, position?: number | null): Promise<{
104
+ bytesRead: number;
105
+ buffer: NodeJS.ArrayBufferView;
106
+ }>;
107
+ write(buffer: string | NodeJS.ArrayBufferView, offsetOrPosition?: number, lengthOrEncoding?: number | BufferEncoding, position?: number): Promise<{
108
+ bytesWritten: number;
109
+ buffer: string | NodeJS.ArrayBufferView;
110
+ }>;
111
+ readFile(options?: BufferEncoding | FileHandleReadFileOptions | null): Promise<string | Buffer>;
112
+ writeFile(data: unknown, options?: BufferEncoding | FileHandleWriteFileOptions | null): Promise<void>;
113
+ appendFile(data: unknown, options?: BufferEncoding | FileHandleWriteFileOptions | null): Promise<void>;
114
+ createReadStream(options?: {
115
+ encoding?: BufferEncoding;
116
+ start?: number;
117
+ end?: number;
118
+ highWaterMark?: number;
119
+ signal?: AbortSignal;
120
+ }): ReadStream;
121
+ createWriteStream(options?: {
122
+ encoding?: BufferEncoding;
123
+ flags?: string;
124
+ mode?: number;
125
+ }): WriteStream;
126
+ }
127
+ declare class ReadStream {
128
+ private _options?;
129
+ bytesRead: number;
130
+ path: string | Buffer | null;
131
+ pending: boolean;
132
+ readable: boolean;
133
+ readableAborted: boolean;
134
+ readableDidRead: boolean;
135
+ readableEncoding: BufferEncoding | null;
136
+ readableEnded: boolean;
137
+ readableFlowing: boolean | null;
138
+ readableHighWaterMark: number;
139
+ readableLength: number;
140
+ readableObjectMode: boolean;
141
+ destroyed: boolean;
142
+ closed: boolean;
143
+ errored: Error | null;
144
+ fd: number | null;
145
+ autoClose: boolean;
146
+ start: number | undefined;
147
+ end: number | undefined;
148
+ private _listeners;
149
+ private _started;
150
+ private _reading;
151
+ private _readScheduled;
152
+ private _opening;
153
+ private _remaining;
154
+ private _position;
155
+ private _fileHandle;
156
+ private _streamFs?;
157
+ private _signal?;
158
+ private _handleCloseListener?;
159
+ constructor(filePath: string | Buffer | null, _options?: {
160
+ encoding?: BufferEncoding;
161
+ start?: number;
162
+ end?: number;
163
+ highWaterMark?: number;
164
+ bufferSize?: number;
165
+ autoClose?: boolean;
166
+ fd?: number | FileHandle;
167
+ fs?: unknown;
168
+ signal?: AbortSignal;
169
+ } | undefined);
170
+ private _emitOpen;
171
+ private _openIfNeeded;
172
+ private _closeUnderlying;
173
+ private _scheduleRead;
174
+ private _readNextChunk;
175
+ private _finishReadable;
176
+ private _handleStreamError;
177
+ private _abort;
178
+ private _readAllContent;
179
+ on(event: string | symbol, listener: (...args: unknown[]) => void): this;
180
+ once(event: string | symbol, listener: (...args: unknown[]) => void): this;
181
+ off(event: string | symbol, listener: (...args: unknown[]) => void): this;
182
+ removeListener(event: string | symbol, listener: (...args: unknown[]) => void): this;
183
+ removeAllListeners(event?: string | symbol): this;
184
+ emit(event: string | symbol, ...args: unknown[]): boolean;
185
+ read(): Buffer | string | null;
186
+ pipe<T extends NodeJS.WritableStream>(destination: T, _options?: {
187
+ end?: boolean;
188
+ }): T;
189
+ unpipe(_destination?: NodeJS.WritableStream): this;
190
+ pause(): this;
191
+ resume(): this;
192
+ setEncoding(encoding: BufferEncoding): this;
193
+ destroy(error?: Error): this;
194
+ close(callback?: (err?: Error | null) => void): void;
195
+ [Symbol.asyncIterator](): AsyncIterator<Buffer | string>;
196
+ }
197
+ declare class WriteStream {
198
+ private _options?;
199
+ bytesWritten: number;
200
+ path: string | Buffer | null;
201
+ pending: boolean;
202
+ writable: boolean;
203
+ writableAborted: boolean;
204
+ writableEnded: boolean;
205
+ writableFinished: boolean;
206
+ writableHighWaterMark: number;
207
+ writableLength: number;
208
+ writableObjectMode: boolean;
209
+ writableCorked: number;
210
+ destroyed: boolean;
211
+ closed: boolean;
212
+ errored: Error | null;
213
+ writableNeedDrain: boolean;
214
+ fd: number | null;
215
+ autoClose: boolean;
216
+ private _chunks;
217
+ private _listeners;
218
+ private _fileHandle;
219
+ private _streamFs?;
220
+ constructor(filePath: string | Buffer | null, _options?: {
221
+ encoding?: BufferEncoding;
222
+ flags?: string;
223
+ mode?: number;
224
+ fd?: number | FileHandle;
225
+ fs?: unknown;
226
+ autoClose?: boolean;
227
+ } | undefined);
228
+ private _closeUnderlying;
229
+ close(callback?: (err?: NodeJS.ErrnoException | null) => void): void;
230
+ write(chunk: unknown, encodingOrCallback?: BufferEncoding | ((error: Error | null | undefined) => void), callback?: (error: Error | null | undefined) => void): boolean;
231
+ end(chunkOrCb?: unknown, encodingOrCallback?: BufferEncoding | (() => void), callback?: () => void): this;
232
+ setDefaultEncoding(_encoding: BufferEncoding): this;
233
+ cork(): void;
234
+ uncork(): void;
235
+ destroy(error?: Error): this;
236
+ addListener(event: string | symbol, listener: (...args: unknown[]) => void): this;
237
+ on(event: string | symbol, listener: (...args: unknown[]) => void): this;
238
+ once(event: string | symbol, listener: (...args: unknown[]) => void): this;
239
+ removeListener(event: string | symbol, listener: (...args: unknown[]) => void): this;
240
+ off(event: string | symbol, listener: (...args: unknown[]) => void): this;
241
+ removeAllListeners(event?: string | symbol): this;
242
+ emit(event: string | symbol, ...args: unknown[]): boolean;
243
+ pipe<T extends NodeJS.WritableStream>(destination: T, _options?: {
244
+ end?: boolean;
245
+ }): T;
246
+ unpipe(_destination?: NodeJS.WritableStream): this;
247
+ [Symbol.asyncDispose](): Promise<void>;
248
+ }
249
+ type PathLike = nodeFs.PathLike;
250
+ type PathOrFileDescriptor = nodeFs.PathOrFileDescriptor;
251
+ type OpenMode = nodeFs.OpenMode;
252
+ type Mode = nodeFs.Mode;
253
+ type ReadFileOptions = Parameters<typeof nodeFs.readFileSync>[1];
254
+ type WriteFileOptions = nodeFs.WriteFileOptions;
255
+ type MakeDirectoryOptions = nodeFs.MakeDirectoryOptions;
256
+ type RmDirOptions = nodeFs.RmDirOptions;
257
+ type ReaddirOptions = nodeFs.ObjectEncodingOptions & {
258
+ withFileTypes?: boolean;
259
+ recursive?: boolean;
260
+ };
261
+ type MkdirOptions = MakeDirectoryOptions;
262
+ type OpenFlags = nodeFs.OpenMode;
263
+ type NodeCallback<T> = (err: NodeJS.ErrnoException | null, result?: T) => void;
264
+ declare const fs: {
265
+ constants: {
266
+ F_OK: number;
267
+ R_OK: number;
268
+ W_OK: number;
269
+ X_OK: number;
270
+ COPYFILE_EXCL: number;
271
+ COPYFILE_FICLONE: number;
272
+ COPYFILE_FICLONE_FORCE: number;
273
+ O_RDONLY: number;
274
+ O_WRONLY: number;
275
+ O_RDWR: number;
276
+ O_CREAT: number;
277
+ O_EXCL: number;
278
+ O_NOCTTY: number;
279
+ O_TRUNC: number;
280
+ O_APPEND: number;
281
+ O_DIRECTORY: number;
282
+ O_NOATIME: number;
283
+ O_NOFOLLOW: number;
284
+ O_SYNC: number;
285
+ O_DSYNC: number;
286
+ O_SYMLINK: number;
287
+ O_DIRECT: number;
288
+ O_NONBLOCK: number;
289
+ S_IFMT: number;
290
+ S_IFREG: number;
291
+ S_IFDIR: number;
292
+ S_IFCHR: number;
293
+ S_IFBLK: number;
294
+ S_IFIFO: number;
295
+ S_IFLNK: number;
296
+ S_IFSOCK: number;
297
+ S_IRWXU: number;
298
+ S_IRUSR: number;
299
+ S_IWUSR: number;
300
+ S_IXUSR: number;
301
+ S_IRWXG: number;
302
+ S_IRGRP: number;
303
+ S_IWGRP: number;
304
+ S_IXGRP: number;
305
+ S_IRWXO: number;
306
+ S_IROTH: number;
307
+ S_IWOTH: number;
308
+ S_IXOTH: number;
309
+ UV_FS_O_FILEMAP: number;
310
+ };
311
+ Stats: typeof Stats;
312
+ Dirent: typeof Dirent;
313
+ Dir: typeof Dir;
314
+ readFileSync(path: PathOrFileDescriptor, options?: ReadFileOptions): string | Buffer;
315
+ writeFileSync(file: PathOrFileDescriptor, data: string | NodeJS.ArrayBufferView, _options?: WriteFileOptions): void;
316
+ appendFileSync(path: PathOrFileDescriptor, data: string | Uint8Array, options?: WriteFileOptions): void;
317
+ readdirSync(path: PathLike, options?: nodeFs.ObjectEncodingOptions & {
318
+ withFileTypes?: boolean;
319
+ recursive?: boolean;
320
+ }): string[] | Dirent[];
321
+ mkdirSync(path: PathLike, options?: MakeDirectoryOptions | Mode): string | undefined;
322
+ rmdirSync(path: PathLike, _options?: RmDirOptions): void;
323
+ rmSync(path: PathLike, options?: {
324
+ force?: boolean;
325
+ recursive?: boolean;
326
+ }): void;
327
+ existsSync(path: PathLike): boolean;
328
+ statSync(path: PathLike, _options?: nodeFs.StatSyncOptions): Stats;
329
+ lstatSync(path: PathLike, _options?: nodeFs.StatSyncOptions): Stats;
330
+ unlinkSync(path: PathLike): void;
331
+ renameSync(oldPath: PathLike, newPath: PathLike): void;
332
+ copyFileSync(src: PathLike, dest: PathLike, _mode?: number): void;
333
+ cpSync(src: PathLike, dest: PathLike, options?: {
334
+ recursive?: boolean;
335
+ force?: boolean;
336
+ errorOnExist?: boolean;
337
+ }): void;
338
+ mkdtempSync(prefix: string, _options?: nodeFs.EncodingOption): string;
339
+ opendirSync(path: PathLike, _options?: nodeFs.OpenDirOptions): Dir;
340
+ openSync(path: PathLike, flags?: OpenMode, _mode?: Mode | null): number;
341
+ closeSync(fd: number): void;
342
+ readSync(fd: number, buffer: NodeJS.ArrayBufferView, offset?: number | Record<string, unknown> | null, length?: number | null, position?: nodeFs.ReadPosition | null): number;
343
+ writeSync(fd: number, buffer: string | NodeJS.ArrayBufferView, offsetOrPosition?: number | Record<string, unknown> | null, lengthOrEncoding?: number | BufferEncoding | null, position?: number | null): number;
344
+ fstatSync(fd: number): Stats;
345
+ ftruncateSync(fd: number, len?: number): void;
346
+ fsyncSync(fd: number): void;
347
+ fdatasyncSync(fd: number): void;
348
+ readvSync(fd: number, buffers: ArrayBufferView[], position?: number | null): number;
349
+ statfsSync(path: PathLike, _options?: nodeFs.StatFsOptions): nodeFs.StatsFs;
350
+ globSync(pattern: string | string[], _options?: nodeFs.GlobOptionsWithFileTypes): string[];
351
+ chmodSync(path: PathLike, mode: Mode): void;
352
+ chownSync(path: PathLike, uid: number, gid: number): void;
353
+ fchmodSync(fd: number, mode: Mode): void;
354
+ fchownSync(fd: number, uid: number, gid: number): void;
355
+ lchownSync(path: PathLike, uid: number, gid: number): void;
356
+ linkSync(existingPath: PathLike, newPath: PathLike): void;
357
+ symlinkSync(target: PathLike, path: PathLike, _type?: string | null): void;
358
+ readlinkSync(path: PathLike, _options?: nodeFs.EncodingOption): string;
359
+ truncateSync(path: PathLike, len?: number | null): void;
360
+ utimesSync(path: PathLike, atime: string | number | Date, mtime: string | number | Date): void;
361
+ readFile(path: string, options?: ReadFileOptions | NodeCallback<string | Uint8Array>, callback?: NodeCallback<string | Uint8Array>): Promise<string | Uint8Array> | void;
362
+ writeFile(path: string, data: string | Uint8Array, options?: WriteFileOptions | NodeCallback<void>, callback?: NodeCallback<void>): Promise<void> | void;
363
+ appendFile(path: string, data: string | Uint8Array, options?: WriteFileOptions | NodeCallback<void>, callback?: NodeCallback<void>): Promise<void> | void;
364
+ readdir(path: string, options?: ReaddirOptions | NodeCallback<string[] | Dirent[]>, callback?: NodeCallback<string[] | Dirent[]>): Promise<string[] | Dirent[]> | void;
365
+ mkdir(path: string, options?: MkdirOptions | NodeCallback<void>, callback?: NodeCallback<void>): Promise<void> | void;
366
+ rmdir(path: string, callback?: NodeCallback<void>): Promise<void> | void;
367
+ rm(path: string, options?: {
368
+ force?: boolean;
369
+ recursive?: boolean;
370
+ } | NodeCallback<void>, callback?: NodeCallback<void>): Promise<void> | void;
371
+ exists(path: string, callback?: (exists: boolean) => void): Promise<boolean> | void;
372
+ stat(path: string, callback?: NodeCallback<Stats>): Promise<Stats> | void;
373
+ lstat(path: string, callback?: NodeCallback<Stats>): Promise<Stats> | void;
374
+ unlink(path: string, callback?: NodeCallback<void>): Promise<void> | void;
375
+ rename(oldPath: string, newPath: string, callback?: NodeCallback<void>): Promise<void> | void;
376
+ copyFile(src: string, dest: string, callback?: NodeCallback<void>): Promise<void> | void;
377
+ cp(src: string, dest: string, options?: {
378
+ recursive?: boolean;
379
+ force?: boolean;
380
+ errorOnExist?: boolean;
381
+ } | NodeCallback<void>, callback?: NodeCallback<void>): Promise<void> | void;
382
+ mkdtemp(prefix: string, options?: nodeFs.EncodingOption | NodeCallback<string>, callback?: NodeCallback<string>): Promise<string> | void;
383
+ opendir(path: string, options?: nodeFs.OpenDirOptions | NodeCallback<Dir>, callback?: NodeCallback<Dir>): Promise<Dir> | void;
384
+ open(path: string, flags?: OpenFlags | NodeCallback<number>, mode?: number | NodeCallback<number>, callback?: NodeCallback<number>): Promise<number> | void;
385
+ close(fd: number, callback?: NodeCallback<void>): Promise<void> | void;
386
+ read(fd: number, buffer: Uint8Array, offset: number, length: number, position: number | null, callback?: (err: Error | null, bytesRead?: number, buffer?: Uint8Array) => void): Promise<number> | void;
387
+ write(fd: number, buffer: string | Uint8Array, offset?: number | Record<string, unknown> | NodeCallback<number>, length?: number | BufferEncoding | NodeCallback<number>, position?: number | null | NodeCallback<number>, callback?: NodeCallback<number>): Promise<number> | void;
388
+ writev(fd: number, buffers: ArrayBufferView[], position?: number | null | ((err: Error | null, bytesWritten?: number, buffers?: ArrayBufferView[]) => void), callback?: (err: Error | null, bytesWritten?: number, buffers?: ArrayBufferView[]) => void): void;
389
+ writevSync(fd: number, buffers: ArrayBufferView[], position?: number | null): number;
390
+ fstat(fd: number, callback?: NodeCallback<Stats>): Promise<Stats> | void;
391
+ fsync(fd: number, callback?: NodeCallback<void>): Promise<void> | void;
392
+ fdatasync(fd: number, callback?: NodeCallback<void>): Promise<void> | void;
393
+ readv(fd: number, buffers: ArrayBufferView[], position?: number | null | ((err: Error | null, bytesRead?: number, buffers?: ArrayBufferView[]) => void), callback?: (err: Error | null, bytesRead?: number, buffers?: ArrayBufferView[]) => void): void;
394
+ statfs(path: PathLike, options?: nodeFs.StatFsOptions | NodeCallback<nodeFs.StatsFs>, callback?: NodeCallback<nodeFs.StatsFs>): Promise<nodeFs.StatsFs> | void;
395
+ glob(pattern: string | string[], options?: nodeFs.GlobOptionsWithFileTypes | ((err: Error | null, matches?: string[]) => void), callback?: (err: Error | null, matches?: string[]) => void): void;
396
+ promises: {
397
+ readFile(path: string | FileHandle, options?: ReadFileOptions | FileHandleReadFileOptions): Promise<string | Buffer<ArrayBufferLike>>;
398
+ writeFile(path: string | FileHandle, data: unknown, options?: WriteFileOptions | FileHandleWriteFileOptions): Promise<void>;
399
+ appendFile(path: string | FileHandle, data: unknown, options?: WriteFileOptions | FileHandleWriteFileOptions): Promise<void>;
400
+ readdir(path: string, options?: ReaddirOptions): Promise<string[] | Dirent[]>;
401
+ mkdir(path: string, options?: MkdirOptions): Promise<string | undefined>;
402
+ rmdir(path: string): Promise<void>;
403
+ stat(path: string): Promise<Stats>;
404
+ lstat(path: string): Promise<Stats>;
405
+ unlink(path: string): Promise<void>;
406
+ rename(oldPath: string, newPath: string): Promise<void>;
407
+ copyFile(src: string, dest: string): Promise<void>;
408
+ cp(src: string, dest: string, options?: {
409
+ recursive?: boolean;
410
+ force?: boolean;
411
+ errorOnExist?: boolean;
412
+ }): Promise<void>;
413
+ mkdtemp(prefix: string, options?: nodeFs.EncodingOption): Promise<string>;
414
+ opendir(path: string, options?: nodeFs.OpenDirOptions): Promise<Dir>;
415
+ open(path: string, flags?: OpenFlags, mode?: Mode): Promise<FileHandle>;
416
+ statfs(path: string, options?: nodeFs.StatFsOptions): Promise<nodeFs.StatsFs>;
417
+ glob(pattern: string | string[], _options?: nodeFs.GlobOptionsWithFileTypes): Promise<string[]>;
418
+ access(path: string): Promise<void>;
419
+ rm(path: string, options?: {
420
+ force?: boolean;
421
+ recursive?: boolean;
422
+ }): Promise<void>;
423
+ chmod(path: string, mode: Mode): Promise<void>;
424
+ chown(path: string, uid: number, gid: number): Promise<void>;
425
+ lchown(path: string, uid: number, gid: number): Promise<void>;
426
+ link(existingPath: string, newPath: string): Promise<void>;
427
+ symlink(target: string, path: string): Promise<void>;
428
+ readlink(path: string): Promise<string>;
429
+ truncate(path: string, len?: number): Promise<void>;
430
+ utimes(path: string, atime: string | number | Date, mtime: string | number | Date): Promise<void>;
431
+ watch(path: unknown, options?: unknown): AsyncIterableIterator<{
432
+ eventType: string;
433
+ filename: string | Buffer | null;
434
+ }>;
435
+ };
436
+ accessSync(path: string): void;
437
+ access(path: string, mode?: number | NodeCallback<void>, callback?: NodeCallback<void>): Promise<void> | void;
438
+ realpathSync: ((path: PathLike, options?: nodeFs.EncodingOption) => string) & {
439
+ native(path: PathLike, options?: nodeFs.EncodingOption): string;
440
+ };
441
+ realpath: ((path: PathLike, optionsOrCallback?: nodeFs.EncodingOption | NodeCallback<string>, callback?: NodeCallback<string>) => Promise<string> | void) & {
442
+ native(path: PathLike, optionsOrCallback?: nodeFs.EncodingOption | NodeCallback<string>, callback?: NodeCallback<string>): Promise<string> | void;
443
+ };
444
+ ReadStream: {
445
+ (path: string | Buffer | null, options?: {
446
+ encoding?: BufferEncoding;
447
+ start?: number;
448
+ end?: number;
449
+ highWaterMark?: number;
450
+ bufferSize?: number;
451
+ autoClose?: boolean;
452
+ fd?: number | FileHandle;
453
+ fs?: unknown;
454
+ signal?: AbortSignal;
455
+ }): ReadStream;
456
+ prototype: ReadStream;
457
+ };
458
+ WriteStream: {
459
+ (path: string | Buffer | null, options?: {
460
+ encoding?: BufferEncoding;
461
+ flags?: string;
462
+ mode?: number;
463
+ fd?: number | FileHandle;
464
+ fs?: unknown;
465
+ autoClose?: boolean;
466
+ }): WriteStream;
467
+ prototype: WriteStream;
468
+ };
469
+ createReadStream: (path: nodeFs.PathLike, options?: BufferEncoding | {
470
+ encoding?: BufferEncoding;
471
+ start?: number;
472
+ end?: number;
473
+ highWaterMark?: number;
474
+ bufferSize?: number;
475
+ autoClose?: boolean;
476
+ fd?: number | FileHandle;
477
+ fs?: unknown;
478
+ signal?: AbortSignal;
479
+ }) => nodeFs.ReadStream;
480
+ createWriteStream: (path: nodeFs.PathLike, options?: BufferEncoding | {
481
+ encoding?: BufferEncoding;
482
+ flags?: string;
483
+ mode?: number;
484
+ autoClose?: boolean;
485
+ fd?: number | FileHandle;
486
+ fs?: unknown;
487
+ }) => nodeFs.WriteStream;
488
+ watch(..._args: unknown[]): never;
489
+ watchFile(..._args: unknown[]): never;
490
+ unwatchFile(..._args: unknown[]): never;
491
+ chmod(path: PathLike, mode: Mode, callback?: NodeCallback<void>): Promise<void> | void;
492
+ chown(path: PathLike, uid: number, gid: number, callback?: NodeCallback<void>): Promise<void> | void;
493
+ fchmod(fd: number, mode: Mode, callback?: NodeCallback<void>): Promise<void> | void;
494
+ fchown(fd: number, uid: number, gid: number, callback?: NodeCallback<void>): Promise<void> | void;
495
+ lchown(path: PathLike, uid: number, gid: number, callback?: NodeCallback<void>): Promise<void> | void;
496
+ link(existingPath: PathLike, newPath: PathLike, callback?: NodeCallback<void>): Promise<void> | void;
497
+ symlink(target: PathLike, path: PathLike, typeOrCb?: string | null | NodeCallback<void>, callback?: NodeCallback<void>): Promise<void> | void;
498
+ readlink(path: PathLike, optionsOrCb?: nodeFs.EncodingOption | NodeCallback<string>, callback?: NodeCallback<string>): Promise<string> | void;
499
+ truncate(path: PathLike, lenOrCb?: number | null | NodeCallback<void>, callback?: NodeCallback<void>): Promise<void> | void;
500
+ utimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date, callback?: NodeCallback<void>): Promise<void> | void;
501
+ };
502
+ export default fs;