UNPKG

stylelint

Version:

A mighty CSS linter that helps you avoid errors and enforce conventions.

27 lines (23 loc) 816 B
import normalizePath from 'normalize-path'; import process from 'node:process'; /** * Normalize a path for comparisons on Windows while keeping POSIX platforms * untouched. On Windows, this lowercases the drive letter and converts * backslashes to forward slashes. Only the drive letter is lowercased, since * the rest of the path may be case-sensitive on certain file systems mounted * on Windows. * * @param {string} filePath * @param {NodeJS.Platform} [platform=process.platform] * @returns {string} */ export default function normalizeFilePath(filePath, platform = process.platform) { if (platform !== 'win32') { return filePath; } const loweredDrive = filePath.replace( /^(!?)([a-z]):/i, (_, prefix, drive) => `${prefix}${drive.toLowerCase()}:`, ); return normalizePath(loweredDrive); }