synchronous fs with more fun


Synchronous fs with more fun

This module is created for the favor of use of fs.xxxSync.

Once fs-sync is installed, you can use:

var fs = require('fs-sync');
    var pkg = fs.readJSON('package.json');
var fs = require('fs-sync');

Type: String

Default value: 'utf-8'

Global default encoding

fs.defaultEncoding = 'utf-8'

Copy a file or a whole directory to the destination. During this, necessary directories will be created.

fs.copy(file, destpath, options);
fs.copy(dir, destpath, options);

Type: String

Path of file to be copied

Type: String

Path of directory to be copied

Type: Boolean

Default value: false

By default, fs.copy will not override existed files, set options.force as true to override.

Commandline mkdir or mkdir -p

Like grunt.file.expand, but the sequence of the arguments is different

Type: Object

The same as the options argument of fs.writeFile

Read a file

Type: Object

The same as the options argument of fs.writeFile, except:

Type: String

Default value: fs.defaultEncoding

Read a file as the JSON format, if the file content fails to be parsed as JSON, an error will be thrown.

Delete a file or a whole directory. It's a dangerous action, be careful.

Equivalent to rm -rf(remove a folder and all its contents) or rm -f(unlink a file)


arguments will be called with path.join

Whether the given path is an absolute path (starting with '/')

if(fs.doesPathContain(ancestor, path, path2)){
    console.log(path, 'and', path2, 'are inside', ancestor);

Whether path ancestor contains all paths after

Ancestor path

The arguments of fs.doesPathContain could be more than 2.