const pathSeparators = ["/", "\\", void 0]; function normalizeAliases(_aliases) { const aliases = Object.fromEntries(Object.entries(_aliases).sort(([a], [b]) => _compareAliases(a, b))); for (const key in aliases) { for (const alias in aliases) { if (alias === key || key.startsWith(alias)) { continue; } if (aliases[key].startsWith(alias) && pathSeparators.includes(aliases[key][alias.length])) { aliases[key] = aliases[alias] + aliases[key].slice(alias.length); } } } return aliases; } const FILENAME_RE = /(?<=^|[\\/])([^\\/]+?)(?=(\.[^.]+)?$)/; function filename(path) { return path.match(FILENAME_RE)?.[0]; } function _compareAliases(a, b) { return b.split("/").length - a.split("/").length; } export { filename, normalizeAliases };