exports all fs.promises + exists + mkdirp + rmrf + getFiles + getDirs functions.
be in a nodejs project
npm install @magic/fsimportfsfrom'@magic/fs'construn=async()=>{awaitfs.mkdirp('./test_235235/dir/to/create')console.log('dir created')awaitfs.rmrf('./test_235235')console.log('dir deleted, even though it had contents.')}run()promises from fs:
access
copyFile
open
opendir
rename
truncate
rmdir
mkdir
readdir
readlink
symlink
lstat
stat
link
unlink
chmod
lchmod
lchown
chown
utimes
realpath
mkdtemp
writeFile
appendFile
readFile
exists
readDir
readfile
rmDir
// rmdir, rmDir// readfile, readFile// readdir, readDirsame as mkdir -p on unix
awaitfs.mkdirp('./path/to/dir')same as rm -rf on unix.
will not work outside process.cwd()
awaitfs.rmrf('./path/to/dir')same as fs.exists, but promisified and ready for esmodules.
get a list of directories in a directory, recursively.
importfsfrom'@magic/fs'construn=async()=>{// first level directoriesconstdirectories=awaitfs.getDirectories(process.cwd(),false)console.log(directories)// first level againconstdirs=awaitfs.getDirectories(process.cwd(),{depth: false})// recursive runconstdeepDirectories=awaitfs.getDirectories(process.cwd())console.log(deepDirectories)// recursive run with specified depthconstdeepDirectoriesDepth2=awaitfs.getDirectories(process.cwd(),{depth: 2})console.log(deepDirectoriesDepth2)// use /some/dir as root instead of process.cwd()constdeepDirWithRoot=awaitfs.getDirectories(process.cwd(),{depth: true,root: '/some/dir'})console.log(deepDirWithRoot)}run()get a list of files in a directory, recursively.
importfsfrom'@magic/fs'construn=async()=>{// first level directoriesconstfiles=awaitfs.getFiles(process.cwd())console.log(files)// recursive runconstdeepFiles=awaitfs.getFiles(process.cwd(),{depth: true})console.log(deepFiles)// recursive run with specified depth,constdeepFilesDepth2=awaitfs.getFiles(process.cwd(),{depth: 2})console.log(deepFilesDepth2)}run()get the file type of a file, based on extension, and defaulting to "txt"
importfsfrom'@magic/fs'constfileType=fs.getFileType('html.html')console.log(fileType,fileType==='html')constnonFileType=fs.getFileType()console.log(nonFileType,nonFileType==='txt')first release
- bump required node version
- update dependencies
better error messages
rmrf returns true if directory does not exist.
use @magic/mime-types to export contentTypes
bump required node version to 14.2.0
rmrf: add dryRun option
update dependencies
- remove unused imports from getDirectories
- getDirectories and getFiles now accept a number as second argument.
// if a number is given instead of true/false, then this is the depth of recursion.
getFiles(directory, 2) // two levels down
- bump required node version to 14.15.4
- update dependencies
update dependencies (@magic/mime-types)
export all functions from native fs
- getDirectories, getFiles: default root to process.cwd() if first argument is an array and root is not passed
- update dependencies
update dependencies (@magic/mime-types)
update @magic/types to avoid circular dependency
add deprecation warning for calls to fs.getDirectories, fs.getFilePath and fs.getFiles that do not use an options object
update dependencies
update mime-types
update dependencies
update dependencies
- add missing @magic/fs dependency
- update dependencies
update dependencies
update dependencies
getFiles: allow files to be filtered by extension, using the .extension key of the second parameter
update dependencies
update dependencies
update dependencies
update dependencies
- update dependencies
- getFiles and getDirectories now accept maxDepth and minDepth config args
- update dependencies
- remove deprecated getFiles and getDirectories api
- add minDepth option
- add tests for [...threedot_dirs]
- update dependencies
- add jsdoc types
- update dependencies
- fix import mapping from .mjs to .js
- update types
- fs.getDirectories maxDepth will be at least 2 if noRoot is set.
- update dependencies
- getFiles: options.root can be undefined, leading to correct depth calculations
- update dependencies
- update types
- update dependencies
- update dependencies
...