Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

gulp-intermediate

Package Overview
Dependencies
Maintainers
2
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gulp-intermediate

A gulp helper for tools that need files on disk.

  • 5.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
623
increased by149.2%
Maintainers
2
Weekly downloads
 
Created
Source

gulp-intermediate status Coverage Status dependencies

A gulp helper for tools that need files on disk.

Some tools require access to files on disk instead of working with stdin and stdout (e.g., Jekyll, Ruby Sass). gulp-intermediate is a convenience plugin that writes the current vinyl stream to a temporary directory, lets you run commands on the file system, and pushes the results back into the pipe.

NOTE: Writing intermediate files to disk is counter to the gulp philosophy. If possible, use a tool that works with streams. Use gulp-intermediate only if other (better) options aren't available.

Install

$ npm install --save-dev gulp-intermediate

Usage

var gulp = require('gulp');
var spawn = require('child-process').spawn;
var intermediate = require('gulp-intermediate');

gulp.task('default', function () {
  return gulp.src('app/**/*.jade')
    .pipe(intermediate({ output: '_site' }, function (tempDir, cb) {
      // Run a command on the files in tempDir and write the results to
      // the specified output directory.
      var command = spawn('a_command', ['--dest', '_site'], {cwd: tempDir});
      command.on('close', cb);
    }))
    .pipe(gulp.dest('dist'));
});

For more examples see recipes.md.

API

intermediate([options], [process])

options

Type: object
Optional

output

Type: string Default: '.'

The directory read back into the stream when processing is finished. Relative to tempDir.

container

Type: string
Default: random uuid

The directory that files are written to, relative to the operating system's temporary directry. Defaults to a unique random directory on every run.

The container is emptied before every run.

process(tempDir, cb, [fileProps])

Type: function
Optional

Run your commands inside the process callback. process comes with three arguments:

  • tempDir: The absolute path to the directory containing your temporary files. If using spawn you may want to set the cwd option to tempDir.
  • cb: A callback function to call when the processing is finished. It pushes the output files back into the gulp stream.
  • fileProps: An object with some information about the files that have been written to the temp directory.
    • fileProps.cwd: The original vinyl CWD.
Notes

The files are written to tempDir using the vinyl file object's relative path, just like gulp.dest() writes to the output directory. Make sure you understand how globbing works to avoid unexpected errors: for example, the files in gulp.src(['files/*.json', config.yml]) will all be output at the root of tempDir.

Consider passing the { base: '.' } option to glob.src if you need to output a src glob as it exists on disk. When in doubt, log tempDir to the console and open it to see what's going on.

License

MIT © Rob Wierzbowski

Keywords

FAQs

Package last updated on 09 Oct 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc