Generalized file and path utils for Node.js projects.
MIT License
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.