Have ideas to improve npm?Join in the discussion! »

    glob-stream
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/glob-stream package

    6.1.0 • Public • Published

    glob-stream

    NPM version Downloads Build Status AppVeyor Build Status Coveralls Status Gitter chat

    A Readable Stream interface over node-glob.

    Usage

    var gs = require('glob-stream');
     
    var readable = gs('./files/**/*.coffee', { /* options */ });
     
    var writable = /* your WriteableStream */
     
    readable.pipe(writable);

    You can pass any combination of glob strings. One caveat is that you cannot only pass a negative glob, you must give it at least one positive glob so it knows where to start. If given a non-glob path (also referred to as a singular glob), only one file will be emitted. If given a singular glob and no files match, an error is emitted (see also options.allowEmpty).

    API

    globStream(globs, options)

    Takes a glob string or an array of glob strings as the first argument and an options object as the second. Returns a stream of objects that contain cwd, base and path properties.

    Options

    options.allowEmpty

    Whether or not to error upon an empty singular glob.

    Type: Boolean

    Default: false (error upon no match)

    options.dot

    Whether or not to treat dotfiles as regular files. This is passed through to node-glob.

    Type: Boolean

    Default: false

    options.silent

    Whether or not to suppress warnings on stderr from node-glob. This is passed through to node-glob.

    Type: Boolean

    Default: true

    options.cwd

    The current working directory that the glob is resolved against.

    Type: String

    Default: process.cwd()

    options.root

    The root path that the glob is resolved against.

    Note: This is never passed to node-glob because it is pre-resolved against your paths.

    Type: String

    Default: undefined (use the filesystem root)

    options.base

    The absolute segment of the glob path that isn't a glob. This value is attached to each glob object and is useful for relative pathing.

    Type: String

    Default: The absolute path segement before a glob starts (see glob-parent)

    options.cwdbase

    Whether or not the cwd and base should be the same.

    Type: Boolean

    Default: false

    options.uniqueBy

    Filters stream to remove duplicates based on the string property name or the result of function. When using a function, the function receives the streamed data (objects containing cwd, base, path properties) to compare against.

    Type: String or Function

    Default: 'path'

    other

    Any glob-related options are documented in node-glob. Those options are forwarded verbatim, with the exception of root and ignore. root is pre-resolved and ignore is joined with all negative globs.

    Globbing & Negation

    var stream = gs(['./**/*.js', '!./node_modules/**/*']);

    Globs are executed in order, so negations should follow positive globs. For example:

    The following would not exclude any files:

    gs(['!b*.js', '*.js'])

    However, this would exclude all files that started with b:

    gs(['*.js', '!b*.js'])

    License

    MIT

    Install

    npm i glob-stream

    DownloadsWeekly Downloads

    1,815,460

    Version

    6.1.0

    License

    MIT

    Last publish

    Collaborators

    • avatar
    • avatar