diff --git a/vinyl-paths/vinyl-paths-tests.ts b/vinyl-paths/vinyl-paths-tests.ts new file mode 100644 index 0000000000..e369dcb645 --- /dev/null +++ b/vinyl-paths/vinyl-paths-tests.ts @@ -0,0 +1,26 @@ +/// +/// +/// + +import gulp = require('gulp'); +import del = require('del'); +import paths = require('vinyl-paths'); + +gulp.task('delete', function () { + return gulp.src('app/*') + .pipe(paths(del)); +}); + +// or if you need to use the paths after the pipeline +gulp.task('delete2', function (cb: Function) { + var vp = paths(); + + gulp.src('app/*') + .pipe(vp) + .pipe(gulp.dest('dist')) + .on('end', function () { + del(vp.paths, cb); + }); +}); + + diff --git a/vinyl-paths/vinyl-paths.d.ts b/vinyl-paths/vinyl-paths.d.ts new file mode 100644 index 0000000000..681601eb9f --- /dev/null +++ b/vinyl-paths/vinyl-paths.d.ts @@ -0,0 +1,32 @@ +// Type definitions for vinyl-paths +// Project: https://github.com/sindresorhus/vinyl-paths +// Definitions by: Qubo +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare module "vinyl-paths" { + + namespace paths { + interface Paths extends NodeJS.ReadWriteStream { + paths: string[]; + } + + interface PathsStatic { + /** + * Use the file paths from a gulp pipeline in vanilla node module + * @param callback The optionally supplied callback will get a file path for every file and is expected + * to call the callback when done. An array of the file paths so far is available as a paths property + * on the stream. + */ + (callback?: Callback): Paths; + } + + interface Callback { + //TODO: Function is gulp.ITaskCallback, which is currently invisible + (path: string, callback: Function): any; + } + } + + var paths: paths.PathsStatic; + export = paths; +} +