Compression

This commit is contained in:
Sebastian Seedorf
2020-11-15 00:29:14 +01:00
parent fc47d6ec26
commit b56d0f0676
4 changed files with 40 additions and 2 deletions

31
package-lock.json generated
View File

@@ -351,6 +351,15 @@
"@types/node": "*" "@types/node": "*"
} }
}, },
"@types/compression": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.0.tgz",
"integrity": "sha512-3LzWUM+3k3XdWOUk/RO+uSjv7YWOatYq2QADJntK1pjkk4DfVP0KrIEPDnXRJxAAGKe0VpIPRmlINLDuCedZWw==",
"dev": true,
"requires": {
"@types/express": "*"
}
},
"@types/connect": { "@types/connect": {
"version": "3.4.33", "version": "3.4.33",
"resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz",
@@ -1116,6 +1125,28 @@
"delayed-stream": "~1.0.0" "delayed-stream": "~1.0.0"
} }
}, },
"compressible": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
"integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
"requires": {
"mime-db": ">= 1.43.0 < 2"
}
},
"compression": {
"version": "1.7.4",
"resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
"integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
"requires": {
"accepts": "~1.3.5",
"bytes": "3.0.0",
"compressible": "~2.0.16",
"debug": "2.6.9",
"on-headers": "~1.0.2",
"safe-buffer": "5.1.2",
"vary": "~1.1.2"
}
},
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",

View File

@@ -8,7 +8,7 @@
"update-client-hash": "node -e \"require('fs').writeFileSync('public/misc/hash.txt', require('randomstring').generate())\"", "update-client-hash": "node -e \"require('fs').writeFileSync('public/misc/hash.txt', require('randomstring').generate())\"",
"debug-client": "tsc-watch --project ./public/js-source", "debug-client": "tsc-watch --project ./public/js-source",
"debug-server": "tsc-watch --onSuccess \"node --enable-source-maps --use-openssl-ca --unhandled-rejections=strict ./out/index\"", "debug-server": "tsc-watch --onSuccess \"node --enable-source-maps --use-openssl-ca --unhandled-rejections=strict ./out/index\"",
"debug": "concurrently \"npm run debug-client\" \"npm run debug-server\"", "debug": "concurrently npm:debug-*",
"build": "tsc", "build": "tsc",
"production": "node --use-openssl-ca --unhandled-rejections=strict ./out/index", "production": "node --use-openssl-ca --unhandled-rejections=strict ./out/index",
"install-debug": "npm install && npm run build", "install-debug": "npm install && npm run build",
@@ -17,6 +17,7 @@
}, },
"dependencies": { "dependencies": {
"@10xjs/polyfill-analyzer": "^0.1.0", "@10xjs/polyfill-analyzer": "^0.1.0",
"compression": "^1.7.4",
"connect-redis": "^5.0.0", "connect-redis": "^5.0.0",
"cookie-parser": "~1.4.4", "cookie-parser": "~1.4.4",
"env-var": "^6.3.0", "env-var": "^6.3.0",
@@ -36,6 +37,7 @@
"winston": "^3.3.3" "winston": "^3.3.3"
}, },
"devDependencies": { "devDependencies": {
"@types/compression": "^1.7.0",
"@types/connect-redis": "0.0.15", "@types/connect-redis": "0.0.15",
"@types/express": "^4.17.8", "@types/express": "^4.17.8",
"@types/express-session": "^1.17.1", "@types/express-session": "^1.17.1",

View File

@@ -5,10 +5,12 @@ import * as path from 'path';
import * as redisStore from 'connect-redis'; import * as redisStore from 'connect-redis';
import * as session from 'express-session'; import * as session from 'express-session';
import * as sassMiddleware from 'node-sass-middleware'; import * as sassMiddleware from 'node-sass-middleware';
import * as compression from 'compression';
import indexRouter from './routes'; import indexRouter from './routes';
import {HttpLogger, Redis, Config, setupAuthProxy, getReloadRouter, polyfillRoute} from './utils'; import {HttpLogger, Redis, Config, setupAuthProxy, getReloadRouter, polyfillRoute} from './utils';
import {Store} from 'express-session'; import {Store} from 'express-session';
export const app = express(); export const app = express();
// view engine setup // view engine setup
@@ -26,6 +28,9 @@ app.use(HttpLogger);
app.use(express.json()); app.use(express.json());
app.use(express.urlencoded({extended: false})); app.use(express.urlencoded({extended: false}));
// compression
app.use(compression);
// auth proxy middleware // auth proxy middleware
router.use(setupAuthProxy); router.use(setupAuthProxy);
// auto reloader (when running in debug mode) // auto reloader (when running in debug mode)

View File

@@ -16,7 +16,7 @@ const features = new WaitForSync<PolyfillFeatureList>();
return feats; return feats;
})() })()
.then(feats => { .then(feats => {
Logger.debug("Polyfill analysed:", feats); Logger.debug("Polyfill analysed:", Object.keys(feats));
features.setData(feats); features.setData(feats);
}) })
.catch(err => features.setError(err)); .catch(err => features.setError(err));