Style tweaks
This commit is contained in:
@ -17,16 +17,15 @@ const AutoIndex = !process.env.DISABLE_INDEX
|
|||||||
*/
|
*/
|
||||||
const MaximumDepth = 128
|
const MaximumDepth = 128
|
||||||
|
|
||||||
const FileTransforms = {
|
function rewriteBareModuleIdentifiers(file, packageConfig, callback) {
|
||||||
expand: function(file, dependencies, callback) {
|
const dependencies = Object.assign({}, packageConfig.peerDependencies, packageConfig.dependencies)
|
||||||
const options = {
|
const options = {
|
||||||
plugins: [unpkgRewrite(dependencies)]
|
plugins: [unpkgRewrite(dependencies)]
|
||||||
}
|
|
||||||
|
|
||||||
babel.transformFile(file, options, function(error, result) {
|
|
||||||
callback(error, result && result.code)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
babel.transformFile(file, options, (error, result) => {
|
||||||
|
callback(error, result && result.code)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -35,7 +34,7 @@ const FileTransforms = {
|
|||||||
function serveFile(req, res, next) {
|
function serveFile(req, res, next) {
|
||||||
if (req.query.meta != null) {
|
if (req.query.meta != null) {
|
||||||
// Serve JSON metadata.
|
// Serve JSON metadata.
|
||||||
getMetadata(req.packageDir, req.filename, req.stats, MaximumDepth, function(error, metadata) {
|
getMetadata(req.packageDir, req.filename, req.stats, MaximumDepth, (error, metadata) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
console.error(error)
|
console.error(error)
|
||||||
res
|
res
|
||||||
@ -62,13 +61,7 @@ function serveFile(req, res, next) {
|
|||||||
|
|
||||||
if (contentType === "application/javascript" && req.query.module != null) {
|
if (contentType === "application/javascript" && req.query.module != null) {
|
||||||
// Serve a JavaScript module.
|
// Serve a JavaScript module.
|
||||||
const dependencies = Object.assign(
|
rewriteBareModuleIdentifiers(file, req.packageConfig, (error, code) => {
|
||||||
{},
|
|
||||||
req.packageConfig.peerDependencies,
|
|
||||||
req.packageConfig.dependencies
|
|
||||||
)
|
|
||||||
|
|
||||||
FileTransforms.expand(file, dependencies, function(error, code) {
|
|
||||||
if (error) {
|
if (error) {
|
||||||
console.error(error)
|
console.error(error)
|
||||||
const debugInfo =
|
const debugInfo =
|
||||||
@ -113,7 +106,7 @@ function serveFile(req, res, next) {
|
|||||||
|
|
||||||
const stream = fs.createReadStream(file)
|
const stream = fs.createReadStream(file)
|
||||||
|
|
||||||
stream.on("error", function(error) {
|
stream.on("error", error => {
|
||||||
console.error(`Cannot send file ${req.packageSpec}${req.filename}`)
|
console.error(`Cannot send file ${req.packageSpec}${req.filename}`)
|
||||||
console.error(error)
|
console.error(error)
|
||||||
res.sendStatus(500)
|
res.sendStatus(500)
|
||||||
@ -123,17 +116,8 @@ function serveFile(req, res, next) {
|
|||||||
}
|
}
|
||||||
} else if (AutoIndex && req.stats.isDirectory()) {
|
} else if (AutoIndex && req.stats.isDirectory()) {
|
||||||
// Serve an HTML directory listing.
|
// Serve an HTML directory listing.
|
||||||
getIndexHTML(req.packageInfo, req.packageVersion, req.packageDir, req.filename, function(
|
getIndexHTML(req.packageInfo, req.packageVersion, req.packageDir, req.filename).then(
|
||||||
error,
|
html => {
|
||||||
html
|
|
||||||
) {
|
|
||||||
if (error) {
|
|
||||||
console.error(error)
|
|
||||||
res
|
|
||||||
.status(500)
|
|
||||||
.type("text")
|
|
||||||
.send(`Cannot generate index page for ${req.packageSpec}${req.filename}`)
|
|
||||||
} else {
|
|
||||||
// Cache HTML directory listings for 1 minute.
|
// Cache HTML directory listings for 1 minute.
|
||||||
res
|
res
|
||||||
.set({
|
.set({
|
||||||
@ -141,8 +125,15 @@ function serveFile(req, res, next) {
|
|||||||
"Cache-Tag": "index"
|
"Cache-Tag": "index"
|
||||||
})
|
})
|
||||||
.send(html)
|
.send(html)
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
console.error(error)
|
||||||
|
res
|
||||||
|
.status(500)
|
||||||
|
.type("text")
|
||||||
|
.send(`Cannot generate index page for ${req.packageSpec}${req.filename}`)
|
||||||
}
|
}
|
||||||
})
|
)
|
||||||
} else {
|
} else {
|
||||||
res
|
res
|
||||||
.status(403)
|
.status(403)
|
||||||
|
@ -31,10 +31,10 @@ function createHTML(props) {
|
|||||||
return DOCTYPE + ReactDOMServer.renderToStaticMarkup(e(IndexPage, props))
|
return DOCTYPE + ReactDOMServer.renderToStaticMarkup(e(IndexPage, props))
|
||||||
}
|
}
|
||||||
|
|
||||||
function getIndexHTML(packageInfo, version, baseDir, dir, callback) {
|
function getIndexHTML(packageInfo, version, baseDir, dir) {
|
||||||
getEntries(path.join(baseDir, dir))
|
return getEntries(path.join(baseDir, dir)).then(entries =>
|
||||||
.then(entries => createHTML({ packageInfo, version, dir, entries }))
|
createHTML({ packageInfo, version, dir, entries })
|
||||||
.then(html => callback(null, html), callback)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = getIndexHTML
|
module.exports = getIndexHTML
|
||||||
|
Reference in New Issue
Block a user