Skip to content

Truemedia/stream-render-pipeline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stream render pipeline

File generation strategy for working with creating/modifying files using gulp

Installation

  npm i stream-render-pipeline

Usage

Creating a render pipeline (./pipes/text.js)

  const lazypipe = require('lazypipe');
  const gulpPlugins = require('auto-plug')('gulp');
  const File = require('stream-render-pipeline');
  module.exports = class TextFile extends File
  {
    construct(opts)
    {
      super(opts)
    }

    get render()
    {
      let {foo} = this.data;

      return lazypipe()
        .pipe(gulpPlugins.addSrc, this.tplPath(__dirname, '*.txt')) // Template file
        .pipe(gulpPlugins.template, {foo}); // Templating
    }
  }

Creating a generator function

  const {dest} = require('gulp');
  const inquirer = require('inquirer');
  const TextFile = require('./pipes/text');

  /**
    * Generate text file
    */
  module.exports = function text()
  {
    let defaults = {
      foo: 'bar'
    };
    return inquirer.prompt([
        // Questions
      ]).then(answers => {
        let build = {...defaults, ...answers};
        new TextFile(build).render().pipe( dest('./src') )
      });
  }

Running render pipeline

  gulp text

Structure

  • /pipes
  • /presets
  • /questions
  • /templates

About

File generation strategy for working with creating/modifying files using gulp

Resources

License

Stars

Watchers

Forks

Packages

No packages published