Update some patches, switch to node-fetch-commonjs, more updates

This commit is contained in:
Emma [it/its]@Rory& 2024-10-15 12:20:41 +02:00 committed by Rory&
parent a2ffc536aa
commit 168758924c
17 changed files with 67 additions and 36 deletions

Binary file not shown.

View File

@ -1,3 +1,3 @@
{ {
"npmDepsHash": "sha256-7dAZmZ8yLaUsDavaX9Fw2RYK/lV4Yy4PIDqfLjh29cg=" "npmDepsHash": "sha256-KuKvhybhYGxC6oiVUxyjdEQD4xalXZ3OxT4KJ49ROAw="
} }

BIN
package-lock.json generated

Binary file not shown.

View File

@ -69,7 +69,7 @@
"@aws-sdk/client-s3": "^3.629.0", "@aws-sdk/client-s3": "^3.629.0",
"@sentry/integrations": "^7.66.0", "@sentry/integrations": "^7.66.0",
"@sentry/node": "^7.66.0", "@sentry/node": "^7.66.0",
"ajv": "8.6.2", "ajv": "^8.6.2",
"ajv-formats": "2.1.1", "ajv-formats": "2.1.1",
"amqplib": "^0.10.3", "amqplib": "^0.10.3",
"bcrypt": "^5.1.0", "bcrypt": "^5.1.0",
@ -95,7 +95,7 @@
"multer": "^1.4.5-lts.1", "multer": "^1.4.5-lts.1",
"murmurhash-js": "^1.0.0", "murmurhash-js": "^1.0.0",
"node-2fa": "^2.0.3", "node-2fa": "^2.0.3",
"node-fetch": "^2.7.0", "node-fetch-commonjs": "^3.3.2",
"node-os-utils": "^1.3.7", "node-os-utils": "^1.3.7",
"nodemailer": "^6.9.14", "nodemailer": "^6.9.14",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",

View File

