UNPKG

@denz93/vendure-plugin-simple-auth

Version:

Allow customers login using email and verification code (One time login)

45 lines 1.95 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isFile = exports.isDir = exports.copyDir = void 0; const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); function copyDir(src, dest, { overwrite = false } = {}) { if (!isDir(dest)) throw new Error(`Dest "${dest}" is not a directory`); if (!fs_1.default.existsSync(src)) throw new Error(`Src "${src}" not exist`); if (isFile(src) && (overwrite || !fs_1.default.existsSync(path_1.default.join(dest, path_1.default.basename(src))))) { fs_1.default.copyFileSync(src, path_1.default.join(dest, path_1.default.basename(src))); return; } const stack = [path_1.default.basename(src)]; const srcParent = path_1.default.dirname(src); while (stack.length > 0) { const relativePath = stack.pop(); const absPathSrc = path_1.default.join(srcParent, relativePath); const absPathDest = path_1.default.join(dest, relativePath); if (isFile(absPathSrc)) { if (isFile(absPathDest) && !overwrite) continue; fs_1.default.copyFileSync(absPathSrc, absPathDest); continue; } // absPathSrc is dir !isDir(absPathDest) && fs_1.default.mkdirSync(absPathDest); const subDirs = fs_1.default.readdirSync(absPathSrc); stack.push(...subDirs.map(sub => path_1.default.join(relativePath, sub))); } } exports.copyDir = copyDir; function isDir(dest) { return fs_1.default.existsSync(dest) && fs_1.default.lstatSync(dest).isDirectory(); } exports.isDir = isDir; function isFile(src) { return fs_1.default.existsSync(src) && fs_1.default.lstatSync(src).isFile(); } exports.isFile = isFile; //# sourceMappingURL=copy-dir.js.map