Move middleware utils into server/utils

This commit is contained in:
Michael Jackson 2018-05-21 13:26:00 -07:00
parent 269b756aeb
commit c792515d01
14 changed files with 59 additions and 40 deletions

View File

@ -1,5 +1,6 @@
const invariant = require("invariant");
const createBundle = require("./utils/createBundle");
const createBundle = require("../utils/createBundle");
/**
* An express middleware that sets req.bundle from the

View File

@ -1,8 +1,8 @@
const semver = require("semver");
const createPackageURL = require("../utils/createPackageURL");
const getPackageInfo = require("./utils/getPackageInfo");
const getPackage = require("./utils/getPackage");
const getPackageInfo = require("../utils/getPackageInfo");
const getPackage = require("../utils/getPackage");
function tagRedirect(req, res) {
// Cache tag redirects for 1 minute.

View File

@ -2,8 +2,8 @@ const fs = require("fs");
const path = require("path");
const createPackageURL = require("../utils/createPackageURL");
const createSearch = require("./utils/createSearch");
const incrementCounter = require("./utils/incrementCounter");
const createSearch = require("../utils/createSearch");
const incrementCounter = require("../utils/incrementCounter");
/**
* File extensions to look for when automatically resolving.

View File

@ -1,4 +1,4 @@
const createSearch = require("./utils/createSearch");
const createSearch = require("../utils/createSearch");
/**
* Redirect old URLs that we no longer support.

View File

@ -1,6 +1,7 @@
const fs = require("fs");
const invariant = require("invariant");
const createBundle = require("./utils/createBundle");
const createBundle = require("../utils/createBundle");
/**
* An express middleware that sets req.bundle from the build
@ -14,7 +15,7 @@ function staticAssets(webpackStatsFile) {
invariant(
false,
"staticAssets middleware cannot read the build stats in %s; " +
"run `yarn build` before starting the server",
"run the `build` script before starting the server",
webpackStatsFile
);
}

View File

@ -1,28 +0,0 @@
/**
* Creates a bundle object that is stored on req.bundle.
*/
function createBundle(webpackStats) {
const { publicPath, assetsByChunkName } = webpackStats;
const createURL = asset => publicPath + asset;
const getAssets = (chunks = ["main"]) =>
(Array.isArray(chunks) ? chunks : [chunks])
.reduce((memo, chunk) => memo.concat(assetsByChunkName[chunk] || []), [])
.map(createURL);
const getScripts = (...args) =>
getAssets(...args).filter(asset => /\.js$/.test(asset));
const getStyles = (...args) =>
getAssets(...args).filter(asset => /\.css$/.test(asset));
return {
createURL,
getAssets,
getScripts,
getStyles
};
}
module.exports = createBundle;

View File

@ -1,4 +1,4 @@
const createSearch = require("./utils/createSearch");
const createSearch = require("../utils/createSearch");
const knownQueryParams = {
main: true, // Deprecated, see #63

View File

@ -0,0 +1,45 @@
/**
* Creates a bundle object that is stored on req.bundle.
*/
function createBundle(webpackStats) {
const { publicPath, assetsByChunkName } = webpackStats;
/**
* Returns a public URL to the given asset.
*/
function createURL(asset) {
return publicPath + asset;
}
/**
* Returns an array of URLs to all assets in the given chunks.
*/
function getAssets(chunks = ["main"]) {
return (Array.isArray(chunks) ? chunks : [chunks])
.reduce((memo, chunk) => memo.concat(assetsByChunkName[chunk] || []), [])
.map(createURL);
}
/**
* Returns an array of URLs to all JavaScript files in the given chunks.
*/
function getScripts(...chunks) {
return getAssets(...chunks).filter(asset => /\.js$/.test(asset));
}
/**
* Returns an array of URLs to all CSS files in the given chunks.
*/
function getStyles(...chunks) {
return getAssets(...chunks).filter(asset => /\.css$/.test(asset));
}
return {
createURL,
getAssets,
getScripts,
getStyles
};
}
module.exports = createBundle;

View File

@ -1,4 +1,4 @@
const db = require("../../utils/redis");
const db = require("./redis");
function createCache(keyPrefix) {
function createKey(key) {

View File

@ -1,6 +1,6 @@
require("isomorphic-fetch");
const config = require("../../config");
const config = require("../config");
const createCache = require("./createCache");
const createMutex = require("./createMutex");

View File

@ -1,4 +1,4 @@
const db = require("../../utils/redis");
const db = require("./redis");
function incrementCounter(counter, key, by) {
return new Promise((resolve, reject) => {