fix: maybe fix s3 max sockets issue (#752) + update next.js

This commit is contained in:
diced
2025-03-28 15:44:44 -07:00
parent e1256db661
commit 92b7024111
3 changed files with 198 additions and 83 deletions

View File

@@ -40,6 +40,7 @@
"@prisma/client": "^6.4.1",
"@prisma/internals": "^6.4.1",
"@prisma/migrate": "^6.4.1",
"@smithy/node-http-handler": "^4.0.4",
"@tabler/icons-react": "^3.30.0",
"@xoi/gps-metadata-remover": "^1.1.2",
"argon2": "^0.41.1",
@@ -63,7 +64,7 @@
"mantine-datatable": "^7.15.1",
"ms": "^2.1.3",
"multer": "1.4.5-lts.1",
"next": "^15.1.7",
"next": "^15.2.4",
"otplib": "^12.0.1",
"prisma": "^6.4.1",
"qrcode": "^1.5.4",

262
pnpm-lock.yaml generated
View File

@@ -68,6 +68,9 @@ importers:
'@prisma/migrate':
specifier: ^6.4.1
version: 6.4.1(@prisma/generator-helper@6.4.1)(@prisma/internals@6.4.1(typescript@5.7.3))
'@smithy/node-http-handler':
specifier: ^4.0.4
version: 4.0.4
'@tabler/icons-react':
specifier: ^3.30.0
version: 3.30.0(react@19.0.0)
@@ -138,8 +141,8 @@ importers:
specifier: 1.4.5-lts.1
version: 1.4.5-lts.1
next:
specifier: ^15.1.7
version: 15.1.7(@babel/core@7.26.9)(@opentelemetry/api@1.7.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
specifier: ^15.2.4
version: 15.2.4(@babel/core@7.26.9)(@opentelemetry/api@1.7.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
otplib:
specifier: ^12.0.1
version: 12.0.1
@@ -451,12 +454,16 @@ packages:
resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==}
engines: {node: '>=6.9.0'}
'@babel/generator@7.27.0':
resolution: {integrity: sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==}
engines: {node: '>=6.9.0'}
'@babel/helper-annotate-as-pure@7.25.9':
resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==}
engines: {node: '>=6.9.0'}
'@babel/helper-compilation-targets@7.26.5':
resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==}
'@babel/helper-compilation-targets@7.27.0':
resolution: {integrity: sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==}
engines: {node: '>=6.9.0'}
'@babel/helper-create-class-features-plugin@7.26.9':
@@ -509,8 +516,8 @@ packages:
resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
engines: {node: '>=6.9.0'}
'@babel/helpers@7.26.9':
resolution: {integrity: sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==}
'@babel/helpers@7.27.0':
resolution: {integrity: sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==}
engines: {node: '>=6.9.0'}
'@babel/parser@7.26.9':
@@ -518,6 +525,11 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
'@babel/parser@7.27.0':
resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==}
engines: {node: '>=6.0.0'}
hasBin: true
'@babel/plugin-proposal-class-properties@7.18.6':
resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
engines: {node: '>=6.9.0'}
@@ -533,14 +545,26 @@ packages:
resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==}
engines: {node: '>=6.9.0'}
'@babel/template@7.27.0':
resolution: {integrity: sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==}
engines: {node: '>=6.9.0'}
'@babel/traverse@7.26.9':
resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==}
engines: {node: '>=6.9.0'}
'@babel/traverse@7.27.0':
resolution: {integrity: sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==}
engines: {node: '>=6.9.0'}
'@babel/types@7.26.9':
resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==}
engines: {node: '>=6.9.0'}
'@babel/types@7.27.0':
resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==}
engines: {node: '>=6.9.0'}
'@csstools/color-helpers@5.0.1':
resolution: {integrity: sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==}
engines: {node: '>=18'}
@@ -1211,56 +1235,56 @@ packages:
peerDependencies:
react: ^18.x || ^19.x
'@next/env@15.1.7':
resolution: {integrity: sha512-d9jnRrkuOH7Mhi+LHav2XW91HOgTAWHxjMPkXMGBc9B2b7614P7kjt8tAplRvJpbSt4nbO1lugcT/kAaWzjlLQ==}
'@next/env@15.2.4':
resolution: {integrity: sha512-+SFtMgoiYP3WoSswuNmxJOCwi06TdWE733D+WPjpXIe4LXGULwEaofiiAy6kbS0+XjM5xF5n3lKuBwN2SnqD9g==}
'@next/eslint-plugin-next@15.1.7':
resolution: {integrity: sha512-kRP7RjSxfTO13NE317ek3mSGzoZlI33nc/i5hs1KaWpK+egs85xg0DJ4p32QEiHnR0mVjuUfhRIun7awqfL7pQ==}
'@next/swc-darwin-arm64@15.1.7':
resolution: {integrity: sha512-hPFwzPJDpA8FGj7IKV3Yf1web3oz2YsR8du4amKw8d+jAOHfYHYFpMkoF6vgSY4W6vB29RtZEklK9ayinGiCmQ==}
'@next/swc-darwin-arm64@15.2.4':
resolution: {integrity: sha512-1AnMfs655ipJEDC/FHkSr0r3lXBgpqKo4K1kiwfUf3iE68rDFXZ1TtHdMvf7D0hMItgDZ7Vuq3JgNMbt/+3bYw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
'@next/swc-darwin-x64@15.1.7':
resolution: {integrity: sha512-2qoas+fO3OQKkU0PBUfwTiw/EYpN+kdAx62cePRyY1LqKtP09Vp5UcUntfZYajop5fDFTjSxCHfZVRxzi+9FYQ==}
'@next/swc-darwin-x64@15.2.4':
resolution: {integrity: sha512-3qK2zb5EwCwxnO2HeO+TRqCubeI/NgCe+kL5dTJlPldV/uwCnUgC7VbEzgmxbfrkbjehL4H9BPztWOEtsoMwew==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
'@next/swc-linux-arm64-gnu@15.1.7':
resolution: {integrity: sha512-sKLLwDX709mPdzxMnRIXLIT9zaX2w0GUlkLYQnKGoXeWUhcvpCrK+yevcwCJPdTdxZEUA0mOXGLdPsGkudGdnA==}
'@next/swc-linux-arm64-gnu@15.2.4':
resolution: {integrity: sha512-HFN6GKUcrTWvem8AZN7tT95zPb0GUGv9v0d0iyuTb303vbXkkbHDp/DxufB04jNVD+IN9yHy7y/6Mqq0h0YVaQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
'@next/swc-linux-arm64-musl@15.1.7':
resolution: {integrity: sha512-zblK1OQbQWdC8fxdX4fpsHDw+VSpBPGEUX4PhSE9hkaWPrWoeIJn+baX53vbsbDRaDKd7bBNcXRovY1hEhFd7w==}
'@next/swc-linux-arm64-musl@15.2.4':
resolution: {integrity: sha512-Oioa0SORWLwi35/kVB8aCk5Uq+5/ZIumMK1kJV+jSdazFm2NzPDztsefzdmzzpx5oGCJ6FkUC7vkaUseNTStNA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
'@next/swc-linux-x64-gnu@15.1.7':
resolution: {integrity: sha512-GOzXutxuLvLHFDAPsMP2zDBMl1vfUHHpdNpFGhxu90jEzH6nNIgmtw/s1MDwpTOiM+MT5V8+I1hmVFeAUhkbgQ==}
'@next/swc-linux-x64-gnu@15.2.4':
resolution: {integrity: sha512-yb5WTRaHdkgOqFOZiu6rHV1fAEK0flVpaIN2HB6kxHVSy/dIajWbThS7qON3W9/SNOH2JWkVCyulgGYekMePuw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
'@next/swc-linux-x64-musl@15.1.7':
resolution: {integrity: sha512-WrZ7jBhR7ATW1z5iEQ0ZJfE2twCNSXbpCSaAunF3BKcVeHFADSI/AW1y5Xt3DzTqPF1FzQlwQTewqetAABhZRQ==}
'@next/swc-linux-x64-musl@15.2.4':
resolution: {integrity: sha512-Dcdv/ix6srhkM25fgXiyOieFUkz+fOYkHlydWCtB0xMST6X9XYI3yPDKBZt1xuhOytONsIFJFB08xXYsxUwJLw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
'@next/swc-win32-arm64-msvc@15.1.7':
resolution: {integrity: sha512-LDnj1f3OVbou1BqvvXVqouJZKcwq++mV2F+oFHptToZtScIEnhNRJAhJzqAtTE2dB31qDYL45xJwrc+bLeKM2Q==}
'@next/swc-win32-arm64-msvc@15.2.4':
resolution: {integrity: sha512-dW0i7eukvDxtIhCYkMrZNQfNicPDExt2jPb9AZPpL7cfyUo7QSNl1DjsHjmmKp6qNAqUESyT8YFl/Aw91cNJJg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
'@next/swc-win32-x64-msvc@15.1.7':
resolution: {integrity: sha512-dC01f1quuf97viOfW05/K8XYv2iuBgAxJZl7mbCKEjMgdQl5JjAKJ0D2qMKZCgPWDeFbFT0Q0nYWwytEW0DWTQ==}
'@next/swc-win32-x64-msvc@15.2.4':
resolution: {integrity: sha512-SbnWkJmkS7Xl3kre8SdMF6F/XDh1DTFEhp0jRTj/uB8iPKoU2bb2NDfcu+iifv1+mxQEd1g2vvSxcZbXSKyWiQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -1470,6 +1494,10 @@ packages:
resolution: {integrity: sha512-fiUIYgIgRjMWznk6iLJz35K2YxSLHzLBA/RC6lBrKfQ8fHbPfvk7Pk9UvpKoHgJjI18MnbPuEju53zcVy6KF1g==}
engines: {node: '>=18.0.0'}
'@smithy/abort-controller@4.0.2':
resolution: {integrity: sha512-Sl/78VDtgqKxN2+1qduaVE140XF+Xg+TafkncspwM4jFP/LHr76ZHmIY/y3V1M0mMLNk+Je6IGbzxy23RSToMw==}
engines: {node: '>=18.0.0'}
'@smithy/chunked-blob-reader-native@4.0.0':
resolution: {integrity: sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig==}
engines: {node: '>=18.0.0'}
@@ -1566,8 +1594,8 @@ packages:
resolution: {integrity: sha512-8mRTjvCtVET8+rxvmzRNRR0hH2JjV0DFOmwXPrISmTIJEfnCBugpYYGAsCj8t41qd+RB5gbheSQ/6aKZCQvFLQ==}
engines: {node: '>=18.0.0'}
'@smithy/node-http-handler@4.0.2':
resolution: {integrity: sha512-X66H9aah9hisLLSnGuzRYba6vckuFtGE+a5DcHLliI/YlqKrGoxhisD5XbX44KyoeRzoNlGr94eTsMVHFAzPOw==}
'@smithy/node-http-handler@4.0.4':
resolution: {integrity: sha512-/mdqabuAT3o/ihBGjL94PUbTSPSRJ0eeVTdgADzow0wRJ0rN4A27EOrtlK56MYiO1fDvlO3jVTCxQtQmK9dZ1g==}
engines: {node: '>=18.0.0'}
'@smithy/property-provider@4.0.1':
@@ -1578,10 +1606,18 @@ packages:
resolution: {integrity: sha512-TE4cpj49jJNB/oHyh/cRVEgNZaoPaxd4vteJNB0yGidOCVR0jCw/hjPVsT8Q8FRmj8Bd3bFZt8Dh7xGCT+xMBQ==}
engines: {node: '>=18.0.0'}
'@smithy/protocol-http@5.1.0':
resolution: {integrity: sha512-KxAOL1nUNw2JTYrtviRRjEnykIDhxc84qMBzxvu1MUfQfHTuBlCG7PA6EdVwqpJjH7glw7FqQoFxUJSyBQgu7g==}
engines: {node: '>=18.0.0'}
'@smithy/querystring-builder@4.0.1':
resolution: {integrity: sha512-wU87iWZoCbcqrwszsOewEIuq+SU2mSoBE2CcsLwE0I19m0B2gOJr1MVjxWcDQYOzHbR1xCk7AcOBbGFUYOKvdg==}
engines: {node: '>=18.0.0'}
'@smithy/querystring-builder@4.0.2':
resolution: {integrity: sha512-NTOs0FwHw1vimmQM4ebh+wFQvOwkEf/kQL6bSM1Lock+Bv4I89B3hGYoUEPkmvYPkDKyp5UdXJYu+PoTQ3T31Q==}
engines: {node: '>=18.0.0'}
'@smithy/querystring-parser@4.0.1':
resolution: {integrity: sha512-Ma2XC7VS9aV77+clSFylVUnPZRindhB7BbmYiNOdr+CHt/kZNJoPP0cd3QxCnCFyPXC4eybmyE98phEHkqZ5Jw==}
engines: {node: '>=18.0.0'}
@@ -1606,6 +1642,10 @@ packages:
resolution: {integrity: sha512-enhjdwp4D7CXmwLtD6zbcDMbo6/T6WtuuKCY49Xxc6OMOmUWlBEBDREsxxgV2LIdeQPW756+f97GzcgAwp3iLw==}
engines: {node: '>=18.0.0'}
'@smithy/types@4.2.0':
resolution: {integrity: sha512-7eMk09zQKCO+E/ivsjQv+fDlOupcFUCSC/L2YUPgwhvowVGWbPQHjEFcmjt7QQ4ra5lyowS92SV53Zc6XD4+fg==}
engines: {node: '>=18.0.0'}
'@smithy/url-parser@4.0.1':
resolution: {integrity: sha512-gPXcIEUtw7VlK8f/QcruNXm7q+T5hhvGu9tl63LsJPZ27exB6dtNwvh2HIi0v7JcXJ5emBxB+CJxwaLEdJfA+g==}
engines: {node: '>=18.0.0'}
@@ -2094,6 +2134,9 @@ packages:
caniuse-lite@1.0.30001700:
resolution: {integrity: sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==}
caniuse-lite@1.0.30001707:
resolution: {integrity: sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==}
ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
@@ -2404,8 +2447,8 @@ packages:
ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
electron-to-chromium@1.5.103:
resolution: {integrity: sha512-P6+XzIkfndgsrjROJWfSvVEgNHtPgbhVyTkwLjUM2HU/h7pZRORgaTlHqfAikqxKmdJMLW8fftrdGWbd/Ds0FA==}
electron-to-chromium@1.5.128:
resolution: {integrity: sha512-bo1A4HH/NS522Ws0QNFIzyPcyUUNV/yyy70Ho1xqfGYzPUme2F/xr4tlEOuM6/A538U1vDA7a4XfCd1CKRegKQ==}
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -3498,8 +3541,8 @@ packages:
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
engines: {node: '>= 0.6'}
next@15.1.7:
resolution: {integrity: sha512-GNeINPGS9c6OZKCvKypbL8GTsT5GhWPp4DM0fzkXJuXMilOO2EeFxuAY6JZbtk6XIl6Ws10ag3xRINDjSO5+wg==}
next@15.2.4:
resolution: {integrity: sha512-VwL+LAaPSxEkd3lU2xWbgEOtrM8oedmyhBqaVNmgKB+GvZlCy9rgaEc+y2on0wv+l0oSFqLtYD6dcC1eAedUaQ==}
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
hasBin: true
peerDependencies:
@@ -4451,8 +4494,8 @@ packages:
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
engines: {node: '>= 0.8'}
update-browserslist-db@1.1.2:
resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==}
update-browserslist-db@1.1.3:
resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
@@ -4776,7 +4819,7 @@ snapshots:
'@smithy/middleware-serde': 4.0.2
'@smithy/middleware-stack': 4.0.1
'@smithy/node-config-provider': 4.0.1
'@smithy/node-http-handler': 4.0.2
'@smithy/node-http-handler': 4.0.4
'@smithy/protocol-http': 5.0.1
'@smithy/smithy-client': 4.1.5
'@smithy/types': 4.1.0
@@ -4823,7 +4866,7 @@ snapshots:
'@smithy/middleware-serde': 4.0.2
'@smithy/middleware-stack': 4.0.1
'@smithy/node-config-provider': 4.0.1
'@smithy/node-http-handler': 4.0.2
'@smithy/node-http-handler': 4.0.4
'@smithy/protocol-http': 5.0.1
'@smithy/smithy-client': 4.1.5
'@smithy/types': 4.1.0
@@ -4866,7 +4909,7 @@ snapshots:
'@smithy/middleware-serde': 4.0.2
'@smithy/middleware-stack': 4.0.1
'@smithy/node-config-provider': 4.0.1
'@smithy/node-http-handler': 4.0.2
'@smithy/node-http-handler': 4.0.4
'@smithy/protocol-http': 5.0.1
'@smithy/smithy-client': 4.1.5
'@smithy/types': 4.1.0
@@ -4911,7 +4954,7 @@ snapshots:
'@smithy/middleware-serde': 4.0.2
'@smithy/middleware-stack': 4.0.1
'@smithy/node-config-provider': 4.0.1
'@smithy/node-http-handler': 4.0.2
'@smithy/node-http-handler': 4.0.4
'@smithy/protocol-http': 5.0.1
'@smithy/smithy-client': 4.1.5
'@smithy/types': 4.1.0
@@ -4956,7 +4999,7 @@ snapshots:
'@aws-sdk/core': 3.723.0
'@aws-sdk/types': 3.723.0
'@smithy/fetch-http-handler': 5.0.1
'@smithy/node-http-handler': 4.0.2
'@smithy/node-http-handler': 4.0.4
'@smithy/property-provider': 4.0.1
'@smithy/protocol-http': 5.0.1
'@smithy/smithy-client': 4.1.5
@@ -5210,14 +5253,14 @@ snapshots:
dependencies:
'@ampproject/remapping': 2.3.0
'@babel/code-frame': 7.26.2
'@babel/generator': 7.26.9
'@babel/helper-compilation-targets': 7.26.5
'@babel/generator': 7.27.0
'@babel/helper-compilation-targets': 7.27.0
'@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9)
'@babel/helpers': 7.26.9
'@babel/parser': 7.26.9
'@babel/template': 7.26.9
'@babel/traverse': 7.26.9
'@babel/types': 7.26.9
'@babel/helpers': 7.27.0
'@babel/parser': 7.27.0
'@babel/template': 7.27.0
'@babel/traverse': 7.27.0
'@babel/types': 7.27.0
convert-source-map: 2.0.0
debug: 4.4.0
gensync: 1.0.0-beta.2
@@ -5234,11 +5277,19 @@ snapshots:
'@jridgewell/trace-mapping': 0.3.25
jsesc: 3.1.0
'@babel/generator@7.27.0':
dependencies:
'@babel/parser': 7.27.0
'@babel/types': 7.27.0
'@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
jsesc: 3.1.0
'@babel/helper-annotate-as-pure@7.25.9':
dependencies:
'@babel/types': 7.26.9
'@babel/helper-compilation-targets@7.26.5':
'@babel/helper-compilation-targets@7.27.0':
dependencies:
'@babel/compat-data': 7.26.8
'@babel/helper-validator-option': 7.25.9
@@ -5268,8 +5319,8 @@ snapshots:
'@babel/helper-module-imports@7.25.9':
dependencies:
'@babel/traverse': 7.26.9
'@babel/types': 7.26.9
'@babel/traverse': 7.27.0
'@babel/types': 7.27.0
transitivePeerDependencies:
- supports-color
@@ -5278,7 +5329,7 @@ snapshots:
'@babel/core': 7.26.9
'@babel/helper-module-imports': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
'@babel/traverse': 7.26.9
'@babel/traverse': 7.27.0
transitivePeerDependencies:
- supports-color
@@ -5310,15 +5361,19 @@ snapshots:
'@babel/helper-validator-option@7.25.9': {}
'@babel/helpers@7.26.9':
'@babel/helpers@7.27.0':
dependencies:
'@babel/template': 7.26.9
'@babel/types': 7.26.9
'@babel/template': 7.27.0
'@babel/types': 7.27.0
'@babel/parser@7.26.9':
dependencies:
'@babel/types': 7.26.9
'@babel/parser@7.27.0':
dependencies:
'@babel/types': 7.27.0
'@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.26.9)':
dependencies:
'@babel/core': 7.26.9
@@ -5337,6 +5392,12 @@ snapshots:
'@babel/parser': 7.26.9
'@babel/types': 7.26.9
'@babel/template@7.27.0':
dependencies:
'@babel/code-frame': 7.26.2
'@babel/parser': 7.27.0
'@babel/types': 7.27.0
'@babel/traverse@7.26.9':
dependencies:
'@babel/code-frame': 7.26.2
@@ -5349,11 +5410,28 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@babel/traverse@7.27.0':
dependencies:
'@babel/code-frame': 7.26.2
'@babel/generator': 7.27.0
'@babel/parser': 7.27.0
'@babel/template': 7.27.0
'@babel/types': 7.27.0
debug: 4.4.0
globals: 11.12.0
transitivePeerDependencies:
- supports-color
'@babel/types@7.26.9':
dependencies:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
'@babel/types@7.27.0':
dependencies:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
'@csstools/color-helpers@5.0.1': {}
'@csstools/css-calc@2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)':
@@ -5876,34 +5954,34 @@ snapshots:
dependencies:
react: 19.0.0
'@next/env@15.1.7': {}
'@next/env@15.2.4': {}
'@next/eslint-plugin-next@15.1.7':
dependencies:
fast-glob: 3.3.1
'@next/swc-darwin-arm64@15.1.7':
'@next/swc-darwin-arm64@15.2.4':
optional: true
'@next/swc-darwin-x64@15.1.7':
'@next/swc-darwin-x64@15.2.4':
optional: true
'@next/swc-linux-arm64-gnu@15.1.7':
'@next/swc-linux-arm64-gnu@15.2.4':
optional: true
'@next/swc-linux-arm64-musl@15.1.7':
'@next/swc-linux-arm64-musl@15.2.4':
optional: true
'@next/swc-linux-x64-gnu@15.1.7':
'@next/swc-linux-x64-gnu@15.2.4':
optional: true
'@next/swc-linux-x64-musl@15.1.7':
'@next/swc-linux-x64-musl@15.2.4':
optional: true
'@next/swc-win32-arm64-msvc@15.1.7':
'@next/swc-win32-arm64-msvc@15.2.4':
optional: true
'@next/swc-win32-x64-msvc@15.1.7':
'@next/swc-win32-x64-msvc@15.2.4':
optional: true
'@nodelib/fs.scandir@2.1.5':
@@ -6092,6 +6170,11 @@ snapshots:
'@smithy/types': 4.1.0
tslib: 2.8.1
'@smithy/abort-controller@4.0.2':
dependencies:
'@smithy/types': 4.2.0
tslib: 2.8.1
'@smithy/chunked-blob-reader-native@4.0.0':
dependencies:
'@smithy/util-base64': 4.0.0
@@ -6251,12 +6334,12 @@ snapshots:
'@smithy/types': 4.1.0
tslib: 2.8.1
'@smithy/node-http-handler@4.0.2':
'@smithy/node-http-handler@4.0.4':
dependencies:
'@smithy/abort-controller': 4.0.1
'@smithy/protocol-http': 5.0.1
'@smithy/querystring-builder': 4.0.1
'@smithy/types': 4.1.0
'@smithy/abort-controller': 4.0.2
'@smithy/protocol-http': 5.1.0
'@smithy/querystring-builder': 4.0.2
'@smithy/types': 4.2.0
tslib: 2.8.1
'@smithy/property-provider@4.0.1':
@@ -6269,12 +6352,23 @@ snapshots:
'@smithy/types': 4.1.0
tslib: 2.8.1
'@smithy/protocol-http@5.1.0':
dependencies:
'@smithy/types': 4.2.0
tslib: 2.8.1
'@smithy/querystring-builder@4.0.1':
dependencies:
'@smithy/types': 4.1.0
'@smithy/util-uri-escape': 4.0.0
tslib: 2.8.1
'@smithy/querystring-builder@4.0.2':
dependencies:
'@smithy/types': 4.2.0
'@smithy/util-uri-escape': 4.0.0
tslib: 2.8.1
'@smithy/querystring-parser@4.0.1':
dependencies:
'@smithy/types': 4.1.0
@@ -6314,6 +6408,10 @@ snapshots:
dependencies:
tslib: 2.8.1
'@smithy/types@4.2.0':
dependencies:
tslib: 2.8.1
'@smithy/url-parser@4.0.1':
dependencies:
'@smithy/querystring-parser': 4.0.1
@@ -6390,7 +6488,7 @@ snapshots:
'@smithy/util-stream@4.1.1':
dependencies:
'@smithy/fetch-http-handler': 5.0.1
'@smithy/node-http-handler': 4.0.2
'@smithy/node-http-handler': 4.0.4
'@smithy/types': 4.1.0
'@smithy/util-base64': 4.0.0
'@smithy/util-buffer-from': 4.0.0
@@ -6842,10 +6940,10 @@ snapshots:
browserslist@4.24.4:
dependencies:
caniuse-lite: 1.0.30001700
electron-to-chromium: 1.5.103
caniuse-lite: 1.0.30001707
electron-to-chromium: 1.5.128
node-releases: 2.0.19
update-browserslist-db: 1.1.2(browserslist@4.24.4)
update-browserslist-db: 1.1.3(browserslist@4.24.4)
buffer-from@1.1.2: {}
@@ -6892,6 +6990,8 @@ snapshots:
caniuse-lite@1.0.30001700: {}
caniuse-lite@1.0.30001707: {}
ccount@2.0.1: {}
chalk@4.1.2:
@@ -7161,7 +7261,7 @@ snapshots:
ee-first@1.1.1: {}
electron-to-chromium@1.5.103: {}
electron-to-chromium@1.5.128: {}
emoji-regex@8.0.0: {}
@@ -8724,9 +8824,9 @@ snapshots:
negotiator@0.6.3: {}
next@15.1.7(@babel/core@7.26.9)(@opentelemetry/api@1.7.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
next@15.2.4(@babel/core@7.26.9)(@opentelemetry/api@1.7.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
dependencies:
'@next/env': 15.1.7
'@next/env': 15.2.4
'@swc/counter': 0.1.3
'@swc/helpers': 0.5.15
busboy: 1.6.0
@@ -8736,14 +8836,14 @@ snapshots:
react-dom: 19.0.0(react@19.0.0)
styled-jsx: 5.1.6(@babel/core@7.26.9)(react@19.0.0)
optionalDependencies:
'@next/swc-darwin-arm64': 15.1.7
'@next/swc-darwin-x64': 15.1.7
'@next/swc-linux-arm64-gnu': 15.1.7
'@next/swc-linux-arm64-musl': 15.1.7
'@next/swc-linux-x64-gnu': 15.1.7
'@next/swc-linux-x64-musl': 15.1.7
'@next/swc-win32-arm64-msvc': 15.1.7
'@next/swc-win32-x64-msvc': 15.1.7
'@next/swc-darwin-arm64': 15.2.4
'@next/swc-darwin-x64': 15.2.4
'@next/swc-linux-arm64-gnu': 15.2.4
'@next/swc-linux-arm64-musl': 15.2.4
'@next/swc-linux-x64-gnu': 15.2.4
'@next/swc-linux-x64-musl': 15.2.4
'@next/swc-win32-arm64-msvc': 15.2.4
'@next/swc-win32-x64-msvc': 15.2.4
'@opentelemetry/api': 1.7.0
sharp: 0.33.5
transitivePeerDependencies:
@@ -9824,7 +9924,7 @@ snapshots:
unpipe@1.0.0: {}
update-browserslist-db@1.1.2(browserslist@4.24.4):
update-browserslist-db@1.1.3(browserslist@4.24.4):
dependencies:
browserslist: 4.24.4
escalade: 3.2.0

View File

@@ -11,7 +11,9 @@ import {
} from '@aws-sdk/client-s3';
import Logger, { log } from '../logger';
import { ReadableStream } from 'stream/web';
import { NodeHttpHandler } from '@smithy/node-http-handler';
import { Agent as HttpAgent } from 'http';
import { Agent as HttpsAgent } from 'https';
export class S3Datasource extends Datasource {
name = 's3';
client: S3Client;
@@ -37,6 +39,18 @@ export class S3Datasource extends Datasource {
region: this.options.region ?? undefined,
endpoint: this.options.endpoint ?? undefined,
forcePathStyle: this.options.forcePathStyle ?? false,
requestHandler: new NodeHttpHandler({
connectionTimeout: 10_000,
socketTimeout: 120_000,
httpAgent: new HttpAgent({
maxSockets: 1000,
keepAlive: true,
}),
httpsAgent: new HttpsAgent({
maxSockets: 1000,
keepAlive: true,
}),
}),
});
this.ensureBucketExists();