xl-fs
v1.0.4
Published
Simple fs module for node.js
Downloads
1
Readme
A simple sync fs module for node. (Usually used in frontend scripts).
Purpose
- All methods are synchronized.
- All methods are enforced, that means if the path is not exist, it will create it automatically.
Usage
const xfs = require('xl-fs');
Basic API
read
readFile(filename)
Read file content as string.
const stringContent = xfs.readFile('path/to/new.js')
// hello world
readDir(dirname)
Read the list of subfiles. Unlike node:fs, it concatenates the parent path.
const filePathList = xfs.readDir('path/to')
// ['path/to/new1.js', 'path/to/new2.js']
write
xfs.write('path/to/new.js', 'hello world')
create
createFile
Create a file, if the parent path is not exist, this operation will create it automatically.
xfs.createFile('path/to/new.js')
createDir
Create a direction, if the parent path is not exist, this operation will create it automatically.
xfs.createDir('path/to/dir')
remove
remove
- Remove a file or a direction.
- Remove file list or direction list.
const filename = 'path/to/old.js'
remove(filename)
const dirname = 'path/to/dir'
remove(dirname)
judge
isFile
Determine if a path is a file.
xfs.isFile('path/to/new.js')
// true
xfs.isFile('path/to/dir')
// false
isDir
Determine if a path is a folder.
xfs.isDir('path/to/new.js')
// false
xfs.isDir('path/to/dir')
// true
isExist
Determine if a path is exist.
xfs.isDir('path/to/new.js')
// true
xfs.isDir('path/to/dir')
// true
xfs.isDir('path/to/dir2')
// false
copy
copy
copy a file, or recursively copy a folder, you can choose whether to delete it before copying.
/** copy file */
xfs.copy('path/to/new.js', 'path/to/new1.js')
/** copy folder */
const cleanBeforeCopy = true;
xfs.copy('path/to/dir.js', 'path/to/dir2.js', cleanBeforeCopy)
Advanced API
create
createFiles
const filenames = ['path/to/new.js', 'path/to/new.css']
createFiles(filenames)
json
changeJson
// path/to/test.json
{
"a": {
"b": [
{ "c": 1 },
{ "c": 2 },
]
}
}
// if you want to change the first "c" to 2
xfs.changeJson('path/to/test.json', 'a.b.0.c', 2);
// if you want to double the second "c".
xfs.changeJson('path/to/test.json', 'a.b.1.c', (value) => value * 2);