Как использовать gulp-flatmap?
У меня есть следующие две задачи глотка:
gulp.task('get-react-bundles', function () {
return gulp.src(projPaths["reactPath"] + '/build/**/*.js')
.pipe(gulp.dest(function (file) {
return projPaths[path.basename(file.path, '.js')].path + 'ReactBundles/';
}));
});
gulp.task('update-react-bundles', ['get-react-bundles'], function () {
gulp.src(projPaths["reactPath"] + '/build/**/*.js')
.pipe(through.obj(function (file, enc, done) {
console.log(file.relative);
var bundle = projPaths[path.basename(file.path, '.js')];
csprojUtils.ensureInItemGroup(bundle.csProj, 'ReactBundles/' + file.relative, { index: bundle.itmGrpIdx, type: 'Content' });
this.push(file);
done();
}));
});
Первая задача копирует файлы js в соответствующие папки на основе имен файлов. Вторая задача берет имена файлов из исходной папки и включает их в записи .csproj, куда они были скопированы.
through - это модуль through2, а csprojUtils - это модуль csproj-utils.
Ниже приводится переменная projPaths.
var projPaths = {
'js1': {
csProj: "../../../f1/f2/f2.csproj",
path: "../../../f1/f2/",
itmGrpIdx: 3
},
"reactPath": "./ReactUI/components"
};
У меня есть ощущение, что эти 2 задачи можно объединить с помощью gulp-flatmap, но поток gulp должен быть возвращен из flatmap, прежде чем я смогу выполнить команду csprojUtils, чтобы файл существовал в том месте, когда он добавляется в csproj.
Был бы признателен за любую помощь в этом. Пожалуйста, прости мои ошибки, это мой первый пост на stackru.
Благодарю.