UNPKG

@visulima/fs

Version:

Human friendly file system utilities for Node.js

63 lines (56 loc) 2.04 kB
import { createRequire as __cjs_createRequire } from "node:module"; const __cjs_require = __cjs_createRequire(import.meta.url); const __cjs_getProcess = typeof globalThis !== "undefined" && typeof globalThis.process !== "undefined" ? globalThis.process : process; const __cjs_getBuiltinModule = (module) => { // Check if we're in Node.js and version supports getBuiltinModule if (typeof __cjs_getProcess !== "undefined" && __cjs_getProcess.versions && __cjs_getProcess.versions.node) { const [major, minor] = __cjs_getProcess.versions.node.split(".").map(Number); // Node.js 20.16.0+ and 22.3.0+ if (major > 22 || (major === 22 && minor >= 3) || (major === 20 && minor >= 16)) { return __cjs_getProcess.getBuiltinModule(module); } } // Fallback to createRequire return __cjs_require(module); }; const y = __cjs_getBuiltinModule("fs"); const h = __cjs_getBuiltinModule("os"); const u = __cjs_getBuiltinModule("path"); var l = Object.defineProperty; var s = (i, t) => l(i, "name", { value: t, configurable: true }); const a = s((i) => { let t = ""; for (let e = 0; e < i.length; e += 1) { const r = i[e], o = r.toUpperCase(); t += r === o ? r.toLowerCase() : o; } return t; }, "invertCase"); const c = /* @__PURE__ */ new Map(); const p = s((i, t) => { const e = u.join(i, `.is-fs-case-sensitive-test-${process.pid}`); try { return t.writeFileSync(e, ""), !t.existsSync(a(e)); } finally { try { t.unlinkSync(e); } catch { } } }, "checkDirectoryCaseWithWrite"); const m = s((i, t, e) => { try { return p(i, e); } catch (r) { if (t === void 0) return p(h.tmpdir(), e); throw r; } }, "checkDirectoryCaseWithFallback"); const S = s((i, t = y, e = true) => { const r = i ?? process.cwd(); if (e && c.has(r)) return c.get(r); let o; const n = a(r); return n !== r && t.existsSync(r) ? o = !t.existsSync(n) : o = m(r, i, t), e && c.set(r, o), o; }, "isFsCaseSensitive"); export { S as isFsCaseSensitive };