JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 20
  • Score
    100M100P100Q39321F
  • License MIT

Base plugin for creating file trees using archy. Requires the base-fs plugin, but can also be used as a gulp plugin.

Package Exports

  • base-fs-tree

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (base-fs-tree) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

base-fs-tree NPM version NPM downloads Build Status

Base plugin for creating file trees using archy. Requires the base-fs plugin, but can also be used as a gulp plugin.

Install

Install with npm:

$ npm install --save base-fs-tree

Usage

var tree = require('base-fs-tree');

gulp plugin example

The following examples will work with base-fs, gulp, verb, assemble, generate, update or any other application that supports vinyl streams.

var tree = require('base-fs-tree');
var gulp = require('gulp');

gulp.task('default', function(cb) {
  return gulp.src('some-files/**/*.*')
    .pipe(tree.create())
    .pipe(gulp.dest('trees'))
});

Get files before they're modified

If you want to create a tree from the original unmodified source file paths, use .capture() first thing in the stream:

var tree = require('base-fs-tree');
var gulp = require('gulp');

gulp.task('default', function(cb) {
  return gulp.src('some-files/**/*.*')
    .pipe(tree.capture()) //<= capture files

    // gulp plugin pipeline
    .pipe(otherPlugins())
    .pipe(gulp.dest('dist')) 

    .pipe(tree.create()) //<= create tree
    .pipe(gulp.dest('trees'))
});

Command line tips

You can conditionally generate trees using a command line flag, like --tree.

var tree = require('base-fs-tree');
var gulp = require('gulp');
var argv = require('yargs-parser')(process.argv.slice(2), {
  default: {tree: false}
});

gulp.task('default', function(cb) {
  return gulp.src('some-files/**/*.*')
    .pipe(tree.create(argv))
    .pipe(gulp.dest('trees'))
});

base plugin example

This can also be used as a non-pipeline plugin with base applications. It works by adding .preWrite middleware and a taskEnd listener, so that anytime taskEnd is emitted, a tree will be automatically generates.

This can be useful when you want to automatically generate trees for all tasks in a generate generator, for example.

var tree = require('base-fs-tree');
var vfs = require('base-fs');
var Base = require('base');
var base = new Base();
base.use(vfs());
base.use(tree());

app.task('default', function(cb) {
  app.src('some-files/**/*.*')
    .pipe(app.dest('trees'))
    .on('end', function() {
      // emit `taskEnd` with the name of the task
      app.emit('taskEnd', 'default');
      cb();
    });
});

About

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Building docs

(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)

To generate the readme and API documentation with verb:

$ npm install -g verb verb-generate-readme && verb

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Jon Schlinkert

License

Copyright © 2016, Jon Schlinkert. Released under the MIT license.


This file was generated by verb-generate-readme, v0.1.30, on August 09, 2016.