npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

fs-utils

v0.7.0

Published

fs extras and utilities to extend the node.js file system module. Used in Assemble and many other projects.

Downloads

211,122

Readme

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.