chore: update dependencies

This commit is contained in:
tdurieux
2022-07-22 09:52:31 +02:00
parent 51d9aa7a17
commit fa8a513d93
5 changed files with 1149 additions and 646 deletions

View File

@@ -1,4 +1,5 @@
require("dotenv").config();
import { config } from "dotenv";
config();
import server from "./src/server";

1710
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -27,53 +27,52 @@
"@octokit/oauth-app": "^3.3.2",
"@octokit/rest": "^18.5.3",
"@pm2/io": "^5.0.0",
"archiver": "^5.3.0",
"aws-sdk": "^2.958.0",
"archiver": "^5.3.1",
"aws-sdk": "^2.1180.0",
"bull": "^3.29.2",
"compression": "^1.7.4",
"connect-redis": "^6.0.0",
"connect-redis": "^6.1.3",
"decompress-stream-to-s3": "^1.2.1",
"dotenv": "^10.0.0",
"express": "^4.17.1",
"express-rate-limit": "^5.2.6",
"express-session": "^1.17.1",
"dotenv": "^16.0.1",
"express": "^4.18.1",
"express-rate-limit": "^6.4.0",
"express-session": "^1.17.3",
"got": "^11.8.5",
"istextorbinary": "^6.0.0",
"mime-types": "^2.1.30",
"mime-types": "^2.1.35",
"mongoose": "^5.13.5",
"node-schedule": "^2.0.0",
"node-schedule": "^2.1.0",
"parse-github-url": "^1.0.2",
"passport": "^0.4.1",
"passport": "^0.6.0",
"passport-github2": "^0.1.12",
"rate-limit-redis": "^2.1.0",
"redis": "^3.1.2",
"textextensions": "^5.12.0",
"rate-limit-redis": "^3.0.1",
"redis": "^4.2.0",
"textextensions": "^5.15.0",
"ts-custom-error": "^3.2.0",
"unzip-stream": "^0.3.1",
"xml-flow": "^1.0.4"
},
"devDependencies": {
"@types/archiver": "^5.1.1",
"@types/archiver": "^5.3.1",
"@types/bull": "^3.15.4",
"@types/compression": "^1.7.1",
"@types/connect-redis": "^0.0.17",
"@types/connect-redis": "^0.0.18",
"@types/express": "^4.17.13",
"@types/express-rate-limit": "^5.1.3",
"@types/express-session": "^1.17.4",
"@types/express-rate-limit": "^6.0.0",
"@types/express-session": "^1.17.5",
"@types/got": "^9.6.12",
"@types/mime-types": "^2.1.0",
"@types/parse-github-url": "^1.0.0",
"@types/passport": "^1.0.7",
"@types/passport": "^1.0.9",
"@types/passport-github2": "^1.2.5",
"@types/rate-limit-redis": "^1.7.2",
"@types/redis": "^2.8.31",
"@types/rate-limit-redis": "^1.7.4",
"@types/tar-fs": "^2.0.1",
"@types/unzip-stream": "^0.3.1",
"@types/xml-flow": "^1.0.1",
"chai": "^4.3.4",
"mocha": "^9.0.3",
"ts-node": "^10.1.0",
"typescript": "^4.3.5"
"ts-node": "^10.9.1",
"typescript": "^4.7.4"
},
"nodemonConfig": {
"ignore": [

View File

@@ -1,4 +1,4 @@
import * as redis from "redis";
import { createClient } from "redis";
import * as passport from "passport";
import * as session from "express-session";
import * as connectRedis from "connect-redis";
@@ -84,13 +84,19 @@ passport.deserializeUser((user: Express.User, done) => {
done(null, user);
});
const redisClient = createClient({
legacyMode: true,
socket: {
port: config.REDIS_PORT,
host: config.REDIS_HOSTNAME,
},
});
redisClient.on("error", (err) => console.log("Redis Client Error", err));
redisClient.connect();
export const appSession = session({
secret: "keyboard cat",
store: new RedisStore({
client: redis.createClient({
port: config.REDIS_PORT,
host: config.REDIS_HOSTNAME,
}),
client: redisClient,
}),
saveUninitialized: false,
resave: false,

View File

@@ -1,8 +1,8 @@
import * as path from "path";
import * as ofs from "fs";
import * as redis from "redis";
import * as rateLimit from "express-rate-limit";
import * as RedisStore from "rate-limit-redis";
import { createClient } from "redis";
import rateLimit from "express-rate-limit";
import RedisStore from "rate-limit-redis";
import * as express from "express";
import * as compression from "compression";
import * as db from "./database/database";
@@ -44,15 +44,24 @@ export default async function start() {
app.use(passport.initialize());
app.use(passport.session());
const redisClient = createClient({
socket: {
host: config.REDIS_HOSTNAME,
port: config.REDIS_PORT,
},
});
redisClient.on('error', (err) => console.log('Redis Client Error', err));
await redisClient.connect();
const rate = rateLimit({
store: new RedisStore({
client: redis.createClient({
host: config.REDIS_HOSTNAME,
port: config.REDIS_PORT,
}),
sendCommand: (...args: string[]) => redisClient.sendCommand(args),
}),
windowMs: 15 * 60 * 1000, // 15 minutes
max: 200, // limit each IP
standardHeaders: true,
legacyHeaders: false,
// delayMs: 0, // disable delaying - full speed until the max limit is reached
});