fs-utils
fs-utils copied to clipboard
Generalized file and path utils for Node.js projects.
fs-utils 
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
Return true if the file exists and is empty.
Params
filepath{String}returns{Boolean}
.isEmptyDir
Return true if the file exists and is empty.
Params
filepath{String}returns{Boolean}
.isDir
Return true 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
with glob.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 isutf8callback{Function}
.readYAML
Read a YAML file asynchronously and parse its contents as JSON.
Params
filepath{String}returns{Object}optionsreturns{Function}cb: Callback function
.readYAMLSync
Read a YAML file synchronously and parse its contents as JSON
Params
filepath{String}returns{Object}
.readJSON
Read JSON file asynchronously and parse contents as JSON
Params
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 the dest 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 the dest 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 last n segments of a filepath. If a number
isn't passed for n, the last segment is returned.
Params
filepath{String}returns{String}
.first
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}
.lastChar
Returns the last character in filepath
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 from a to `b.
Params
filepath{String}returns{String}
.isAbsolute
Return true if the path is absolute.
Params
- {[type]}: filepath
returns{Boolean}
.equivalent
Return true 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 Schlinkert
License
Copyright © 2015 Jon Schlinkert Released under the MIT license.
This file was generated by verb-cli on November 17, 2015.