extra-filesystem

npm install --save extra-filesystem

Usage no npm install needed!

<script type="module">
  import extraFilesystem from 'https://cdn.skypack.dev/extra-filesystem';
</script>

README

extra-filesystem

Install

npm install --save extra-filesystem
# or
yarn add extra-filesystem

API

createTempDir

function createTempDir(): Promise<string>

createTempDirSync

function createTempDirSync(): string

createTempFile

function createTempFile(): Promise<string>

createTempFileSync

function createTempFileSync(): string

createTempName

function createTempName(): Promise<stirng>

createTempNameSync

function createTempNameSync(): string

emptyDir

function emptyDir(dirname: string): Promise<void>

emptyDirSync

function emptyDirSync(dirname: string): void

ensureDir

function ensureDir(dirname: string): Promise<void>

ensureDirSync

function ensureDirSync(dirname: string): void

ensureFile

function ensureFile(filename: string): Promise<void>

ensureFileSync

function ensureFileSync(filename: string): void

pathExists

function pathExists(path: string): Promise<boolean>

pathExistsSync

function pathExistsSync(path: string): boolean

readJSONFile

function readJSONFile<T>(filename: string): Promise<T>

readJSONFileSync

function readJSONFileSync<T>(filename: string): T

writeJSONFile

function writeJSONFile(
  filename: string
, data: unknown
, options?: { spaces?: number }
): Promise<void>

writeJSONFileSync

function writeJSONFileSync(
  filename: string
, data: unknown
, options?: { spaces?: number }
): void

move

function move(oldPath: string, newPath: string): Promise<void>

moveSync

function moveSync(oldPath: string, newPath: string): void

copy

function copy(sourcePath: string, destinationPath: string): Promise<void>

copySync

function copySync(sourcePath: string, destinationPath: string): void

remove

function remove(path: string): Promise<void>

removeSync

function removeSync(path: string): void

isDirectory

function isDirectory(path: string): Promise<boolean>

isFile

function isFile(path: string): Promise<boolean>

isWritable

function isWritable(path: string): Promise<boolean>

isReadable

function isReadable(path: string): Promise<boolean>

findAllFilenames

function findAllFilenames(
  dirname: string
, predicate: (dirname: string) => boolean = _ => true
): AsyncIterable<string>

findAllDirnames

function findAllDirnames(
  dirname: string
, predicate: (dirname: string) => boolean = _ => true
): AsyncIterable<string>

getLongExtension

function getLongExtension(filename: string): string

Get the longest possible extension.

getLongExtension('file.tar.gz') // '.tar.gz'

getShortBasename

function getShortBasename(filename: string): string

Get the shortest possible basename.

getShortBasename('file.tar.gz') // 'file'

readFileLineByLine

function readFileLineByLine(filename: string, encoding: BufferEncoding = 'utf-8'): AsyncIterable<string>

writeIterableToFile

function writeIterableToFile(
  filename: string
, iterable: Iterable<string> | AsyncIterable<string>
): Promise<void>

isSubPathOf

function isSubPathOf(subject: string, object: string): boolean

checksumFile

function checksumFile(algorithm: string, filename: string): Promise<string>