update dependencies
This commit is contained in:
tamaina 2024-01-20 16:27:43 +00:00
parent d87bc5f1d5
commit 6b42019d5f
6 changed files with 230 additions and 224 deletions

View File

@ -29,7 +29,7 @@ export async function downloadUrl(url, path, settings = defaultDownloadConfig) {
lookup: timeout,
connect: timeout,
secureConnect: timeout,
socket: timeout,
socket: timeout, // read timeout
response: timeout,
send: timeout,
request: operationTimeout, // whole operation timeout

View File

@ -3,8 +3,8 @@ import * as https from 'node:https';
import CacheableLookup from 'cacheable-lookup';
import { HttpProxyAgent, HttpsProxyAgent } from 'hpagent';
const cache = new CacheableLookup({
maxTtl: 3600,
errorTtl: 30,
maxTtl: 3600, // 1hours
errorTtl: 30, // 30secs
lookup: false, // nativeのdns.lookupにfallbackしない
});
const _http = new http.Agent({

View File

@ -158,7 +158,7 @@ async function proxyHandler(request, reply) {
else if (file.mime === 'image/svg+xml') {
image = convertToWebpStream(file.path, 2048, 2048);
}
else if (!file.mime.startsWith('image/') || !FILE_TYPE_BROWSERSAFE.includes(file.mime)) {
else if (!(file.mime.startsWith('image/') || FILE_TYPE_BROWSERSAFE.includes(file.mime))) {
throw new StatusError('Rejected type', 403, 'Rejected type');
}
if (!image) {

View File

@ -26,20 +26,21 @@
},
"homepage": "https://github.com/misskey-dev/media-proxy#readme",
"devDependencies": {
"@swc/cli": "^0.1.62",
"@swc/core": "^1.3.86",
"@types/content-disposition": "^0.5.6",
"@types/node": "^20.6.3",
"@types/tmp": "^0.2.4",
"typescript": "^5.2.2"
"@swc/cli": "^0.1.63",
"@swc/core": "^1.3.104",
"@types/content-disposition": "^0.5.8",
"@types/node": "^20.11.5",
"@types/tmp": "^0.2.6",
"typescript": "^5.3.3"
},
"dependencies": {
"@fastify/static": "^6.11.2",
"@fastify/static": "^6.12.0",
"@misskey-dev/sharp-read-bmp": "^1.1.1",
"cacheable-lookup": "^7.0.0",
"content-disposition": "^0.5.4",
"fastify": "^4.23.2",
"fastify-cli": "^5.8.0",
"file-type": "^18.5.0",
"fastify": "^4.25.2",
"fastify-cli": "^6.0.1",
"file-type": "^19.0.0",
"got": "^13.0.0",
"hpagent": "^1.2.0",
"ip-cidr": "^3.1.0",
@ -47,7 +48,6 @@
"is-svg": "^5.0.0",
"private-ip": "^3.0.1",
"sharp": "^0.32.6",
"sharp-read-bmp": "github:misskey-dev/sharp-read-bmp",
"tmp": "^0.2.1"
}
}

420
pnpm-lock.yaml generated
View File

@ -6,8 +6,11 @@ settings:
dependencies:
'@fastify/static':
specifier: ^6.11.2
version: 6.11.2
specifier: ^6.12.0
version: 6.12.0
'@misskey-dev/sharp-read-bmp':
specifier: ^1.1.1
version: 1.1.1
cacheable-lookup:
specifier: ^7.0.0
version: 7.0.0
@ -15,14 +18,14 @@ dependencies:
specifier: ^0.5.4
version: 0.5.4
fastify:
specifier: ^4.23.2
version: 4.23.2
specifier: ^4.25.2
version: 4.25.2
fastify-cli:
specifier: ^5.8.0
version: 5.8.0
specifier: ^6.0.1
version: 6.0.1
file-type:
specifier: ^18.5.0
version: 18.5.0
specifier: ^19.0.0
version: 19.0.0
got:
specifier: ^13.0.0
version: 13.0.0
@ -44,32 +47,29 @@ dependencies:
sharp:
specifier: ^0.32.6
version: 0.32.6
sharp-read-bmp:
specifier: github:misskey-dev/sharp-read-bmp
version: github.com/misskey-dev/sharp-read-bmp/02d9dc189fa7df0c4bea09330be26741772dac01
tmp:
specifier: ^0.2.1
version: 0.2.1
devDependencies:
'@swc/cli':
specifier: ^0.1.62
version: 0.1.62(@swc/core@1.3.86)
specifier: ^0.1.63
version: 0.1.63(@swc/core@1.3.104)
'@swc/core':
specifier: ^1.3.86
version: 1.3.86
specifier: ^1.3.104
version: 1.3.104
'@types/content-disposition':
specifier: ^0.5.6
version: 0.5.6
specifier: ^0.5.8
version: 0.5.8
'@types/node':
specifier: ^20.6.3
version: 20.6.3
specifier: ^20.11.5
version: 20.11.5
'@types/tmp':
specifier: ^0.2.4
version: 0.2.4
specifier: ^0.2.6
version: 0.2.6
typescript:
specifier: ^5.2.2
version: 5.2.2
specifier: ^5.3.3
version: 5.3.3
packages:
@ -91,35 +91,35 @@ packages:
dependencies:
ajv: 8.12.0
ajv-formats: 2.1.1(ajv@8.12.0)
fast-uri: 2.2.0
fast-uri: 2.3.0
dev: false
/@fastify/deepmerge@1.3.0:
resolution: {integrity: sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A==}
dev: false
/@fastify/error@3.3.0:
resolution: {integrity: sha512-dj7vjIn1Ar8sVXj2yAXiMNCJDmS9MQ9XMlIecX2dIzzhjSHCyKo4DdXjXMs7wKW2kj6yvVRSpuQjOZ3YLrh56w==}
/@fastify/error@3.4.1:
resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==}
dev: false
/@fastify/fast-json-stringify-compiler@4.3.0:
resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==}
dependencies:
fast-json-stringify: 5.8.0
fast-json-stringify: 5.10.0
dev: false
/@fastify/send@2.1.0:
resolution: {integrity: sha512-yNYiY6sDkexoJR0D8IDy3aRP3+L4wdqCpvx5WP+VtEU58sn7USmKynBzDQex5X42Zzvw2gNzzYgP90UfWShLFA==}
dependencies:
'@lukeed/ms': 2.0.1
'@lukeed/ms': 2.0.2
escape-html: 1.0.3
fast-decode-uri-component: 1.0.1
http-errors: 2.0.0
mime: 3.0.0
dev: false
/@fastify/static@6.11.2:
resolution: {integrity: sha512-EH7mh7q4MfNdT7N07ZVlwsX/ObngMvQ7KBP0FXAuPov99Fjn80KSJMdxQhhYKAKWW1jXiFdrk8X7d6uGWdZFxg==}
/@fastify/static@6.12.0:
resolution: {integrity: sha512-KK1B84E6QD/FcQWxDI2aiUCwHxMJBI1KeCUzm1BwYpPY1b742+jeKruGHP2uOluuM6OkBPI8CIANrXcCRtC2oQ==}
dependencies:
'@fastify/accept-negotiator': 1.1.0
'@fastify/send': 2.1.0
@ -129,11 +129,19 @@ packages:
p-limit: 3.1.0
dev: false
/@lukeed/ms@2.0.1:
resolution: {integrity: sha512-Xs/4RZltsAL7pkvaNStUQt7netTkyxrS0K+RILcVr3TRMS/ToOg4I6uNfhB9SlGsnWBym4U+EaXq0f0cEMNkHA==}
/@lukeed/ms@2.0.2:
resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==}
engines: {node: '>=8'}
dev: false
/@misskey-dev/sharp-read-bmp@1.1.1:
resolution: {integrity: sha512-X52BQYL/I9mafypQ+wBhst+BUlYiPWnHhKGcF6ybcYSLl+zhcV0q5mezIXHozhM0Sv0A7xCdrWmR7TCNxHLrtQ==}
dependencies:
decode-bmp: 0.2.1
decode-ico: 0.4.1
sharp: 0.32.6
dev: false
/@mole-inc/bin-wrapper@8.0.1:
resolution: {integrity: sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@ -166,7 +174,7 @@ packages:
engines: {node: '>= 8'}
dependencies:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.15.0
fastq: 1.16.0
dev: true
/@sindresorhus/is@4.6.0:
@ -179,8 +187,8 @@ packages:
engines: {node: '>=14.16'}
dev: false
/@swc/cli@0.1.62(@swc/core@1.3.86):
resolution: {integrity: sha512-kOFLjKY3XH1DWLfXL1/B5MizeNorHR8wHKEi92S/Zi9Md/AK17KSqR8MgyRJ6C1fhKHvbBCl8wboyKAFXStkYw==}
/@swc/cli@0.1.63(@swc/core@1.3.104):
resolution: {integrity: sha512-EM9oxxHzmmsprYRbGqsS2M4M/Gr5Gkcl0ROYYIdlUyTkhOiX822EQiRCpPCwdutdnzH2GyaTN7wc6i0Y+CKd3A==}
engines: {node: '>= 12.13'}
hasBin: true
peerDependencies:
@ -191,16 +199,16 @@ packages:
optional: true
dependencies:
'@mole-inc/bin-wrapper': 8.0.1
'@swc/core': 1.3.86
'@swc/core': 1.3.104
commander: 7.2.0
fast-glob: 3.3.1
fast-glob: 3.3.2
semver: 7.5.4
slash: 3.0.0
source-map: 0.7.4
dev: true
/@swc/core-darwin-arm64@1.3.86:
resolution: {integrity: sha512-hMvSDms0sJJHNtRa3Vhmr9StWN1vmikbf5VE0IZUYGnF1/JZTkXU1h6CdNUY4Hr6i7uCZjH6BEhxFHX1JtKV4w==}
/@swc/core-darwin-arm64@1.3.104:
resolution: {integrity: sha512-rCnVj8x3kn6s914Adddu+zROHUn6mUEMkNKUckofs3W9OthNlZXJA3C5bS2MMTRFXCWamJ0Zmh6INFpz+f4Tfg==}
engines: {node: '>=10'}
cpu: [arm64]
os: [darwin]
@ -208,8 +216,8 @@ packages:
dev: true
optional: true
/@swc/core-darwin-x64@1.3.86:
resolution: {integrity: sha512-Jro6HVH4uSOBM7tTDaQNKLNc8BJV7n+SO+Ft2HAZINyeKJS/8MfEYneG7Vmqg18gv00c6dz9AOCcyz+BR7BFkQ==}
/@swc/core-darwin-x64@1.3.104:
resolution: {integrity: sha512-LBCWGTYkn1UjyxrmcLS3vZgtCDVhwxsQMV7jz5duc7Gas8SRWh6ZYqvUkjlXMDX1yx0uvzHrkaRw445+zDRj7Q==}
engines: {node: '>=10'}
cpu: [x64]
os: [darwin]
@ -217,8 +225,8 @@ packages:
dev: true
optional: true
/@swc/core-linux-arm-gnueabihf@1.3.86:
resolution: {integrity: sha512-wYB9m0pzXJVSzedXSl4JwS3gKtvcPinpe9MbkddezpqL7OjyDP6pHHW9qIucsfgCrtMtbPC2nqulXLPtAAyIjw==}
/@swc/core-linux-arm-gnueabihf@1.3.104:
resolution: {integrity: sha512-iFbsWcx0TKHWnFBNCuUstYqRtfkyBx7FKv5To1Hx14EMuvvoCD/qUoJEiNfDQN5n/xU9g5xq4RdbjEWCFLhAbA==}
engines: {node: '>=10'}
cpu: [arm]
os: [linux]
@ -226,8 +234,8 @@ packages:
dev: true
optional: true
/@swc/core-linux-arm64-gnu@1.3.86:
resolution: {integrity: sha512-fR44IyK5cdCaO8cC++IEH0Jn03tWnunJnjzA99LxlE5TRInSIOvFm+g5OSUQZDAvEXmQ38sd31LO2HOoDS1Edw==}
/@swc/core-linux-arm64-gnu@1.3.104:
resolution: {integrity: sha512-1BIIp+nUPrRHHaJ35YJqrwXPwYSITp5robqqjyTwoKGw2kq0x+A964kpWul6v0d7A9Ial8fyH4m13eSWBodD2A==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
@ -235,8 +243,8 @@ packages:
dev: true
optional: true
/@swc/core-linux-arm64-musl@1.3.86:
resolution: {integrity: sha512-EUPfdbK4dUk/nkX3Vmv/47XH+DqHOa9JI0CTthvJ8/ZXei1MKDUsUc+tI1zMQX2uCuSkSWsEIEpCmA0tMwFhtw==}
/@swc/core-linux-arm64-musl@1.3.104:
resolution: {integrity: sha512-IyDNkzpKwvLqmRwTW+s8f8OsOSSj1N6juZKbvNHpZRfWZkz3T70q3vJlDBWQwy8z8cm7ckd7YUT3eKcSBPPowg==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
@ -244,8 +252,8 @@ packages:
dev: true
optional: true
/@swc/core-linux-x64-gnu@1.3.86:
resolution: {integrity: sha512-snVZZWv8XgNVaKrTxtO3rUN+BbbB6I8Fqwe8zM/DWGJ096J13r89doQ48x5ZyO+bW4D48eZIWP5pdfSW7oBE3w==}
/@swc/core-linux-x64-gnu@1.3.104:
resolution: {integrity: sha512-MfX/wiRdTjE5uXHTDnaX69xI4UBfxIhcxbVlMj//N+7AX/G2pl2UFityfVMU2HpM12BRckrCxVI8F/Zy3DZkYQ==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
@ -253,8 +261,8 @@ packages:
dev: true
optional: true
/@swc/core-linux-x64-musl@1.3.86:
resolution: {integrity: sha512-PnnksUJymEJkdnbV2orOSOSB441UqsxYbJge9zbr5UTRXUfWO3eFRV0iTBegjTlOQGbW6yN+YRSDkenTbmCI6g==}
/@swc/core-linux-x64-musl@1.3.104:
resolution: {integrity: sha512-5yeILaxA31gGEmquErO8yxlq1xu0XVt+fz5mbbKXKZMRRILxYxNzAGb5mzV41r0oHz6Vhv4AXX/WMCmeWl+HkQ==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
@ -262,8 +270,8 @@ packages:
dev: true
optional: true
/@swc/core-win32-arm64-msvc@1.3.86:
resolution: {integrity: sha512-XlGEGyHwLndm08VvgeAPGj40L+Hx575MQC+2fsyB1uSNUN+uf7fvke+wc7k50a92CaQe/8foLyIR5faayozEJA==}
/@swc/core-win32-arm64-msvc@1.3.104:
resolution: {integrity: sha512-rwcImsYnWDWGmeESG0XdGGOql5s3cG5wA8C4hHHKdH76zamPfDKKQFBsjmoNi0f1IsxaI9AJPeOmD4bAhT1ZoQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [win32]
@ -271,8 +279,8 @@ packages:
dev: true
optional: true
/@swc/core-win32-ia32-msvc@1.3.86:
resolution: {integrity: sha512-U1BhZa1x9yn+wZGTQmt1cYR79a0FzW/wL6Jas1Pn0bykKLxdRU4mCeZt2P+T3buLm8jr8LpPWiCrbvr658PzwA==}
/@swc/core-win32-ia32-msvc@1.3.104:
resolution: {integrity: sha512-ICDA+CJLYC7NkePnrbh/MvXwDQfy3rZSFgrVdrqRosv9DKHdFjYDnA9++7ozjrIdFdBrFW2NR7pyUcidlwhNzA==}
engines: {node: '>=10'}
cpu: [ia32]
os: [win32]
@ -280,8 +288,8 @@ packages:
dev: true
optional: true
/@swc/core-win32-x64-msvc@1.3.86:
resolution: {integrity: sha512-wRoQUajqpE3wITHhZVj/6BPu/QwHriFHLHuJA+9y6PeGtUtTmntL42aBKXIFhfL767dYFtohyNg1uZ9eqbGyGQ==}
/@swc/core-win32-x64-msvc@1.3.104:
resolution: {integrity: sha512-fZJ1Ju62U4lMZVU+nHxLkFNcu0hG5Y0Yj/5zjrlbuX5N8J5eDndWAFsVnQhxRTZqKhZB53pvWRQs5FItSDqgXg==}
engines: {node: '>=10'}
cpu: [x64]
os: [win32]
@ -289,8 +297,8 @@ packages:
dev: true
optional: true
/@swc/core@1.3.86:
resolution: {integrity: sha512-bEXUtm37bcmJ3q+geG7Zy4rJNUzpxalXQUrrqX1ZoGj3HRtzdeVZ0L/um3fG2j16qe61t8TX/OIZ2G6j6dkG/w==}
/@swc/core@1.3.104:
resolution: {integrity: sha512-9LWH/qzR/Pmyco+XwPiPfz59T1sryI7o5dmqb593MfCkaX5Fzl9KhwQTI47i21/bXYuCdfa9ySZuVkzXMirYxA==}
engines: {node: '>=10'}
requiresBuild: true
peerDependencies:
@ -299,18 +307,23 @@ packages:
'@swc/helpers':
optional: true
dependencies:
'@swc/counter': 0.1.2
'@swc/types': 0.1.5
optionalDependencies:
'@swc/core-darwin-arm64': 1.3.86
'@swc/core-darwin-x64': 1.3.86
'@swc/core-linux-arm-gnueabihf': 1.3.86
'@swc/core-linux-arm64-gnu': 1.3.86
'@swc/core-linux-arm64-musl': 1.3.86
'@swc/core-linux-x64-gnu': 1.3.86
'@swc/core-linux-x64-musl': 1.3.86
'@swc/core-win32-arm64-msvc': 1.3.86
'@swc/core-win32-ia32-msvc': 1.3.86
'@swc/core-win32-x64-msvc': 1.3.86
'@swc/core-darwin-arm64': 1.3.104
'@swc/core-darwin-x64': 1.3.104
'@swc/core-linux-arm-gnueabihf': 1.3.104
'@swc/core-linux-arm64-gnu': 1.3.104
'@swc/core-linux-arm64-musl': 1.3.104
'@swc/core-linux-x64-gnu': 1.3.104
'@swc/core-linux-x64-musl': 1.3.104
'@swc/core-win32-arm64-msvc': 1.3.104
'@swc/core-win32-ia32-msvc': 1.3.104
'@swc/core-win32-x64-msvc': 1.3.104
dev: true
/@swc/counter@0.1.2:
resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==}
dev: true
/@swc/types@0.1.5:
@ -337,37 +350,39 @@ packages:
/@types/cacheable-request@6.0.3:
resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==}
dependencies:
'@types/http-cache-semantics': 4.0.2
'@types/http-cache-semantics': 4.0.4
'@types/keyv': 3.1.4
'@types/node': 20.6.3
'@types/responselike': 1.0.0
'@types/node': 20.11.5
'@types/responselike': 1.0.3
dev: true
/@types/content-disposition@0.5.6:
resolution: {integrity: sha512-GmShTb4qA9+HMPPaV2+Up8tJafgi38geFi7vL4qAM7k8BwjoelgHZqEUKJZLvughUw22h6vD/wvwN4IUCaWpDA==}
/@types/content-disposition@0.5.8:
resolution: {integrity: sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg==}
dev: true
/@types/http-cache-semantics@4.0.2:
resolution: {integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==}
/@types/http-cache-semantics@4.0.4:
resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
/@types/keyv@3.1.4:
resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
dependencies:
'@types/node': 20.6.3
'@types/node': 20.11.5
dev: true
/@types/node@20.6.3:
resolution: {integrity: sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==}
dev: true
/@types/responselike@1.0.0:
resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==}
/@types/node@20.11.5:
resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==}
dependencies:
'@types/node': 20.6.3
undici-types: 5.26.5
dev: true
/@types/tmp@0.2.4:
resolution: {integrity: sha512-Vq3rwM+2KgiLacq68EjTJD9cuJ/ne5pXntWn8B8Rxj25SLkGAhCgooCZ1lhcIcV5OFveJ+s5Cqpi+XKfFM/xZA==}
/@types/responselike@1.0.3:
resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==}
dependencies:
'@types/node': 20.11.5
dev: true
/@types/tmp@0.2.6:
resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==}
dev: true
/abort-controller@3.0.0:
@ -434,7 +449,7 @@ packages:
dependencies:
archy: 1.0.0
debug: 4.3.4
fastq: 1.15.0
fastq: 1.16.0
transitivePeerDependencies:
- supports-color
dev: false
@ -532,14 +547,14 @@ packages:
engines: {node: '>=14.16'}
dev: false
/cacheable-request@10.2.13:
resolution: {integrity: sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==}
/cacheable-request@10.2.14:
resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==}
engines: {node: '>=14.16'}
dependencies:
'@types/http-cache-semantics': 4.0.2
'@types/http-cache-semantics': 4.0.4
get-stream: 6.0.1
http-cache-semantics: 4.1.1
keyv: 4.5.3
keyv: 4.5.4
mimic-response: 4.0.0
normalize-url: 8.0.0
responselike: 3.0.0
@ -552,7 +567,7 @@ packages:
clone-response: 1.0.3
get-stream: 5.2.0
http-cache-semantics: 4.1.1
keyv: 4.5.3
keyv: 4.5.4
lowercase-keys: 2.0.0
normalize-url: 6.1.0
responselike: 2.0.1
@ -724,8 +739,8 @@ packages:
engines: {node: '>=8'}
dev: false
/dotenv@16.3.1:
resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==}
/dotenv@16.3.2:
resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==}
engines: {node: '>=12'}
dev: false
@ -808,8 +823,8 @@ packages:
sort-keys-length: 1.0.1
dev: true
/fast-content-type-parse@1.0.0:
resolution: {integrity: sha512-Xbc4XcysUXcsP5aHUU7Nq3OwvHq97C+WnbkeIefpeYLX+ryzFJlU6OStFJhs6Ol0LkUGpcK+wL0JwfM+FCU5IA==}
/fast-content-type-parse@1.1.0:
resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==}
dev: false
/fast-copy@3.0.1:
@ -828,8 +843,8 @@ packages:
resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
dev: false
/fast-glob@3.3.1:
resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
/fast-glob@3.3.2:
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
engines: {node: '>=8.6.0'}
dependencies:
'@nodelib/fs.stat': 2.0.5
@ -839,15 +854,16 @@ packages:
micromatch: 4.0.5
dev: true
/fast-json-stringify@5.8.0:
resolution: {integrity: sha512-VVwK8CFMSALIvt14U8AvrSzQAwN/0vaVRiFFUVlpnXSnDGrSkOAO5MtzyN8oQNjLd5AqTW5OZRgyjoNuAuR3jQ==}
/fast-json-stringify@5.10.0:
resolution: {integrity: sha512-fu1BhzPzgOdvK+sVhSPFzm06DQl0Dwbo+NQxWm21k03ili2wsJExXbGZ9qsD4Lsn7zFGltF8h9I1fuhk4JPnrQ==}
dependencies:
'@fastify/deepmerge': 1.3.0
ajv: 8.12.0
ajv-formats: 2.1.1(ajv@8.12.0)
fast-deep-equal: 3.1.3
fast-uri: 2.2.0
rfdc: 1.3.0
fast-uri: 2.3.0
json-schema-ref-resolver: 1.0.1
rfdc: 1.3.1
dev: false
/fast-querystring@1.1.2:
@ -865,19 +881,19 @@ packages:
resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
dev: false
/fast-uri@2.2.0:
resolution: {integrity: sha512-cIusKBIt/R/oI6z/1nyfe2FvGKVTohVRfvkOhvx0nCEW+xf5NoCXjAHcWp93uOUBchzYcsvPlrapAdX1uW+YGg==}
/fast-uri@2.3.0:
resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==}
dev: false
/fast-xml-parser@4.3.0:
resolution: {integrity: sha512-5Wln/SBrtlN37aboiNNFHfSALwLzpUx1vJhDgDVPKKG3JrNe8BWTUoNKqkeKk/HqNbKxC8nEAJaBydq30yHoLA==}
/fast-xml-parser@4.3.3:
resolution: {integrity: sha512-coV/D1MhrShMvU6D0I+VAK3umz6hUaxxhL0yp/9RjfiYUfAv14rDhGQL+PLForhMdr0wq3PiV07WtkkNjJjNHg==}
hasBin: true
dependencies:
strnum: 1.0.5
dev: false
/fastify-cli@5.8.0:
resolution: {integrity: sha512-8J1nej1nnF6UsgRv787rl9VkUjBnYVGXcbFvuAZ3LHP6mN8Sb7+0OBzcRs3SMO6qkRax89TqOUJWVNQHZXfixw==}
/fastify-cli@6.0.1:
resolution: {integrity: sha512-iGN4ULaftZr1qR7OTOQT4tbsduneQWXeF85EUnMeYGmxo5PPfrJ/o9r+X7hMgdnUGCDu2STCYDlMKNYtYYGdgA==}
hasBin: true
dependencies:
'@fastify/deepmerge': 1.3.0
@ -885,14 +901,14 @@ packages:
chokidar: 3.5.3
close-with-grace: 1.2.0
commist: 3.2.0
dotenv: 16.3.1
fastify: 4.23.2
dotenv: 16.3.2
fastify: 4.25.2
fastify-plugin: 4.5.1
generify: 4.2.0
help-me: 4.2.0
is-docker: 2.2.1
make-promises-safe: 5.1.0
pino-pretty: 10.2.0
pino-pretty: 10.3.1
pkg-up: 3.1.0
resolve-from: 5.0.0
semver: 7.5.4
@ -905,31 +921,31 @@ packages:
resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==}
dev: false
/fastify@4.23.2:
resolution: {integrity: sha512-WFSxsHES115svC7NrerNqZwwM0UOxbC/P6toT9LRHgAAFvG7o2AN5W+H4ihCtOGuYXjZf4z+2jXC89rVEoPWOA==}
/fastify@4.25.2:
resolution: {integrity: sha512-SywRouGleDHvRh054onj+lEZnbC1sBCLkR0UY3oyJwjD4BdZJUrxBqfkfCaqn74pVCwBaRHGuL3nEWeHbHzAfw==}
dependencies:
'@fastify/ajv-compiler': 3.5.0
'@fastify/error': 3.3.0
'@fastify/error': 3.4.1
'@fastify/fast-json-stringify-compiler': 4.3.0
abstract-logging: 2.0.1
avvio: 8.2.1
fast-content-type-parse: 1.0.0
fast-json-stringify: 5.8.0
find-my-way: 7.6.2
fast-content-type-parse: 1.1.0
fast-json-stringify: 5.10.0
find-my-way: 7.7.0
light-my-request: 5.11.0
pino: 8.15.1
process-warning: 2.2.0
pino: 8.17.2
process-warning: 3.0.0
proxy-addr: 2.0.7
rfdc: 1.3.0
rfdc: 1.3.1
secure-json-parse: 2.7.0
semver: 7.5.4
toad-cache: 3.2.0
toad-cache: 3.7.0
transitivePeerDependencies:
- supports-color
dev: false
/fastq@1.15.0:
resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
/fastq@1.16.0:
resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==}
dependencies:
reusify: 1.0.4
@ -942,9 +958,9 @@ packages:
token-types: 5.0.1
dev: true
/file-type@18.5.0:
resolution: {integrity: sha512-yvpl5U868+V6PqXHMmsESpg6unQ5GfnPssl4dxdJudBrr9qy7Fddt7EVX1VLlddFfe8Gj9N7goCZH22FXuSQXQ==}
engines: {node: '>=14.16'}
/file-type@19.0.0:
resolution: {integrity: sha512-s7cxa7/leUWLiXO78DVVfBVse+milos9FitauDLG1pI7lNaJ2+5lzPnr2N24ym+84HVwJL6hVuGfgVE+ALvU8Q==}
engines: {node: '>=18'}
dependencies:
readable-web-to-node-stream: 3.0.2
strtok3: 7.0.0
@ -971,8 +987,8 @@ packages:
dependencies:
to-regex-range: 5.0.1
/find-my-way@7.6.2:
resolution: {integrity: sha512-0OjHn1b1nCX3eVbm9ByeEHiscPYiHLfhei1wOUU9qffQkk98wE0Lo8VrVYfSGMgnSnDh86DxedduAnBf4nwUEw==}
/find-my-way@7.7.0:
resolution: {integrity: sha512-+SrHpvQ52Q6W9f3wJoJBbAQULJuNEEQwBvlvYwACDhBTLOTMiQ0HYWh4+vC3OivGP2ENcTI1oKlFA2OepJNjhQ==}
engines: {node: '>=14'}
dependencies:
fast-deep-equal: 3.1.3
@ -1085,7 +1101,7 @@ packages:
'@sindresorhus/is': 4.6.0
'@szmarczak/http-timer': 4.0.6
'@types/cacheable-request': 6.0.3
'@types/responselike': 1.0.0
'@types/responselike': 1.0.3
cacheable-lookup: 5.0.4
cacheable-request: 7.0.4
decompress-response: 6.0.0
@ -1102,11 +1118,11 @@ packages:
'@sindresorhus/is': 5.6.0
'@szmarczak/http-timer': 5.0.1
cacheable-lookup: 7.0.0
cacheable-request: 10.2.13
cacheable-request: 10.2.14
decompress-response: 6.0.0
form-data-encoder: 2.1.4
get-stream: 6.0.1
http2-wrapper: 2.2.0
http2-wrapper: 2.2.1
lowercase-keys: 3.0.0
p-cancelable: 3.0.0
responselike: 3.0.0
@ -1124,6 +1140,10 @@ packages:
readable-stream: 3.6.2
dev: false
/help-me@5.0.0:
resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==}
dev: false
/hpagent@1.2.0:
resolution: {integrity: sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==}
engines: {node: '>=14'}
@ -1151,8 +1171,8 @@ packages:
resolve-alpn: 1.2.1
dev: true
/http2-wrapper@2.2.0:
resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==}
/http2-wrapper@2.2.1:
resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==}
engines: {node: '>=10.19.0'}
dependencies:
quick-lru: 5.1.1
@ -1262,7 +1282,7 @@ packages:
resolution: {integrity: sha512-sRl7J0oX9yUNamSdc8cwgzh9KBLnQXNzGmW0RVHwg/jEYjGNYHC6UvnYD8+hAeut9WwxRvhG9biK7g/wDGxcMw==}
engines: {node: '>=14.16'}
dependencies:
fast-xml-parser: 4.3.0
fast-xml-parser: 4.3.3
dev: false
/isbinaryfile@4.0.10:
@ -1286,12 +1306,18 @@ packages:
/json-buffer@3.0.1:
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
/json-schema-ref-resolver@1.0.1:
resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==}
dependencies:
fast-deep-equal: 3.1.3
dev: false
/json-schema-traverse@1.0.0:
resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
dev: false
/keyv@4.5.3:
resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==}
/keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
dependencies:
json-buffer: 3.0.1
@ -1299,7 +1325,7 @@ packages:
resolution: {integrity: sha512-qkFCeloXCOMpmEdZ/MV91P8AT4fjwFXWaAFz3lUeStM8RcoM1ks4J/F8r1b3r6y/H4u3ACEJ1T+Gv5bopj7oDA==}
dependencies:
cookie: 0.5.0
process-warning: 2.2.0
process-warning: 2.3.2
set-cookie-parser: 2.6.0
dev: false
@ -1425,17 +1451,13 @@ packages:
engines: {node: '>= 0.4.0'}
dev: false
/node-abi@3.47.0:
resolution: {integrity: sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==}
/node-abi@3.54.0:
resolution: {integrity: sha512-p7eGEiQil0YUV3ItH4/tBb781L5impVmmx2E9FRKF7d18XXzp4PGT2tdYMFY6wQqgxD0IwNZOiSJ0/K0fSi/OA==}
engines: {node: '>=10'}
dependencies:
semver: 7.5.4
dev: false
/node-addon-api@5.1.0:
resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==}
dev: false
/node-addon-api@6.1.0:
resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==}
dev: false
@ -1469,8 +1491,9 @@ packages:
path-key: 3.1.1
dev: true
/on-exit-leak-free@2.1.0:
resolution: {integrity: sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==}
/on-exit-leak-free@2.1.2:
resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==}
engines: {node: '>=14.0.0'}
dev: false
/once@1.4.0:
@ -1569,27 +1592,27 @@ packages:
/pino-abstract-transport@1.1.0:
resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==}
dependencies:
readable-stream: 4.4.2
readable-stream: 4.5.2
split2: 4.2.0
dev: false
/pino-pretty@10.2.0:
resolution: {integrity: sha512-tRvpyEmGtc2D+Lr3FulIZ+R1baggQ4S3xD2Ar93KixFEDx6SEAUP3W5aYuEw1C73d6ROrNcB2IXLteW8itlwhA==}
/pino-pretty@10.3.1:
resolution: {integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==}
hasBin: true
dependencies:
colorette: 2.0.20
dateformat: 4.6.3
fast-copy: 3.0.1
fast-safe-stringify: 2.1.1
help-me: 4.2.0
help-me: 5.0.0
joycon: 3.1.1
minimist: 1.2.8
on-exit-leak-free: 2.1.0
on-exit-leak-free: 2.1.2
pino-abstract-transport: 1.1.0
pump: 3.0.0
readable-stream: 4.4.2
readable-stream: 4.5.2
secure-json-parse: 2.7.0
sonic-boom: 3.3.0
sonic-boom: 3.8.0
strip-json-comments: 3.1.1
dev: false
@ -1597,21 +1620,21 @@ packages:
resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==}
dev: false
/pino@8.15.1:
resolution: {integrity: sha512-Cp4QzUQrvWCRJaQ8Lzv0mJzXVk4z2jlq8JNKMGaixC2Pz5L4l2p95TkuRvYbrEbe85NQsDKrAd4zalf7Ml6WiA==}
/pino@8.17.2:
resolution: {integrity: sha512-LA6qKgeDMLr2ux2y/YiUt47EfgQ+S9LznBWOJdN3q1dx2sv0ziDLUBeVpyVv17TEcGCBuWf0zNtg3M5m1NhhWQ==}
hasBin: true
dependencies:
atomic-sleep: 1.0.0
fast-redact: 3.3.0
on-exit-leak-free: 2.1.0
on-exit-leak-free: 2.1.2
pino-abstract-transport: 1.1.0
pino-std-serializers: 6.2.2
process-warning: 2.2.0
process-warning: 3.0.0
quick-format-unescaped: 4.0.4
real-require: 0.2.0
safe-stable-stringify: 2.4.3
sonic-boom: 3.3.0
thread-stream: 2.4.0
sonic-boom: 3.8.0
thread-stream: 2.4.1
dev: false
/pkg-up@3.1.0:
@ -1632,7 +1655,7 @@ packages:
minimist: 1.2.8
mkdirp-classic: 0.5.3
napi-build-utils: 1.0.2
node-abi: 3.47.0
node-abi: 3.54.0
pump: 3.0.0
rc: 1.2.8
simple-get: 4.0.1
@ -1650,8 +1673,12 @@ packages:
netmask: 2.0.2
dev: false
/process-warning@2.2.0:
resolution: {integrity: sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==}
/process-warning@2.3.2:
resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==}
dev: false
/process-warning@3.0.0:
resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==}
dev: false
/process@0.11.10:
@ -1677,8 +1704,8 @@ packages:
end-of-stream: 1.4.4
once: 1.4.0
/punycode@2.3.0:
resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
/punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
dev: false
@ -1716,8 +1743,8 @@ packages:
string_decoder: 1.3.0
util-deprecate: 1.0.2
/readable-stream@4.4.2:
resolution: {integrity: sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==}
/readable-stream@4.5.2:
resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
abort-controller: 3.0.0
@ -1780,8 +1807,8 @@ packages:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
/rfdc@1.3.0:
resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==}
/rfdc@1.3.1:
resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==}
dev: false
/rimraf@3.0.2:
@ -1842,21 +1869,6 @@ packages:
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
dev: false
/sharp@0.31.3:
resolution: {integrity: sha512-XcR4+FCLBFKw1bdB+GEhnUNXNXvnt0tDo4WsBsraKymuo/IAuPuCBVAL2wIkUw2r/dwFW5Q5+g66Kwl2dgDFVg==}
engines: {node: '>=14.15.0'}
requiresBuild: true
dependencies:
color: 4.2.3
detect-libc: 2.0.2
node-addon-api: 5.1.0
prebuild-install: 7.1.1
semver: 7.5.4
simple-get: 4.0.1
tar-fs: 2.1.1
tunnel-agent: 0.6.0
dev: false
/sharp@0.32.6:
resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==}
engines: {node: '>=14.15.0'}
@ -1923,8 +1935,8 @@ packages:
engines: {node: '>=8'}
dev: true
/sonic-boom@3.3.0:
resolution: {integrity: sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g==}
/sonic-boom@3.8.0:
resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==}
dependencies:
atomic-sleep: 1.0.0
dev: false
@ -1968,8 +1980,8 @@ packages:
engines: {node: '>= 0.8'}
dev: false
/streamx@2.15.1:
resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==}
/streamx@2.15.6:
resolution: {integrity: sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==}
dependencies:
fast-fifo: 1.3.2
queue-tick: 1.0.1
@ -2037,7 +2049,7 @@ packages:
dependencies:
mkdirp-classic: 0.5.3
pump: 3.0.0
tar-stream: 3.1.6
tar-stream: 3.1.7
dev: false
/tar-stream@2.2.0:
@ -2051,16 +2063,16 @@ packages:
readable-stream: 3.6.2
dev: false
/tar-stream@3.1.6:
resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==}
/tar-stream@3.1.7:
resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
dependencies:
b4a: 1.6.4
fast-fifo: 1.3.2
streamx: 2.15.1
streamx: 2.15.6
dev: false
/thread-stream@2.4.0:
resolution: {integrity: sha512-xZYtOtmnA63zj04Q+F9bdEay5r47bvpo1CaNqsKi7TpoJHcotUez8Fkfo2RJWpW91lnnaApdpRbVwCWsy+ifcw==}
/thread-stream@2.4.1:
resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==}
dependencies:
real-require: 0.2.0
dev: false
@ -2086,8 +2098,8 @@ packages:
dependencies:
is-number: 7.0.0
/toad-cache@3.2.0:
resolution: {integrity: sha512-Hj5zSqBS6OHbZoQk9IU8VqIr+0JUpwzunnwSlFJhG8aJSInYUMEuzItl3kJsGteTPd1qtflafdRHlRtUazYeqg==}
/toad-cache@3.7.0:
resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==}
engines: {node: '>=12'}
dev: false
@ -2116,16 +2128,20 @@ packages:
safe-buffer: 5.2.1
dev: false
/typescript@5.2.2:
resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==}
/typescript@5.3.3:
resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
engines: {node: '>=14.17'}
hasBin: true
dev: true
/undici-types@5.26.5:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
dev: true
/uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies:
punycode: 2.3.0
punycode: 2.3.1
dev: false
/util-deprecate@1.0.2:
@ -2171,13 +2187,3 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
dev: false
github.com/misskey-dev/sharp-read-bmp/02d9dc189fa7df0c4bea09330be26741772dac01:
resolution: {tarball: https://codeload.github.com/misskey-dev/sharp-read-bmp/tar.gz/02d9dc189fa7df0c4bea09330be26741772dac01}
name: sharp-read-bmp
version: 1.0.0
dependencies:
decode-bmp: 0.2.1
decode-ico: 0.4.1
sharp: 0.31.3
dev: false

View File

@ -10,7 +10,7 @@ import { IImageStreamable, convertToWebpStream, webpDefault, convertSharpToWebpS
import type { FastifyInstance, FastifyRequest, FastifyReply, FastifyPluginOptions } from 'fastify';
import { detectType, isMimeImage } from './file-info.js';
import sharp from 'sharp';
import { sharpBmp } from 'sharp-read-bmp';
import { sharpBmp } from '@misskey-dev/sharp-read-bmp';
import { StatusError } from './status-error.js';
import { DownloadConfig, defaultDownloadConfig, downloadUrl } from './download.js';
import { getAgents } from './http.js';
@ -204,7 +204,7 @@ async function proxyHandler(request: FastifyRequest<{ Params: { url: string; };
};
} else if (file.mime === 'image/svg+xml') {
image = convertToWebpStream(file.path, 2048, 2048);
} else if (!file.mime.startsWith('image/') || !FILE_TYPE_BROWSERSAFE.includes(file.mime)) {
} else if (!(file.mime.startsWith('image/') || FILE_TYPE_BROWSERSAFE.includes(file.mime))) {
throw new StatusError('Rejected type', 403, 'Rejected type');
}