Skip to content

jonschlinkert/fs-utils

Repository files navigation

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

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 function

Read 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 function

Example

writeData('foo.yml', {foo: "bar"});

Copy files synchronously;

Params

  • src {String}
  • dest {String}

Asynchronously remove dirs and child dirs that exist.

Params

  • dir {String}
  • {Function}: `cb
  • 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

  • {[type]}: filepath
  • 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}

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.

About

Generalized file and path utils for Node.js projects.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •