@medusajs/utils
Version:
Medusa utilities functions shared by Medusa core and Modules
46 lines • 1.49 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.readDir = readDir;
exports.readDirRecursive = readDirRecursive;
const promises_1 = require("fs/promises");
const path_1 = require("path");
const MISSING_NODE_ERRORS = ["ENOTDIR", "ENOENT"];
async function readDir(dir, options) {
try {
const entries = await (0, promises_1.readdir)(dir, { withFileTypes: true });
return entries;
}
catch (error) {
if (options?.ignoreMissing && MISSING_NODE_ERRORS.includes(error.code)) {
return [];
}
throw error;
}
}
async function readDirRecursive(dir, options) {
let allEntries = [];
const readRecursive = async (dir) => {
try {
const entries = await (0, promises_1.readdir)(dir, { withFileTypes: true });
for (const entry of entries) {
const fullPath = (0, path_1.join)(dir, entry.name);
Object.defineProperty(entry, "path", {
value: dir,
});
allEntries.push(entry);
if (entry.isDirectory()) {
await readRecursive(fullPath);
}
}
}
catch (error) {
if (options?.ignoreMissing && error.code === "ENOENT") {
return;
}
throw error;
}
};
await readRecursive(dir);
return allEntries;
}
//# sourceMappingURL=read-dir-recursive.js.map
;