@ -1,5 +1,5 @@
diff --git a/node_modules/body-parser/lib/types/json.js b/node_modules/body-parser/lib/types/json.js diff --git a/node_modules/body-parser/lib/types/json.js b/node_modules/body-parser/lib/types/json.js
index c2745be..17c2cfe 100644 index 59f3f7e..604f8b1 100644
--- a/node_modules/body-parser/lib/types/json.js --- a/node_modules/body-parser/lib/types/json.js
+++ b/node_modules/body-parser/lib/types/json.js +++ b/node_modules/body-parser/lib/types/json.js
@@ -18,6 +18,7 @@ var createError = require('http-errors') @@ -18,6 +18,7 @@ var createError = require('http-errors')
@ -10,7 +10,7 @@ index c2745be..17c2cfe 100644
/** /**
* Module exports. * Module exports.
@@ -86,7 +87,7 @@ function json (options) { @@ -89,7 +90,7 @@ function json (options) {
try { try {
debug('parse json') debug('parse json')
@ -19,16 +19,16 @@ index c2745be..17c2cfe 100644
} catch (e) { } catch (e) {
throw normalizeJsonSyntaxError(e, { throw normalizeJsonSyntaxError(e, {
message: e.message, message: e.message,
@@ -157,7 +158,7 @@ function createStrictSyntaxError (str, char) { @@ -166,7 +167,7 @@ function createStrictSyntaxError (str, char) {
: '' }
try { try {
- JSON.parse(partial); /* istanbul ignore next */ throw new SyntaxError('strict violation') - JSON.parse(partial); /* istanbul ignore next */ throw new SyntaxError('strict violation')
+ JSONbig.parse(partial); /* istanbul ignore next */ throw new SyntaxError('strict violation') + JSONbig.parse(partial); /* istanbul ignore next */ throw new SyntaxError('strict violation')
} catch (e) { } catch (e) {
return normalizeJsonSyntaxError(e, { return normalizeJsonSyntaxError(e, {
message: e.message.replace('#', char), message: e.message.replace(JSON_SYNTAX_REGEXP, function (placeholder) {
@@ -216,7 +217,7 @@ function normalizeJsonSyntaxError (error, obj) { @@ -227,7 +228,7 @@ function normalizeJsonSyntaxError (error, obj) {
} }
// replace stack before message for Node.js 0.10 and below // replace stack before message for Node.js 0.10 and below

View File

@ -1,5 +1,5 @@
diff --git a/node_modules/express/lib/response.js b/node_modules/express/lib/response.js diff --git a/node_modules/express/lib/response.js b/node_modules/express/lib/response.js
index dd7b3c8..a339896 100644 index 2b654f4..60592b0 100644
--- a/node_modules/express/lib/response.js --- a/node_modules/express/lib/response.js
+++ b/node_modules/express/lib/response.js +++ b/node_modules/express/lib/response.js
@@ -27,7 +27,6 @@ var merge = require('utils-merge'); @@ -27,7 +27,6 @@ var merge = require('utils-merge');
@ -10,15 +10,16 @@ index dd7b3c8..a339896 100644
var cookie = require('cookie'); var cookie = require('cookie');
var send = require('send'); var send = require('send');
var extname = path.extname; var extname = path.extname;
@@ -54,7 +53,6 @@ module.exports = res @@ -54,8 +53,6 @@ module.exports = res
* @private * @private
*/ */
-var charsetRegExp = /;\s*charset\s*=/; -var charsetRegExp = /;\s*charset\s*=/;
var schemaAndHostRegExp = /^(?:[a-zA-Z][a-zA-Z0-9+.-]*:)?\/\/[^\\\/\?]+/; -
/** /**
@@ -165,16 +163,6 @@ res.send = function send(body) { * Set status `code`.
*
@@ -164,16 +161,6 @@ res.send = function send(body) {
break; break;
} }
@ -35,7 +36,7 @@ index dd7b3c8..a339896 100644
// determine if ETag should be generated // determine if ETag should be generated
var etagFn = app.get('etag fn') var etagFn = app.get('etag fn')
@@ -781,17 +769,6 @@ res.header = function header(field, val) { @@ -780,17 +767,6 @@ res.header = function header(field, val) {
? val.map(String) ? val.map(String)
: String(val); : String(val);

View File

@ -20,7 +20,7 @@ import { Config, JimpType } from "@spacebar/util";
import { Request, Response } from "express"; import { Request, Response } from "express";
import { yellow } from "picocolors"; import { yellow } from "picocolors";
import crypto from "crypto"; import crypto from "crypto";
import fetch from "node-fetch"; import fetch from "node-fetch-commonjs";
let sharp: undefined | false | { default: typeof import("sharp") } = undefined; let sharp: undefined | false | { default: typeof import("sharp") } = undefined;

View File

@ -17,9 +17,14 @@
*/ */
import { route } from "@spacebar/api"; import { route } from "@spacebar/api";
import { TenorMediaTypes, getGifApiKey, parseGifResult } from "@spacebar/util"; import {
TenorMediaTypes,
getGifApiKey,
parseGifResult,
TenorGif,
} from "@spacebar/util";
import { Request, Response, Router } from "express"; import { Request, Response, Router } from "express";
import fetch from "node-fetch"; import fetch from "node-fetch-commonjs";
import { ProxyAgent } from "proxy-agent"; import { ProxyAgent } from "proxy-agent";
const router = Router(); const router = Router();
@ -68,7 +73,7 @@ router.get(
}, },
); );
const { results } = await response.json(); const { results } = (await response.json()) as { results: TenorGif[] };
res.json(results.map(parseGifResult)).status(200); res.json(results.map(parseGifResult)).status(200);
}, },

View File

@ -17,9 +17,14 @@
*/ */
import { route } from "@spacebar/api"; import { route } from "@spacebar/api";
import { TenorMediaTypes, getGifApiKey, parseGifResult } from "@spacebar/util"; import {
TenorMediaTypes,
getGifApiKey,
parseGifResult,
TenorGif,
} from "@spacebar/util";
import { Request, Response, Router } from "express"; import { Request, Response, Router } from "express";
import fetch from "node-fetch"; import fetch from "node-fetch-commonjs";
import { ProxyAgent } from "proxy-agent"; import { ProxyAgent } from "proxy-agent";
const router = Router(); const router = Router();
@ -63,7 +68,7 @@ router.get(
}, },
); );
const { results } = await response.json(); const { results } = (await response.json()) as { results: TenorGif[] };
res.json(results.map(parseGifResult)).status(200); res.json(results.map(parseGifResult)).status(200);
}, },

View File

@ -24,7 +24,7 @@ import {
parseGifResult, parseGifResult,
} from "@spacebar/util"; } from "@spacebar/util";
import { Request, Response, Router } from "express"; import { Request, Response, Router } from "express";
import fetch from "node-fetch"; import fetch from "node-fetch-commonjs";
import { ProxyAgent } from "proxy-agent"; import { ProxyAgent } from "proxy-agent";
const router = Router(); const router = Router();

View File

