UNPKG

dir-is-case-sensitive

Version:

Returns true, if the specified directory is case sensitive

45 lines 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fs = require("graceful-fs"); const pathTemp = require("path-temp"); exports.default = async (dir, silent = true) => { const tempFile = pathTemp(dir).toLowerCase(); return new Promise((resolve, reject) => { fs.writeFile(tempFile, '', 'UTF8', (err) => { if (err) { if (silent) { resolve(undefined); } else { reject(err); } return; } fs.stat(tempFile.toUpperCase(), (err) => { // The temp file is removed fs.unlink(tempFile, (err) => { // Errors are ignored }); if (!err) { // If the file in different casing is FOUND, // then the directory is case insensitive resolve(false); return; } if (err.code === 'ENOENT') { // If the file in different casing is NOT FOUND, // then the directory is case sensitive resolve(true); return; } if (silent) { resolve(undefined); } else { reject(err); } }); }); }); }; //# sourceMappingURL=index.js.map