fs-utils

0.7.0 • Public • Published

fs-utils NPM version

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 is utf8
  • 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 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

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.

Package Sidebar

Install

npm i fs-utils

Weekly Downloads

47,949

Version

0.7.0

License

MIT

Last publish

Collaborators

  • jonschlinkert
  • doowb