@ -28,7 +28,7 @@ import {
Template, Template,
} from "@spacebar/util"; } from "@spacebar/util";
import { Request, Response, Router } from "express"; import { Request, Response, Router } from "express";
import fetch from "node-fetch"; import fetch from "node-fetch-commonjs";
const router: Router = Router(); const router: Router = Router();
router.get( router.get(

View File

@ -48,7 +48,7 @@ import {
} from "@spacebar/util"; } from "@spacebar/util";
import { HTTPError } from "lambert-server"; import { HTTPError } from "lambert-server";
import { In } from "typeorm"; import { In } from "typeorm";
import fetch from "node-fetch"; import fetch from "node-fetch-commonjs";
const allow_empty = false; const allow_empty = false;
// TODO: check webhook, application, system author, stickers // TODO: check webhook, application, system author, stickers
// TODO: embed gifs/videos/images // TODO: embed gifs/videos/images

View File

@ -19,7 +19,7 @@
import { Config, Embed, EmbedImage, EmbedType } from "@spacebar/util"; import { Config, Embed, EmbedImage, EmbedType } from "@spacebar/util";
import * as cheerio from "cheerio"; import * as cheerio from "cheerio";
import crypto from "crypto"; import crypto from "crypto";
import fetch, { RequestInit } from "node-fetch"; import fetch, { RequestInit } from "node-fetch-commonjs";
import { yellow } from "picocolors"; import { yellow } from "picocolors";
import probe from "probe-image-size"; import probe from "probe-image-size";
@ -221,7 +221,7 @@ export const EmbedHandlers: {
? { ? {
name: metas.site_name, name: metas.site_name,
url: url.origin, url: url.origin,
} }
: undefined, : undefined,
}; };
}, },
@ -269,7 +269,27 @@ export const EmbedHandlers: {
authorization: `Bearer ${token}`, authorization: `Bearer ${token}`,
}, },
}); });
const json = await response.json(); const json = (await response.json()) as {
errors?: never[];
includes: {
users: {
profile_image_url: string;
username: string;
name: string;
}[];
media: {
type: string;
width: number;
height: number;
url: string;
}[];
};
data: {
text: string;
created_at: string;
public_metrics: { like_count: number; retweet_count: number };
};
};
if (json.errors) return null; if (json.errors) return null;
const author = json.includes.users[0]; const author = json.includes.users[0];
const text = json.data.text; const text = json.data.text;
@ -508,7 +528,7 @@ export const EmbedHandlers: {
? { ? {
name: metas.author, name: metas.author,
// TODO: author channel url // TODO: author channel url
} }
: undefined, : undefined,
}; };
}, },
@ -533,7 +553,7 @@ export const EmbedHandlers: {
footer: hoverText footer: hoverText
? { ? {
text: hoverText, text: hoverText,
} }
: undefined, : undefined,
}; };
}, },

View File

@ -17,7 +17,7 @@
*/ */
import { Config } from "@spacebar/util"; import { Config } from "@spacebar/util";
import fetch from "node-fetch"; import fetch from "node-fetch-commonjs";
export interface hcaptchaResponse { export interface hcaptchaResponse {
success: boolean; success: boolean;

View File

@ -19,7 +19,7 @@
import { Config } from "@spacebar/util"; import { Config } from "@spacebar/util";
import { Request } from "express"; import { Request } from "express";
// use ipdata package instead of simple fetch because of integrated caching // use ipdata package instead of simple fetch because of integrated caching
import fetch from "node-fetch"; import fetch from "node-fetch-commonjs";
const exampleData = { const exampleData = {
ip: "", ip: "",
@ -85,7 +85,7 @@ export async function IPAnalysis(ip: string): Promise<typeof exampleData> {
return ( return (
await fetch(`https://api.ipdata.co/${ip}?api-key=${ipdataApiKey}`) await fetch(`https://api.ipdata.co/${ip}?api-key=${ipdataApiKey}`)
).json(); ).json() as Promise<typeof exampleData>;
} }
export function isProxy(data: typeof exampleData) { export function isProxy(data: typeof exampleData) {

View File

@ -17,7 +17,7 @@
*/ */
import "missing-native-js-functions"; import "missing-native-js-functions";
import fetch from "node-fetch"; import fetch from "node-fetch-commonjs";
import { ProxyAgent } from "proxy-agent"; import { ProxyAgent } from "proxy-agent";
import readline from "readline"; import readline from "readline";
import fs from "fs/promises"; import fs from "fs/promises";
@ -100,7 +100,7 @@ async function getLatestVersion(url: string) {
try { try {
const agent = new ProxyAgent(); const agent = new ProxyAgent();
const response = await fetch(url, { agent }); const response = await fetch(url, { agent });
const content = await response.json(); const content = (await response.json()) as { version: string };
return content.version; return content.version;
} catch (error) { } catch (error) {
throw new Error("[Auto update] check failed for " + url); throw new Error("[Auto update] check failed for " + url);

View File

@ -18,7 +18,7 @@
import FormData from "form-data"; import FormData from "form-data";
import { HTTPError } from "lambert-server"; import { HTTPError } from "lambert-server";
import fetch from "node-fetch"; import fetch from "node-fetch-commonjs";
import { Attachment } from "../entities"; import { Attachment } from "../entities";
import { Config } from "./Config"; import { Config } from "./Config";