chore: update dependencies

This commit is contained in:
tdurieux
2024-03-27 11:40:33 +00:00
parent 0caf786c9c
commit 829720b131
5 changed files with 3438 additions and 3416 deletions

6751
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -30,11 +30,11 @@
"build"
],
"dependencies": {
"@aws-sdk/client-s3": "^3.374.0",
"@aws-sdk/node-http-handler": "^3.374.0",
"@octokit/oauth-app": "^6.0.0",
"@aws-sdk/client-s3": "^3.540.0",
"@smithy/node-http-handler": "^2.5.0",
"@octokit/oauth-app": "^6.1.0",
"@octokit/plugin-paginate-rest": "^8.0.0",
"@octokit/rest": "^20.0.1",
"@octokit/rest": "^20.0.2",
"@opentelemetry/api": "^1.8.0",
"@opentelemetry/auto-instrumentations-node": "^0.43.0",
"@opentelemetry/exporter-metrics-otlp-grpc": "^0.49.1",
@@ -44,58 +44,56 @@
"@opentelemetry/sdk-metrics": "^1.22.0",
"@opentelemetry/sdk-node": "^0.49.1",
"@opentelemetry/sdk-trace-node": "^1.22.0",
"@pm2/io": "^5.0.0",
"archiver": "^5.3.1",
"bullmq": "^2.3.2",
"archiver": "^5.3.2",
"bullmq": "^2.4.0",
"compression": "^1.7.4",
"connect-redis": "^7.0.1",
"decompress-stream-to-s3": "^2.1.1",
"dotenv": "^16.0.3",
"express": "^4.18.2",
"express-rate-limit": "^6.8.0",
"express-session": "^1.17.3",
"express-slow-down": "^1.6.0",
"got": "^11.8.5",
"inquirer": "^8.2.5",
"istextorbinary": "^6.0.0",
"dotenv": "^16.4.5",
"express": "^4.19.2",
"express-rate-limit": "^6.11.2",
"express-session": "^1.18.0",
"express-slow-down": "^2.0.1",
"got": "^11.8.6",
"inquirer": "^8.2.6",
"istextorbinary": "^9.5.0",
"marked": "^5.1.2",
"mime-types": "^2.1.35",
"mongoose": "^7.4.1",
"mongoose": "^7.6.10",
"node-schedule": "^2.1.1",
"parse-github-url": "^1.0.2",
"passport": "^0.6.0",
"passport-github2": "^0.1.12",
"rate-limit-redis": "^3.0.2",
"redis": "^4.6.7",
"textextensions": "^5.16.0",
"rate-limit-redis": "^4.2.0",
"redis": "^4.6.13",
"textextensions": "^6.11.0",
"ts-custom-error": "^3.3.1",
"unzip-stream": "^0.3.1",
"xml-flow": "^1.0.4"
},
"devDependencies": {
"@types/archiver": "^5.3.1",
"@types/compression": "^1.7.1",
"@types/connect-redis": "^0.0.20",
"@types/express": "^4.17.14",
"@types/archiver": "^5.3.4",
"@types/compression": "^1.7.5",
"@types/express": "^4.17.21",
"@types/express-rate-limit": "^6.0.0",
"@types/express-session": "^1.17.5",
"@types/express-slow-down": "^1.3.2",
"@types/express-session": "^1.18.0",
"@types/express-slow-down": "^1.3.5",
"@types/got": "^9.6.12",
"@types/inquirer": "^8.0.0",
"@types/marked": "^5.0.1",
"@types/mime-types": "^2.1.0",
"@types/node-schedule": "^2.1.0",
"@types/parse-github-url": "^1.0.0",
"@types/passport": "^1.0.11",
"@types/passport-github2": "^1.2.5",
"@types/tar-fs": "^2.0.1",
"@types/unzip-stream": "^0.3.1",
"@types/xml-flow": "^1.0.1",
"chai": "^4.3.6",
"mocha": "^10.1.0",
"nodemon": "^3.0.1",
"ts-node": "^10.9.1",
"typescript": "^4.8.4"
"@types/inquirer": "^8.2.10",
"@types/marked": "^5.0.2",
"@types/mime-types": "^2.1.4",
"@types/node-schedule": "^2.1.6",
"@types/parse-github-url": "^1.0.3",
"@types/passport": "^1.0.16",
"@types/passport-github2": "^1.2.9",
"@types/tar-fs": "^2.0.4",
"@types/unzip-stream": "^0.3.4",
"@types/xml-flow": "^1.0.4",
"chai": "^4.4.1",
"mocha": "^10.4.0",
"nodemon": "^3.1.0",
"ts-node": "^10.9.2",
"typescript": "^5.4.3"
},
"nodemonConfig": {
"ignore": [

View File

@@ -3,7 +3,6 @@ import AnonymousError from "../AnonymousError";
import * as db from "../database/database";
import UserModel from "../database/users/users.model";
import User from "../User";
import * as io from "@pm2/io";
export async function getPullRequest(
req: express.Request,
@@ -76,7 +75,6 @@ export function isOwnerOrAdmin(authorizedUsers: string[], user: User) {
}
function printError(error: any, req?: express.Request) {
io.notifyError(error, error.value);
if (error instanceof AnonymousError) {
let message = `[ERROR] ${error.toString()} ${error.stack
?.split("\n")[1]

View File

@@ -2,7 +2,7 @@ import { createClient } from "redis";
import { resolve, join } from "path";
import { existsSync } from "fs";
import rateLimit from "express-rate-limit";
import * as slowDown from "express-slow-down";
import { slowDown } from "express-slow-down";
import RedisStore from "rate-limit-redis";
import * as express from "express";
import * as compression from "compression";
@@ -71,7 +71,7 @@ export default async function start() {
return request.socket.remoteAddress;
}
// remove port number from IPv4 addresses
return request.ip.replace(/:\d+[^:]*$/, "");
return (request.ip || "").replace(/:\d+[^:]*$/, "");
}
const rate = rateLimit({
@@ -79,10 +79,18 @@ export default async function start() {
sendCommand: (...args: string[]) => redisClient.sendCommand(args),
}),
windowMs: 15 * 60 * 1000, // 15 minutes
skip: async (request: express.Request, response: express.Response) => {
try {
const user = await getUser(request);
if (user && user.isAdmin) return true;
} catch (_) {
// ignore: user not connected
}
return false;
},
max: async (request: express.Request, response: express.Response) => {
try {
const user = await getUser(request);
if (user && user.isAdmin) return 0;
if (user) return config.RATE_LIMIT;
} catch (_) {
// ignore: user not connected
@@ -100,17 +108,15 @@ export default async function start() {
const speedLimiter = slowDown({
windowMs: 15 * 60 * 1000, // 15 minutes
delayAfter: 50,
delayMs: 150,
delayMs: () => 150,
maxDelayMs: 5000,
headers: true,
keyGenerator,
});
const webViewSpeedLimiter = slowDown({
windowMs: 15 * 60 * 1000, // 15 minutes
delayAfter: 200,
delayMs: 150,
delayMs: () => 150,
maxDelayMs: 5000,
headers: true,
keyGenerator,
});

View File

@@ -5,7 +5,7 @@ import {
PutObjectCommandInput,
S3,
} from "@aws-sdk/client-s3";
import { NodeHttpHandler } from "@aws-sdk/node-http-handler";
import { NodeHttpHandler } from "@smithy/node-http-handler";
import config from "../../config";
import { pipeline, Readable, Transform } from "stream";
import ArchiveStreamToS3 from "decompress-stream-to-s3";
@@ -40,6 +40,7 @@ export default class S3Storage implements StorageBase {
requestHandler: new NodeHttpHandler({
requestTimeout: timeout,
connectionTimeout: timeout,
}),
});
}