diff --git a/server/middleware/validatePackageName.js b/server/middleware/validatePackageName.js index ca89025..b32405d 100644 --- a/server/middleware/validatePackageName.js +++ b/server/middleware/validatePackageName.js @@ -4,10 +4,11 @@ const validateNpmPackageName = require("validate-npm-package-name"); * Reject requests for invalid npm package names. */ function validatePackageName(req, res, next) { - const nameErrors = validateNpmPackageName(req.packageName).errors; + const errors = validateNpmPackageName(req.packageName).errors; + + if (errors) { + const reason = errors.join(", "); - if (nameErrors) { - const reason = nameErrors.join(", "); return res .status(403) .type("text") diff --git a/server/utils/createPackageURL.js b/server/utils/createPackageURL.js index d9eceb8..8616f43 100644 --- a/server/utils/createPackageURL.js +++ b/server/utils/createPackageURL.js @@ -1,8 +1,10 @@ function createPackageURL(packageName, version, pathname, search) { let url = `/${packageName}`; + if (version != null) url += `@${version}`; if (pathname) url += pathname; if (search) url += search; + return url; } diff --git a/server/utils/getPackage.js b/server/utils/getPackage.js index 4d60054..d410441 100644 --- a/server/utils/getPackage.js +++ b/server/utils/getPackage.js @@ -32,15 +32,15 @@ const fetchMutex = createMutex((packageConfig, callback) => { callback(error); } } else { - lockfile.check(outputDir).then(isLocked => { - if (isLocked) { + lockfile.check(outputDir).then(locked => { + if (locked) { // Another process on this same machine has locked the // directory. We need to wait for it to be unlocked // before we callback. const timer = setInterval(() => { lockfile.check(outputDir).then( - isLocked => { - if (!isLocked) { + locked => { + if (!locked) { clearInterval(timer); callback(null, outputDir); } diff --git a/server/utils/incrementCounter.js b/server/utils/incrementCounter.js index cec400c..0868061 100644 --- a/server/utils/incrementCounter.js +++ b/server/utils/incrementCounter.js @@ -1,6 +1,6 @@ const db = require("./redis"); -function incrementCounter(counter, key, by) { +function incrementCounter(counter, key, by = 1) { return new Promise((resolve, reject) => { db.hincrby(counter, key, by, (error, value) => { if (error) { diff --git a/server/utils/renderPage.js b/server/utils/renderPage.js index c62a827..a5ae2df 100644 --- a/server/utils/renderPage.js +++ b/server/utils/renderPage.js @@ -7,6 +7,7 @@ function renderPage(page, props) { const html = ReactDOMServer.renderToStaticMarkup( React.createElement(page, props) ); + return doctype + html; }