UNPKG

repomix

Version:

A tool to pack repository contents to single file for AI consumption

22 lines (21 loc) 816 B
import path from 'node:path'; export const sortPaths = (filePaths) => { const decorated = filePaths.map((p) => ({ original: p, parts: p.split(path.sep) })); decorated.sort((a, b) => { const partsA = a.parts; const partsB = b.parts; for (let i = 0; i < Math.min(partsA.length, partsB.length); i++) { if (partsA[i] !== partsB[i]) { const isLastA = i === partsA.length - 1; const isLastB = i === partsB.length - 1; if (!isLastA && isLastB) return -1; if (isLastA && !isLastB) return 1; return partsA[i].localeCompare(partsB[i]); } } return partsA.length - partsB.length; }); return decorated.map((d) => d.original); };