Skip to main content

filesystem

A set of functions & values to work with files and directories. The majority of these functions come straight from fs-jetpack, a fantastic API for working with the file system. All jetpack-based functions have an equivalent *Async version if you need it.

You can access these tools on the Gluegun toolbox, via const { filesystem } = require('gluegun'), or directly via const { filesystem } = require('gluegun/filesystem').

separator

This value is the path separator \ or / depending on the OS.

toolbox.filesystem.separator // '/' on posix but '\' on windows

eol

This value is the end of line byte sequence.

toolbox.filesystem.eol // '\n' on posix but '\r\n' on windows

homedir

This function retrieves the path to the home directory.

toolbox.filesystem.homedir() // '/Users/jh' on my macOS machine

subdirectories

Finds the immediate subdirectories in a given directory.

toolbox.filesystem.subdirectories(`~/Desktop`) // []

append

Appends data to the end of a file.

chmodSync

Changes directory ownership. See more in the fs documentation.

copy

Copies a file or a directory.

cwd

Gets the current working directory.

dir

Ensures a directory exists and creates a new jetpack instance with it's cwd pointing there.

exists

Checks to see if file or directory exists.

file

Ensures a file exists.

find

Finds files or directories.

inspect

Grabs information about a file or directory.

inspectTree

Grabs nested information about a set of files or directories.

list

Gets a directory listing, like ls.

move

Moves files and directories.

path

Grabs path parts as a string.

read

Reads the contents of a file as a string or JSON.

remove

Deletes a file or directory.

rename

Renames a file or directory.

resolve

Resolves a sequence of paths or path segments into an absolute path.

Makes a symbolic link to a file or directory.

write

Writes data to a file.