smartgulp/ts/smartgulp.gulpapi.ts

40 lines
1.1 KiB
TypeScript

// this file contains the implementation of the standard gulp api
import * as plugins from './smartgulp.plugins.js';
import { GulpStream } from './smartgulp.classes.gulpstream.js';
import { Transform } from 'stream';
import { Smartfile } from '@pushrocks/smartfile';
export let src = (minimatchPathArrayArg: string[]): Transform => {
let gulpStream = new GulpStream();
let handleFiles = async () => {
let smartfileArray: Smartfile[] = [];
for (let minimatchPath of minimatchPathArrayArg) {
let localSmartfileArray = await plugins.smartfile.fs.fileTreeToObject(
process.cwd(),
minimatchPath
);
smartfileArray = [...smartfileArray, ...localSmartfileArray];
}
gulpStream.pipeSmartfileArray(smartfileArray);
};
handleFiles().catch((err) => {
console.log(err);
});
return gulpStream.stream;
};
export let dest = (dirArg: string) => {};
export let replace = () => {
return plugins.through2.obj(
async (file: Smartfile, enc, cb) => {
await file.write();
cb(null, file);
},
(cb) => {
cb();
}
);
};