Reputation: 1884
I'm trying to create an index of all file(path)s within a given folder. So far I worked with gulp.src(filePath)
to achieve that. According to this blog post, it should work:
gulp.src(files) is a string or array containing the file(s) / file paths.
My current code:
gulp.task("createFileIndex", function(){
var index = gulp.src(['./content/**/*.*']);
console.log("INDEX:", index[0]);
});
By outputing the returned values of gulp.src()
with index[0]
I get undefined
and the whole index
outputs only a large dictionary without any filepaths.
Upvotes: 20
Views: 34924
Reputation: 73
Or you can use native Node.js function readdirSync
const fs = require('fs');
const syncImgFolder = (done) => {
const files = fs.readdirSync('/path/');
}
Upvotes: 0
Reputation: 2175
You can do the following in gulp 4 :
gulp.src(['./lib/file3.js', './lib/file1.js', './lib/file2.js'])
Upvotes: -2
Reputation: 180885
If all you want is the array of filenames from a glob (like gulp.src) use:
const glob = require('glob');
const fileArray = glob.sync('./content/**/*.*');
Upvotes: 5
Reputation: 71
var through = require('through2');
gulp.task('getFileList', function () {
var fileList = [];
gulp.src(['./someFolder/**/*.ext', '!./someFolder/unwantedFolder/**/*'])
.pipe(through.obj(function (file, enc, cb) {
fileList.push(file.path);
cb(null);
}))
.pipe(gulp.dest('./temp/'))
.on ('end', function () {
console.log(fileList);
});
});
Upvotes: 7
Reputation: 259
The current solution is:
var gulp = require('gulp');
var debug = require('gulp-debug');
gulp.src(sources)
.pipe(debug());
Upvotes: 14
Reputation: 5005
As the OP stated in a comment, a simple solution to this problem would be to use fs.readdirSync
instead of gulp.src
:
fs = require("fs");
fs.readdirSync(directoryPath); // ["file1", "file2"]
Upvotes: 9
Reputation: 222
According to the gulp documentation on gulp.src (https://github.com/gulpjs/gulp/blob/master/docs/API.md#gulpsrcglobs-options)
gulp.src(globs[, options])
Emits files matching provided glob or an array of globs. Returns a stream of Vinyl files that can be piped to plugins.
gulp.src('client/templates/*.jade') .pipe(jade()) .pipe(minify()) .pipe(gulp.dest('build/minified_templates'));
glob refers to node-glob syntax or it can be a direct file path.
globs
Type: String or Array
Glob or array of globs to read.
options
Type: Object
Options to pass to node-glob through glob-stream.
gulp adds some additional options in addition to the options supported by node-glob and glob-stream
So it seems you need to look in further on this. Otherwise this maybe helpful Get the current file name in gulp.src()
Upvotes: 4