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

gulpstream

v0.3.8

Published

Modular Gulp

Downloads

9

Readme

gulpstream

Modular Gulp

Purpose

GulpStream encapsulates GulpGlob, PolyPipe and GulpDest.

It is used to create/recall any such triplet in a unique manner as Streamer, thus making it easy to create and recycle common Gulp pipelines.

Creating

The GulpStream constructor expects to receive special arrays, one per mode.

Each array is preprocessed to extract relevant information to infer the mode name and to construct the GulpGlob, GulpDest and PolyPipe objects.

  • mode: Using the first string element or 'default'.
  • glob: Merging all GulpGlob's, SimpleGulpGlob's and {glob} elements, glob being a string or an array of strings as valid file paths or patterns.
  • dest: One per mode, either a GulpDest, a SimpleGulpDest or {dest}. The first mode to have one defined imposes its dest to all modes that have none.
  • pipe: Merging all PolyPipe's, MonoPipe's and {pipe} elements in sequence, pipe being an array of arrays of gulp plugins and their arguments, as in [[newer, 'tmp'], [babel], [debug]]. Shorthands will work when there are no arguments for plugins: babel or [babel] or [[babel]] will all work, as well as [babel, debug]. But [newer, 'tmp'] won't. It must be [[newer, 'tmp']].
import GulpStream from 'gulpstream';
import GulpGlob from 'gulpglob';
import GulpDest from 'gulpdest';
import PolyPipe from 'polypipe';
import babel from 'gulp-babel';

const glob = 'src/*.js';
const dest = 'build';
const pipe = [babel];

const g1 = new GulpStream(
  [{glob, dest}],
  ['transpile', {glob, dest, pipe}]
);

Mode

As a Polyton, a GulpStream actually encapsulates several Streamer's. This allows to switch dynamically between pipelines and dests while keeping the same source.

Passing a string as one of the Streamer initial arguments is understood to be a mode name.

Method setMode(mode) allows to change mode. Mode is changed implicitly is you pass {mode} to one of src(options), stream(options) or dest(options).

License

gulpstream is MIT licensed.

© 2016-2018 Jason Lenoble