is-fs-case-sensitive
Version:
Check whether the file-system is case-sensitive
2 lines (1 loc) • 829 B
JavaScript
;var u=Object.defineProperty;var c=(i,e)=>u(i,"name",{value:e,configurable:!0});var y=require("fs"),h=require("os"),p=require("path");const a=c(i=>{let e="";for(let r=0;r<i.length;r+=1){const t=i[r],s=t.toUpperCase();e+=t===s?t.toLowerCase():s}return e},"invertCase"),o=new Map,l=c((i,e)=>{const r=p.join(i,`.is-fs-case-sensitive-test-${process.pid}`);try{return e.writeFileSync(r,""),!e.existsSync(a(r))}finally{try{e.unlinkSync(r)}catch{}}},"checkDirectoryCaseWithWrite"),v=c((i,e,r)=>{try{return l(i,r)}catch(t){if(e===void 0)return l(h.tmpdir(),r);throw t}},"checkDirectoryCaseWithFallback"),S=c((i,e=y,r=!0)=>{const t=i??process.cwd();if(r&&o.has(t))return o.get(t);let s;const n=a(t);return n!==t&&e.existsSync(t)?s=!e.existsSync(n):s=v(t,i,e),r&&o.set(t,s),s},"isFsCaseSensitive");exports.isFsCaseSensitive=S;