fs extras and utilities to extend the node.js file system module. Used in Assemble and many other projects.
Install
Install with npm$ npm i fs-utils --save
Usage
var fs = require('fs-utils');
API
.stripCR
Strip carriage returns from a string.Params
str
{String}returns
{String}
.stripBOM
Strip byte order marks from a string.See BOM
Params
str
{String}returns
{String}
.slashify
Normalize all slashes to forward slashes.Params
str
{String}stripTrailing
{Boolean}: False by default.returns
{String}
.isEmptyFile
Returntrue
if the file exists and is empty.Params
filepath
{String}returns
{Boolean}
.isEmptyDir
Returntrue
if the file exists and is empty.Params
filepath
{String}returns
{Boolean}
.isDir
Returntrue
if the filepath is a directory.Params
filepath
{String}returns
{Boolean}
.isLink
True if the filepath is a symbolic link.Params
filepath
{String}returns
{Boolean}
.glob
Glob files using matched. Or glob files synchronously withglob.sync
.Params
patterns
{String|Array}returns
{options}
.readFileSync
Read a file synchronously. Also strips any byte order marks.Params
filepath
{String}returns
{String}
readFile
Read a file asynchronously.Params
filepath
{String}options
{Object}normalize
{Boolean}: Strip carriage returns and BOM.encoding
{String}: Default isutf8
callback
{Function}
.readYAML
Read a YAML file asynchronously and parse its contents as JSON.Params
filepath
{String}returns
{Object}options
returns
{Function}cb
: Callback function
.readYAMLSync
Read a YAML file synchronously and parse its contents as JSONParams
filepath
{String}returns
{Object}
.readJSON
Read JSON file asynchronously and parse contents as JSONParams
filepath
{String}callback
{Function}returns
{Object}
.readJSONSync
Read a file synchronously and parse contents as JSON. marks.Params
filepath
{String}returns
{Object}
.readData
Read JSON or YAML utils.async. Determins the reader automatically based on file extension.Params
filepath
{String}options
{Object}callback
{Function}returns
{String}
.readDataSync
Read JSON or utils.YAML. Determins the reader automatically based on file extension.Params
filepath
{String}options
{Object}returns
{String}
.writeFile
Asynchronously write a file to disk.Params
dest
{String}content
{String}callback
{Function}
.writeFileSync
Synchronously write files to disk, creating any intermediary directories if they don't exist.Params
dest
{String}str
{String}options
{Options}
.writeJSONSync
Synchronously write JSON to disk, creating any intermediary directories if they don't exist.Params
dest
{String}str
{String}options
{Options}
.writeJSON
Asynchronously write files to disk, creating any intermediary directories if they don't exist.Params
dest
{String}str
{String}options
{Options}
.writeYAMLSync
Synchronously write YAML to disk, creating any intermediary directories if they don't exist.Params
dest
{String}str
{String}options
{Options}
.writeYAML
Aynchronously write YAML to disk, creating any intermediary directories if they don't exist.Params
dest
{String}str
{String}options
{Options}
.writeDataSync
Synchronously write JSON or YAML to disk, creating any intermediary directories if they don't exist. Data type is determined by thedest
file extension.Params
dest
{String}str
{String}options
{Options}
Example
writeDataSync('foo.yml', {foo: "bar"});
.writeData
Asynchronously write JSON or YAML to disk, creating any intermediary directories if they don't exist. Data type is determined by thedest
file extension.Params
dest
{String}data
{String}options
{Options}cb
{Function}: Callback function
Example
writeData('foo.yml', {foo: "bar"});
.copyFileSync
Copy files synchronously;Params
src
{String}dest
{String}
.rmdir
Asynchronously remove dirs and child dirs that exist.Params
dir
{String}- {Function}: `cb
returns
{Function}
.del
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}
.ext
Return the file extension.Params
filepath
{String}returns
{String}
.dirname
Directory path excluding filename.Params
filepath
{String}returns
{String}
.last
The lastn
segments of a filepath. If a number
isn't passed for n
, the last segment is returned.Params
filepath
{String}returns
{String}
.first
The firstn
segments of a filepath. If a number
isn't passed for n
, the first segment is returned.Params
filepath
{String}returns
{String}
.lastChar
Returns the last character infilepath
Params
filepath
{String}returns
{String}
Example
lastChar('foo/bar/baz/');
//=> '/'
.addSlash
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}
.normalizePath
Normalize a filepath and remove trailing slashes.Params
filepath
{String}returns
{String}
.relative
Resolve the relative path froma
to `b.Params
filepath
{String}returns
{String}
.isAbsolute
Returntrue
if the path is absolute.Params
- {type}: filepath
returns
{Boolean}
.equivalent
Returntrue
if path a
is the same as path `b.Params
filepath
{String}a
{String}b
{String}returns
{Boolean}
.doesPathContain
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}
.isPathCwd
True if a filepath is the CWD.Sourced from Grunt.
Params
filepath
{String}returns
{Boolean}
.isPathInCwd
True if a filepath is contained within the CWD.Params
filepath
{String}returns
{Boolean}
Related projects
- read-data: Read JSON or YAML files. | homepage
- read-yaml: Very thin wrapper around js-yaml for directly reading in YAML files. | homepage
- write-data: Write a YAML or JSON file to disk. Automatically detects the format to write based… more | homepage
- write-json: Write a JSON file to disk, also creates intermediate directories in the destination path if… more | homepage
- write-yaml: Write YAML. Converts JSON to YAML writes it to the specified file. | homepage
Running tests
Install dev dependencies:$ npm i -d && npm test
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.Author
Jon SchlinkertLicense
Copyright © 2015 Jon Schlinkert Released under the MIT license.This file was generated by verb-cli on November 17, 2015.