denoify
Version:
For NPM module authors that would like to support Deno but do not want to write and maintain a port.
23 lines (17 loc) • 620 B
text/typescript
import * as fs from "fs";
import * as path from "path";
import { crawl } from "./crawl";
/** Copy file or directory. Works on windows.
* Non exsisting directories are created recursively
*/
export const fsCopy = (src: string, dest: string) => {
if (!fs.lstatSync(src).isDirectory()) {
fs.mkdirSync(path.dirname(dest), { "recursive": true });
fs.copyFileSync(src, dest);
return;
}
crawl(src).forEach(relativeFilePath => {
fs.mkdirSync(dest, { "recursive": true });
fs.copyFileSync(path.join(src, relativeFilePath), path.join(dest, relativeFilePath));
});
};