{"version":3,"sources":["../src/glob.ts"],"sourcesContent":["import { type Stats, statSync } from 'node:fs'\nimport { join, relative, resolve } from 'node:path'\nimport picomatch from 'picomatch'\n\nexport function createIgnore(_root: string, pattern: string | string[] = []) {\n const paths = Array.isArray(pattern) ? pattern : [pattern]\n const root = _root.replace(/\\\\/g, '/')\n\n const globs = paths\n .flatMap((f) => {\n const resolvedPath = resolve(root, f)\n const relativePath = relative(root, resolvedPath).replace(/\\\\/g, '/')\n try {\n const isDirectory =\n !relativePath.includes('*') && statSync(resolvedPath).isDirectory()\n if (isDirectory) {\n return [relativePath, join(relativePath, '**/*').replace(/\\\\/g, '/')]\n }\n } catch {}\n return [relativePath]\n })\n .filter(Boolean)\n\n const matcher = picomatch(globs)\n\n return (path: string, _stats?: Stats) => {\n if (path.includes('node_modules')) {\n return true\n }\n const relativePath = relative(root, path).replace(/\\\\/g, '/')\n try {\n return (\n !!relativePath &&\n !matcher(relativePath) &&\n !(_stats ?? statSync(path)).isDirectory()\n )\n } catch {\n // do not ignore files that have been deleted as the watcher is iterating on them\n return false\n }\n }\n}\n"],"mappings":"AAAA,SAAqB,gBAAgB;AACrC,SAAS,MAAM,UAAU,eAAe;AACxC,OAAO,eAAe;AAEf,SAAS,aAAa,OAAe,UAA6B,CAAC,GAAG;AAC3E,QAAM,QAAQ,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,OAAO;AACzD,QAAM,OAAO,MAAM,QAAQ,OAAO,GAAG;AAErC,QAAM,QAAQ,MACX,QAAQ,CAAC,MAAM;AACd,UAAM,eAAe,QAAQ,MAAM,CAAC;AACpC,UAAM,eAAe,SAAS,MAAM,YAAY,EAAE,QAAQ,OAAO,GAAG;AACpE,QAAI;AACF,YAAM,cACJ,CAAC,aAAa,SAAS,GAAG,KAAK,SAAS,YAAY,EAAE,YAAY;AACpE,UAAI,aAAa;AACf,eAAO,CAAC,cAAc,KAAK,cAAc,MAAM,EAAE,QAAQ,OAAO,GAAG,CAAC;AAAA,MACtE;AAAA,IACF,QAAQ;AAAA,IAAC;AACT,WAAO,CAAC,YAAY;AAAA,EACtB,CAAC,EACA,OAAO,OAAO;AAEjB,QAAM,UAAU,UAAU,KAAK;AAE/B,SAAO,CAAC,MAAc,WAAmB;AACvC,QAAI,KAAK,SAAS,cAAc,GAAG;AACjC,aAAO;AAAA,IACT;AACA,UAAM,eAAe,SAAS,MAAM,IAAI,EAAE,QAAQ,OAAO,GAAG;AAC5D,QAAI;AACF,aACE,CAAC,CAAC,gBACF,CAAC,QAAQ,YAAY,KACrB,EAAE,UAAU,SAAS,IAAI,GAAG,YAAY;AAAA,IAE5C,QAAQ;AAEN,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}