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

vinyl-fs-that-respects-files

v1.0.2

Published

Vinyl adapter for the file system

Downloads

23

Readme

vinyl-fs NPM version Build Status Coveralls Status Dependency Status

Information

Usage

var map = require('map-stream');
var fs = require('vinyl-fs');

var log = function(file, cb) {
  console.log(file.path);
  cb(null, file);
};

fs.src(['./js/**/*.js', '!./js/vendor/*.js'])
  .pipe(map(log))
  .pipe(fs.dest('./output'));

API

src(globs[, opt])

  • Takes a glob string or an array of glob strings as the first argument.
  • Globs are executed in order, so negations should follow positive globs. For example:
fs.src(['!b*.js', '*.js'])

would not exclude any files, but this would

fs.src(['*.js', '!b*.js'])
  • Possible options for the second argument:
    • cwd - Specify the working directory the folder is relative to.
      • Default is process.cwd().
    • base - Specify the folder relative to the cwd. This is used to determine the file names when saving in .dest().
      • Default is where the glob begins if any.
      • Default is process.cwd() if there is no glob.
    • buffer - true or false if you want to buffer the file.
      • Default value is true.
      • false will make file.contents a paused Stream.
    • read - true or false if you want the file to be read or not. Useful for stuff like rming files.
      • Default value is true.
      • false will disable writing the file to disk via .dest().
    • since - Date or number if you only want files that have been modified since the time specified.
    • passthrough - true or false if you want a duplex stream which passes items through and emits globbed files.
      • Default is false.
    • sourcemaps - true or false if you want files to have sourcemaps enabled.
      • Default is false.
    • Any glob-related options are documented in glob-stream and node-glob.
  • Returns a Readable stream by default, or a Duplex stream if the passthrough option is set to true.
  • This stream emits matching vinyl File objects.

Note: UTF-8 BOM will be stripped from all files read with .src.

watch(globs[, opt, cb])

This is just glob-watcher.

  • Takes a glob string or an array of glob strings as the first argument.
  • Possible options for the second argument:
    • Any options are passed to gaze.
  • Returns an EventEmitter.
    • 'changed' event is emitted on each file change.
  • Optionally calls the callback on each change event.

dest(folder[, opt])

  • Takes a folder path as the first argument.
  • First argument can also be a function that takes in a file and returns a folder path.
  • Possible options for the second argument:
    • cwd - Specify the working directory the folder is relative to.
      • Default is process.cwd().
    • base - Specify the folder relative to the cwd. This is used to determine the file names when saving in .dest().
      • Default is the cwd resolves to the folder path.
      • Can also be a function that takes in a file and returns a folder path.
    • mode - Specify the mode the files should be created with.
      • Default is the mode of the input file (file.stat.mode) if any.
      • Default is the process mode if the input file has no mode property.
    • dirMode - Specify the mode the directory should be created with.
      • Default is the process mode.
    • overwrite - Specify if existing files with the same path should be overwritten or not.
      • Default is true, to always overwrite existing files.
  • Returns a Readable/Writable stream.
  • On write the stream will save the vinyl File to disk at the folder/cwd specified.
  • After writing the file to disk, it will be emitted from the stream so you can keep piping these around.
  • The file will be modified after being written to this stream:
    • cwd, base, and path will be overwritten to match the folder.
    • stat.mode will be overwritten if you used a mode parameter.
    • contents will have it's position reset to the beginning if it is a stream.

symlink(folder[, opt])

  • Takes a folder path as the first argument.
  • First argument can also be a function that takes in a file and returns a folder path.
  • Possible options for the second argument:
    • cwd - Specify the working directory the folder is relative to.
      • Default is process.cwd().
    • base - Specify the folder relative to the cwd. This is used to determine the file names when saving in .dest().
      • Default is the cwd resolves to the folder path.
      • Can also be a function that takes in a file and returns a folder path.
    • dirMode - Specify the mode the directory should be created with.
      • Default is the process mode.
  • Returns a Readable/Writable stream.
  • On write the stream will create a symbolic link (i.e. symlink) on disk at the folder/cwd specified.
  • After creating the symbolic link, it will be emitted from the stream so you can keep piping these around.
  • The file will be modified after being written to this stream:
    • cwd, base, and path will be overwritten to match the folder.