Skip to content

Commit a25f53a

Browse files
authored
Merge pull request #941 from velzie/master
cleanup show-dir, fix node version showing as "undefined"
2 parents 393e010 + 84794d8 commit a25f53a

3 files changed

Lines changed: 15 additions & 11 deletions

File tree

lib/core/show-dir/index.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,11 @@ module.exports = (opts) => {
7373
res.setHeader('etag', etag(stat, weakEtags));
7474
res.setHeader('last-modified', (new Date(stat.mtime)).toUTCString());
7575
res.setHeader('cache-control', cache);
76-
76+
7777
// A step before render() is called to gives items additional
7878
// information so that render() can deliver the best user experience
7979
// possible.
80-
function process(dirs, renderFiles, lolwuts) {
80+
function prerender(dirs, renderFiles, errs) {
8181
const filenamesThatExist = new Set();
8282

8383
// Putting filenames in a set first keeps us in O(n) time complexity
@@ -87,7 +87,7 @@ module.exports = (opts) => {
8787
const renderOptions = {};
8888
renderFiles[i] = [name, stat, renderOptions];
8989
}
90-
90+
9191
// Set render options for compressed files
9292
for (const [name, _stat, renderOptions] of renderFiles) {
9393
if (
@@ -115,10 +115,10 @@ module.exports = (opts) => {
115115
renderOptions.uncompressedName = uncompressedName;
116116
}
117117
}
118-
render(dirs, renderFiles, lolwuts);
118+
render(dirs, renderFiles, errs);
119119
}
120120

121-
function render(dirs, renderFiles, lolwuts) {
121+
function render(dirs, renderFiles, errs) {
122122
// each entry in the array is a [name, stat] tuple
123123

124124
let html = `${[
@@ -150,7 +150,7 @@ module.exports = (opts) => {
150150
// Handle compressed files with uncompressed names
151151
let displayNameHTML;
152152
let fileSize = sizeToString(file[1], humanReadable, si);
153-
153+
154154
if (file[2] && file[2].uncompressedName) {
155155
// This is a compressed file, show both names with separate links
156156
const uncompressedName = he.encode(file[2].uncompressedName);
@@ -184,7 +184,7 @@ module.exports = (opts) => {
184184

185185
dirs.sort((a, b) => a[0].toString().localeCompare(b[0].toString())).forEach(writeRow);
186186
renderFiles.sort((a, b) => a.toString().localeCompare(b.toString())).forEach(writeRow);
187-
lolwuts.sort((a, b) => a[0].toString().localeCompare(b[0].toString())).forEach(writeRow);
187+
errs.sort((a, b) => a[0].toString().localeCompare(b[0].toString())).forEach(writeRow);
188188

189189
html += '</table>\n';
190190
html += `<br><address>Node.js ${
@@ -201,7 +201,7 @@ module.exports = (opts) => {
201201
}
202202
}
203203

204-
sortFiles(dir, files, (lolwuts, dirs, sortedFiles) => {
204+
sortFiles(dir, files, (errs, dirs, sortedFiles) => {
205205
// It's possible to get stat errors for all sorts of reasons here.
206206
// Unfortunately, our two choices are to either bail completely,
207207
// or just truck along as though everything's cool. In this case,
@@ -222,10 +222,10 @@ module.exports = (opts) => {
222222
return;
223223
}
224224
dirs.unshift(['..', s]);
225-
process(dirs, sortedFiles, lolwuts);
225+
prerender(dirs, sortedFiles, errs);
226226
});
227227
} else {
228-
process(dirs, sortedFiles, lolwuts);
228+
prerender(dirs, sortedFiles, errs);
229229
}
230230
});
231231
});

lib/core/show-dir/last-modified-to-string.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
'use strict';
22

33
module.exports = function lastModifiedToString(stat) {
4+
if (!stat.mtime) {
5+
// stat error (eg, broken symlink)
6+
return 'Unknown Date';
7+
}
48
const t = new Date(stat.mtime);
59
return (('0' + (t.getDate())).slice(-2) + '-' +
610
t.toLocaleString('default', { month: 'short' }) + '-' +

lib/core/show-dir/perms-to-string.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module.exports = function permsToString(stat) {
44
if (!stat.isDirectory || !stat.mode) {
5-
return '???!!!???';
5+
return '????!!!???';
66
}
77

88
const dir = stat.isDirectory() ? 'd' : '-';

0 commit comments

Comments
 (0)