Generalized file and path utils for Node.js projects.
fs extras and utilities to extend the node.js file system module. Used in Assemble and many other projects.
Install with npm
$ npm i fs-utils --save
var fs = require('fs-utils');
Strip carriage returns from a string.
Params
str
{String}
returns
{String}
Strip byte order marks from a string.
See BOM
Params
str
{String}
returns
{String}
Normalize all slashes to forward slashes.
Params
str
{String}
stripTrailing
{Boolean}: False by default.returns
{String}
Return true
if the file exists and is empty.
Params
filepath
{String}
returns
{Boolean}
Return true
if the file exists and is empty.
Params
filepath
{String}
returns
{Boolean}
Return true
if the filepath is a directory.
Params
filepath
{String}
returns
{Boolean}
True if the filepath is a symbolic link.
Params
filepath
{String}
returns
{Boolean}
Glob files using [matched]. Or glob files synchronously
with glob.sync
.
Params
patterns
{String|Array}
returns
{options}
Read a file synchronously. Also strips any byte order marks.
Params
filepath
{String}
returns
{String}
Read a file asynchronously.
Params
filepath
{String}
options
{Object}
normalize
{Boolean}: Strip carriage returns and BOM.encoding
{String}: Default is utf8
callback
{Function}
Read a YAML file asynchronously and parse its contents as JSON.
Params
filepath
{String}
returns
{Object} options
returns
{Function} cb
: Callback functionRead a YAML file synchronously and parse its contents as JSON
Params
filepath
{String}
returns
{Object}
Read JSON file asynchronously and parse contents as JSON
Params
filepath
{String}
callback
{Function}
returns
{Object}
Read a file synchronously and parse contents as JSON. marks.
Params
filepath
{String}
returns
{Object}
Read JSON or YAML utils.async. Determins the reader automatically based on file extension.
Params
filepath
{String}
options
{Object}
callback
{Function}
returns
{String}
Read JSON or utils.YAML. Determins the reader automatically based on file extension.
Params
filepath
{String}
options
{Object}
returns
{String}
Asynchronously write a file to disk.
Params
dest
{String}
content
{String}
callback
{Function}
Synchronously write files to disk, creating any intermediary directories if they don't exist.
Params
dest
{String}
str
{String}
options
{Options}
Synchronously write JSON to disk, creating any intermediary directories if they don't exist.
Params
dest
{String}
str
{String}
options
{Options}
Asynchronously write files to disk, creating any intermediary directories if they don't exist.
Params
dest
{String}
str
{String}
options
{Options}
Synchronously write YAML to disk, creating any intermediary directories if they don't exist.
Params
dest
{String}
str
{String}
options
{Options}
Aynchronously write YAML to disk, creating any intermediary directories if they don't exist.
Params
dest
{String}
str
{String}
options
{Options}
Synchronously write JSON or YAML to disk, creating any intermediary directories if they don't exist. Data type is determined by the dest
file extension.
Params
dest
{String}
str
{String}
options
{Options}
Example
writeDataSync('foo.yml', {foo: "bar"});
Asynchronously write JSON or YAML to disk, creating any intermediary directories if they don't exist. Data type is determined by the dest
file extension.
Params
dest
{String}
data
{String}
options
{Options}
cb
{Function}: Callback functionExample
writeData('foo.yml', {foo: "bar"});
Copy files synchronously;
Params
src
{String}
dest
{String}
Asynchronously remove dirs and child dirs that exist.
Params
dir
{String}
returns
{Function}
Delete folders and files recursively. Pass a callback as the last argument to use utils.async.
Params
patterns
{String}: Glob patterns to use.options
{Object}: Options for matched.cb
{Function}
Return the file extension.
Params
filepath
{String}
returns
{String}
Directory path excluding filename.
Params
filepath
{String}
returns
{String}
The last n
segments of a filepath. If a number
isn't passed for n
, the last segment is returned.
Params
filepath
{String}
returns
{String}
The first n
segments of a filepath. If a number
isn't passed for n
, the first segment is returned.
Params
filepath
{String}
returns
{String}
Returns the last character in filepath
Params
filepath
{String}
returns
{String}
Example
lastChar('foo/bar/baz/');
//=> '/'
Add a trailing slash to the filepath.
Note, this does not consult the file system to check if the filepath is file or a directory.
Params
filepath
{String}
returns
{String}
Normalize a filepath and remove trailing slashes.
Params
filepath
{String}
returns
{String}
Resolve the relative path from a
to `b.
Params
filepath
{String}
returns
{String}
Return true
if the path is absolute.
Params
returns
{Boolean}
Return true
if path a
is the same as path `b.
Params
filepath
{String}
a
{String}
b
{String}
returns
{Boolean}
True if descendant path(s) contained within ancestor path. Note: does not test if paths actually exist.
Sourced from [Grunt].
Params
ancestor
{String}: The starting path.returns
{Boolean}
True if a filepath is the CWD.
Sourced from [Grunt].
Params
filepath
{String}
returns
{Boolean}
True if a filepath is contained within the CWD.
Params
filepath
{String}
returns
{Boolean}
Install dev dependencies:
$ npm i -d && npm test
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Jon Schlinkert
Copyright © 2015 Jon Schlinkert Released under the MIT license.
This file was generated by verb-cli on November 17, 2015.