@stencil/core
Version:
A Compiler for Web Components and Progressive Web Apps
92 lines (91 loc) • 2.57 kB
TypeScript
export interface MakeDirectoryOptions {
/**
* Indicates whether parent folders should be created.
* @default false
*/
recursive?: boolean;
/**
* A file mode. If a string is passed, it is parsed as an octal integer. If not specified
* @default 0o777.
*/
mode?: number;
}
export interface FileSystem {
access(path: string): Promise<void>;
copyFile(src: string, dest: string): Promise<void>;
createReadStream(filePath: string): any;
existsSync(filePath: string): boolean;
mkdir(dirPath: string, opts?: MakeDirectoryOptions): Promise<void>;
mkdirSync(dirPath: string): void;
readdir(dirPath: string): Promise<string[]>;
readdirSync(dirPath: string): string[];
readFile(filePath: string, format?: string): Promise<string>;
readFileSync(filePath: string, format?: string): string;
rmdir(dirPath: string): Promise<void>;
stat(path: string): Promise<FsStats>;
statSync(path: string): FsStats;
unlink(filePath: string): Promise<void>;
writeFile(filePath: string, content: string, opts?: FsWriteOptions): Promise<void>;
writeFileSync(filePath: string, content: string, opts?: FsWriteOptions): void;
}
export interface FsStats {
isFile(): boolean;
isDirectory(): boolean;
isBlockDevice(): boolean;
isCharacterDevice(): boolean;
isSymbolicLink(): boolean;
isFIFO(): boolean;
isSocket(): boolean;
dev: number;
ino: number;
mode: number;
nlink: number;
uid: number;
gid: number;
rdev: number;
size: number;
blksize: number;
blocks: number;
atime: Date;
mtime: Date;
ctime: Date;
birthtime: Date;
}
export interface FsReadOptions {
useCache?: boolean;
setHash?: boolean;
}
export interface FsReaddirOptions {
inMemoryOnly?: boolean;
recursive?: boolean;
}
export interface FsReaddirItem {
absPath: string;
relPath: string;
isDirectory: boolean;
isFile: boolean;
}
export interface FsWriteOptions {
inMemoryOnly?: boolean;
clearFileCache?: boolean;
immediateWrite?: boolean;
useCache?: boolean;
}
export interface FsWriteResults {
changedContent: boolean;
queuedWrite: boolean;
ignored: boolean;
}
export declare type FsItems = Map<string, FsItem>;
export interface FsItem {
fileText: string;
isFile: boolean;
isDirectory: boolean;
size: number;
mtimeMs: number;
exists: boolean;
queueCopyFileToDest: string;
queueWriteToDisk: boolean;
queueDeleteFromDisk?: boolean;
useCache: boolean;
}