Take, for example, browserify. There are the
gulpify plugins, which you can use in
combination with gulp to get browserify working in your build. Unfortunately,
these plugins come with additional overhead: an extra GitHub repository, npm
module, maintainer, tests, semantics, etc. It's much simpler
in this case to use the original module directly where you can, which is what
vinyl-source-stream handles for you.
Our previous example, browserify, has a streaming API for its output bundles
which you can use directly. This module is just a bridge that makes it
simple to use conventional text streams such as this in combination with gulp.
Here's an example of using
browserify, compared to
var source =var streamify =var browserify =var uglify =var gulpify =var rename =var gulp =// using gulpify:gulp// using vinyl-source-stream:gulp
Not all that different, really! The nice thing here is that you're getting the up-to-date browserify API and don't have to worry about the plugin's available functionality. Of course, these same benefits apply for any readable text stream you can find on npm.
stream = sourceStream([filename])
Creates a through stream which takes text as input, and emits a single vinyl file instance for streams down the pipeline to consume.
filename is a "pretend" filename to use for your file, which some streams
might use to determine various factors such as the final filename of your file.
It should be a string, and though recommended, using this argument is optional.
MIT. See LICENSE.md for details.