@visulima/fs
Version:
Human friendly file system utilities for Node.js
21 lines (18 loc) • 1.07 kB
JavaScript
var __defProp$1 = Object.defineProperty;
var __name$1 = (target, value) => __defProp$1(target, "name", { value, configurable: true });
const globToRegExp = /* @__PURE__ */ __name$1((glob) => {
const reString = glob.replace(/\.\*/g, ".([^/]*)").replace(/\*\*/g, "(.*)").replace(/(?<!\.)\*(?!\*)/g, "([^/]*)").replace(/\?/g, "[^/]").replace(/\.(?!\*)/g, "\\.").replace(/\{/g, "(").replace(/\}/g, ")").replace(/,/g, "|").replace(/\[!(.*?)\]/g, "[^$1]");
return new RegExp(`^${reString}$`);
}, "globToRegExp");
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
const walkInclude = /* @__PURE__ */ __name((path, extensions, match, skip) => {
if (Array.isArray(extensions) && extensions.length > 0 && !extensions.some((extension) => path.endsWith(extension))) {
return false;
}
if (match && !match.some((pattern) => pattern.test(path))) {
return false;
}
return !skip?.some((pattern) => pattern.test(path));
}, "walkInclude");
export { globToRegExp as g, walkInclude as w };