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
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();
});
});