1.0.4 • Published 1 year ago

xl-fs v1.0.4

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

A simple sync fs module for node. (Usually used in frontend scripts).

Purpose

  1. All methods are synchronized.
  2. 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

  1. Remove a file or a direction.
  2. 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);
1.0.4

1 year ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago