diff --git a/extension.js b/extension.js index f7d3d54..c1eac52 100644 --- a/extension.js +++ b/extension.js @@ -34,7 +34,7 @@ exports.activate = context => { const folderFullPath = path.join(workspaceRoot, folderPath); // Read folder, built quick pick with files/folder (and shortcuts) - fs.readdir(folderFullPath, async (readErr, files) => { + fs.readdir(folderFullPath, { withFileTypes: true }, async (readErr, files) => { if (readErr) { if (folderPath === nodeModulesPath) { return showError('No node_modules folder in this workspace.'); @@ -55,7 +55,7 @@ exports.activate = context => { } else { // Otherwise, show option to move back to root options.push(''); - options.push(workspaceNodeModules); + options.push(`${workspaceNodeModules}${path.sep}`); // If current folder is not outside of the workspace, also add option to move a step back if (!isParentFolder) { diff --git a/sort-files.js b/sort-files.js index 982c6b7..470a4a2 100644 --- a/sort-files.js +++ b/sort-files.js @@ -1,11 +1,15 @@ +const path = require('path'); + const sortFiles = (origFiles, origPriorities) => { const priorities = [ ...origPriorities ].reverse().map(p => p.toLowerCase()); - const files = origFiles.map(file => ({ original: file, lower: file.toLowerCase() })); + const files = origFiles.map(file => ({ original: file, lower: file.name.toLowerCase() })); const rank = file => priorities.indexOf(file) + 1; return files .sort((a, b) => rank(b.lower) - rank(a.lower)) - .map(file => file.original); + .map(({ original }) => original.isDirectory() + ? `${original.name}${path.sep}` + : original.name); }; module.exports = { sortFiles };