UNPKG

@visulima/fs

Version:

Human friendly file system utilities for Node.js

21 lines (18 loc) 1.07 kB
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 };