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

unified-engine-gulp

v11.0.0

Published

unified engine to create a Gulp plugin from a processor

Downloads

102

Readme

unified-engine-gulp

Build Coverage Downloads Sponsors Backers Chat

unified engine to create a Gulp plugin from a unified processor.

Contents

What is this?

This package wraps unified-engine so that it can be used to create a Gulp plugin. It’s what you use underneath when you use gulp-remark.

When should I use this?

You can use this to let users process files from a gulp plugin, letting them configure from the file system.

Install

This package is ESM only. In Node.js (version 16+), install with npm:

npm install unified-engine-gulp

Use

import {remark} from 'remark'
import {engineGulp} from 'unified-engine-gulp'

export const gulpRemark = engineGulp({
  ignoreName: '.remarkignore',
  name: 'gulp-remark',
  packageField: 'remarkConfig',
  pluginPrefix: 'remark',
  processor: remark,
  rcName: '.remarkrc'
})

API

This package exports the identifier engineGulp. There is no default export.

engineGulp(options)

Create a Gulp plugin.

👉 Note: see writing a Gulp plugin for more info.

Parameters
  • options (Options, required]) — configuration
Returns

Gulp plugin, which can be called with options (same as Options but w/o name or processor) and returns a through2 stream accepting Vinyl files (FileStream).

FileStream

File stream (TypeScript type).

Streaming vinyl files are not supported. Read more about why in Gulp’s docs (point 10).

There’s also a fileStream.use() function, which is like unified.use(), in that it accepts a plugin and configuration or a preset. It returns the operated on fileStream.

Type
import type {Transform} from 'node:stream'

type FileStream = Transform & {use: Use}

type Use = (...values: unknown[]) => FileStream

Options

Configuration (TypeScript type).

Type
import type {EngineOptions} from 'unified-engine'

type Options = {name: string} & Omit<
  EngineOptions,
  | 'alwaysStringify'
  | 'cwd'
  | 'extensions'
  | 'files'
  | 'out'
  | 'output'
  | 'plugins'
  | 'silentlyIgnore'
  | 'streamIn'
  | 'streamOut'
>

Debugging

The engine can be debugged by setting the DEBUG environment variable to *, such as DEBUG="*" gulp ….

Types

This package is fully typed with TypeScript. It exports the additional types FileStream and Options.

Compatibility

Projects maintained by the unified collective are compatible with maintained versions of Node.js.

When we cut a new major release, we drop support for unmaintained versions of Node. This means we try to keep the current release line, unified-engine-gulp@^11, compatible with Node.js 16.

Security

unified-engine-gulp loads and evaluates configuration files, plugins, and presets from the file system (often from node_modules/). That means code that is on your file system runs. Make sure you trust the workspace where you run unified-engine-gulp and be careful with packages from npm and changes made by contributors.

Contribute

See contributing.md in unifiedjs/.github for ways to get started. See support.md for ways to get help.

This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.

License

MIT © Titus Wormer