Merge branch 'main' into dependabot/npm_and_yarn/mocha-11.7.2

This commit is contained in:
ElyPrism 2025-10-01 21:55:50 +08:00 committed by GitHub
commit cf97ed45b7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 213 additions and 66 deletions

36
package-lock.json generated
View File

@ -32,7 +32,7 @@
"@types/express": "^4.17.23",
"@types/express-fileupload": "^1.5.1",
"@types/mocha": "^9.1.1",
"@types/node": "16.11.19",
"@types/node": "24.6.1",
"@typescript-eslint/eslint-plugin": "5.0.0",
"@typescript-eslint/parser": "5.0.0",
"eslint": "8.7.0",
@ -425,10 +425,13 @@
"dev": true
},
"node_modules/@types/node": {
"version": "16.11.19",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.19.tgz",
"integrity": "sha512-BPAcfDPoHlRQNKktbsbnpACGdypPFBuX4xQlsWDE7B8XXcfII+SpOLay3/qZmCLb39kV5S1RTYwXdkx2lwLYng==",
"dev": true
"version": "24.6.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.6.1.tgz",
"integrity": "sha512-ljvjjs3DNXummeIaooB4cLBKg2U6SPI6Hjra/9rRIy7CpM0HpLtG9HptkMKAb4HYWy5S7HUvJEuWgr/y0U8SHw==",
"dev": true,
"dependencies": {
"undici-types": "~7.13.0"
}
},
"node_modules/@types/qs": {
"version": "6.9.9",
@ -6635,6 +6638,12 @@
"node": ">=4.2.0"
}
},
"node_modules/undici-types": {
"version": "7.13.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.13.0.tgz",
"integrity": "sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ==",
"dev": true
},
"node_modules/universal-deep-strict-equal": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz",
@ -7286,10 +7295,13 @@
"dev": true
},
"@types/node": {
"version": "16.11.19",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.19.tgz",
"integrity": "sha512-BPAcfDPoHlRQNKktbsbnpACGdypPFBuX4xQlsWDE7B8XXcfII+SpOLay3/qZmCLb39kV5S1RTYwXdkx2lwLYng==",
"dev": true
"version": "24.6.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.6.1.tgz",
"integrity": "sha512-ljvjjs3DNXummeIaooB4cLBKg2U6SPI6Hjra/9rRIy7CpM0HpLtG9HptkMKAb4HYWy5S7HUvJEuWgr/y0U8SHw==",
"dev": true,
"requires": {
"undici-types": "~7.13.0"
}
},
"@types/qs": {
"version": "6.9.9",
@ -11877,6 +11889,12 @@
"integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==",
"dev": true
},
"undici-types": {
"version": "7.13.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.13.0.tgz",
"integrity": "sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ==",
"dev": true
},
"universal-deep-strict-equal": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz",

View File

@ -1,6 +1,6 @@
{
"name": "@neteaseapireborn/api",
"version": "4.29.6",
"version": "4.29.7",
"description": "为停更的网易云音乐 NodeJs API 提供持续的维护!",
"scripts": {
"start": "node app.js",
@ -85,7 +85,7 @@
"@types/express": "^4.17.23",
"@types/express-fileupload": "^1.5.1",
"@types/mocha": "^9.1.1",
"@types/node": "16.11.19",
"@types/node": "24.6.1",
"@typescript-eslint/eslint-plugin": "5.0.0",
"@typescript-eslint/parser": "5.0.0",
"eslint": "8.7.0",

89
pnpm-lock.yaml generated
View File

@ -64,8 +64,8 @@ importers:
specifier: ^9.1.1
version: 9.1.1
'@types/node':
specifier: 16.11.19
version: 16.11.19
specifier: 24.6.1
version: 24.6.1
'@typescript-eslint/eslint-plugin':
specifier: 5.0.0
version: 5.0.0(@typescript-eslint/parser@5.0.0(eslint@8.7.0)(typescript@4.5.2))(eslint@8.7.0)(typescript@4.5.2)
@ -214,8 +214,8 @@ packages:
'@types/mocha@9.1.1':
resolution: {integrity: sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==}
'@types/node@16.11.19':
resolution: {integrity: sha512-BPAcfDPoHlRQNKktbsbnpACGdypPFBuX4xQlsWDE7B8XXcfII+SpOLay3/qZmCLb39kV5S1RTYwXdkx2lwLYng==}
'@types/node@24.6.1':
resolution: {integrity: sha512-ljvjjs3DNXummeIaooB4cLBKg2U6SPI6Hjra/9rRIy7CpM0HpLtG9HptkMKAb4HYWy5S7HUvJEuWgr/y0U8SHw==}
'@types/qs@6.14.0':
resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==}
@ -391,10 +391,6 @@ packages:
resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
engines: {node: '>= 0.4'}
async-generator-function@1.0.0:
resolution: {integrity: sha512-+NAXNqgCrB95ya4Sr66i1CL2hqLVckAk7xwRYWdcm39/ELQ6YNn1aw5r0bdQtqNZgQpEWzc5yc/igXc7aL5SLA==}
engines: {node: '>= 0.4'}
asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
@ -1105,16 +1101,16 @@ packages:
functions-have-names@1.2.3:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
generator-function@2.0.0:
resolution: {integrity: sha512-xPypGGincdfyl/AiSGa7GjXLkvld9V7GjZlowup9SHIJnQnHLFiLODCd/DqKOp0PBagbHJ68r1KJI9Mut7m4sA==}
generator-function@2.0.1:
resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==}
engines: {node: '>= 0.4'}
get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
get-intrinsic@1.3.1:
resolution: {integrity: sha512-fk1ZVEeOX9hVZ6QzoBNEC55+Ucqg4sTVwrVuigZhuRPESVFpMyXnd3sbXvPOwp7Y9riVyANiqhEuRF0G1aVSeQ==}
get-intrinsic@1.3.0:
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
engines: {node: '>= 0.4'}
get-proto@1.0.1:
@ -1351,8 +1347,8 @@ packages:
resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
engines: {node: '>=12'}
is-generator-function@1.1.0:
resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==}
is-generator-function@1.1.2:
resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==}
engines: {node: '>= 0.4'}
is-glob@4.0.3:
@ -2364,6 +2360,9 @@ packages:
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
engines: {node: '>= 0.4'}
undici-types@7.13.0:
resolution: {integrity: sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ==}
universal-deep-strict-equal@1.2.2:
resolution: {integrity: sha512-UpnFi3/IF3jZHIHTdQXTHLCqpBP3805OFFRPHgvCS7k0oob2YVXxMTjS0U0g9qJTzqFRMwEnFFSlFLqt6zwjTQ==}
@ -2593,15 +2592,15 @@ snapshots:
'@types/body-parser@1.19.6':
dependencies:
'@types/connect': 3.4.38
'@types/node': 16.11.19
'@types/node': 24.6.1
'@types/busboy@1.5.4':
dependencies:
'@types/node': 16.11.19
'@types/node': 24.6.1
'@types/connect@3.4.38':
dependencies:
'@types/node': 16.11.19
'@types/node': 24.6.1
'@types/express-fileupload@1.5.1':
dependencies:
@ -2610,7 +2609,7 @@ snapshots:
'@types/express-serve-static-core@4.19.6':
dependencies:
'@types/node': 16.11.19
'@types/node': 24.6.1
'@types/qs': 6.14.0
'@types/range-parser': 1.2.7
'@types/send': 0.17.5
@ -2630,7 +2629,9 @@ snapshots:
'@types/mocha@9.1.1': {}
'@types/node@16.11.19': {}
'@types/node@24.6.1':
dependencies:
undici-types: 7.13.0
'@types/qs@6.14.0': {}
@ -2639,12 +2640,12 @@ snapshots:
'@types/send@0.17.5':
dependencies:
'@types/mime': 1.3.5
'@types/node': 16.11.19
'@types/node': 24.6.1
'@types/serve-static@1.15.8':
dependencies:
'@types/http-errors': 2.0.5
'@types/node': 16.11.19
'@types/node': 24.6.1
'@types/send': 0.17.5
'@typescript-eslint/eslint-plugin@5.0.0(@typescript-eslint/parser@5.0.0(eslint@8.7.0)(typescript@4.5.2))(eslint@8.7.0)(typescript@4.5.2)':
@ -2809,7 +2810,7 @@ snapshots:
define-properties: 1.2.1
es-abstract: 1.24.0
es-errors: 1.3.0
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
is-array-buffer: 3.0.5
ast-types@0.13.4:
@ -2820,8 +2821,6 @@ snapshots:
async-function@1.0.0: {}
async-generator-function@1.0.0: {}
asynckit@0.4.0: {}
at-least-node@1.0.0: {}
@ -2909,13 +2908,13 @@ snapshots:
dependencies:
call-bind-apply-helpers: 1.0.2
es-define-property: 1.0.1
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
set-function-length: 1.2.2
call-bound@1.0.4:
dependencies:
call-bind-apply-helpers: 1.0.2
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
call-matcher@1.1.0:
dependencies:
@ -3226,7 +3225,7 @@ snapshots:
es-set-tostringtag: 2.1.0
es-to-primitive: 1.3.0
function.prototype.name: 1.1.8
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
get-proto: 1.0.1
get-symbol-description: 1.1.0
globalthis: 1.0.4
@ -3278,7 +3277,7 @@ snapshots:
es-set-tostringtag@2.1.0:
dependencies:
es-errors: 1.3.0
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
has-tostringtag: 1.0.2
hasown: 2.0.2
@ -3714,20 +3713,17 @@ snapshots:
functions-have-names@1.2.3: {}
generator-function@2.0.0: {}
generator-function@2.0.1: {}
get-caller-file@2.0.5: {}
get-intrinsic@1.3.1:
get-intrinsic@1.3.0:
dependencies:
async-function: 1.0.0
async-generator-function: 1.0.0
call-bind-apply-helpers: 1.0.2
es-define-property: 1.0.1
es-errors: 1.3.0
es-object-atoms: 1.1.1
function-bind: 1.1.2
generator-function: 2.0.0
get-proto: 1.0.1
gopd: 1.2.0
has-symbols: 1.1.0
@ -3745,7 +3741,7 @@ snapshots:
dependencies:
call-bound: 1.0.4
es-errors: 1.3.0
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
get-uri@6.0.5:
dependencies:
@ -3929,7 +3925,7 @@ snapshots:
dependencies:
call-bind: 1.0.8
call-bound: 1.0.4
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
is-async-function@2.1.1:
dependencies:
@ -3963,7 +3959,7 @@ snapshots:
is-data-view@1.0.2:
dependencies:
call-bound: 1.0.4
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
is-typed-array: 1.1.15
is-date-object@1.1.0:
@ -3981,9 +3977,10 @@ snapshots:
is-fullwidth-code-point@4.0.0: {}
is-generator-function@1.1.0:
is-generator-function@1.1.2:
dependencies:
call-bound: 1.0.4
generator-function: 2.0.1
get-proto: 1.0.1
has-tostringtag: 1.0.2
safe-regex-test: 1.1.0
@ -4048,7 +4045,7 @@ snapshots:
is-weakset@2.0.4:
dependencies:
call-bound: 1.0.4
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
isarray@1.0.0: {}
@ -4341,7 +4338,7 @@ snapshots:
own-keys@1.0.1:
dependencies:
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
object-keys: 1.1.1
safe-push-apply: 1.0.0
@ -4673,7 +4670,7 @@ snapshots:
es-abstract: 1.24.0
es-errors: 1.3.0
es-object-atoms: 1.1.1
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
get-proto: 1.0.1
which-builtin-type: 1.2.1
@ -4725,7 +4722,7 @@ snapshots:
dependencies:
call-bind: 1.0.8
call-bound: 1.0.4
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
has-symbols: 1.1.0
isarray: 2.0.5
@ -4792,7 +4789,7 @@ snapshots:
define-data-property: 1.1.4
es-errors: 1.3.0
function-bind: 1.1.2
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
gopd: 1.2.0
has-property-descriptors: 1.0.2
@ -4826,14 +4823,14 @@ snapshots:
dependencies:
call-bound: 1.0.4
es-errors: 1.3.0
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
object-inspect: 1.13.4
side-channel-weakmap@1.0.2:
dependencies:
call-bound: 1.0.4
es-errors: 1.3.0
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
object-inspect: 1.13.4
side-channel-map: 1.0.1
@ -5145,6 +5142,8 @@ snapshots:
has-symbols: 1.1.0
which-boxed-primitive: 1.1.1
undici-types@7.13.0: {}
universal-deep-strict-equal@1.2.2:
dependencies:
array-filter: 1.0.0
@ -5190,7 +5189,7 @@ snapshots:
is-async-function: 2.1.1
is-date-object: 1.1.0
is-finalizationregistry: 1.1.1
is-generator-function: 1.1.0
is-generator-function: 1.1.2
is-regex: 1.2.1
is-weakref: 1.1.1
isarray: 2.0.5

View File

@ -248,9 +248,9 @@ $ sudo docker run -d -p 3000:3000 netease-music-api
!> ~~因网易增加了网易云盾验证,密码登录暂时不要使用,尽量使用短信验证码登录和二维码登录,否则调用某些接口会触发需要验证的错误~~
!> ~~二开作者注: 现在网易云云盾验证再次升级, 导致现在短信验证码也没法用了~~
!> ~~二开作者再注: 现在二维码登录也无法使用了, 网易云官方最近查的太严了, 现在尝试调用会提示环境异常, 如果各位有绕过的方法请一定开`Pull Request`~~
!> 二开作者再注: 现在二维码登录也无法使用了, 网易云官方最近查的太严了, 现在尝试调用会提示环境异常, 如果各位有绕过的方法请一定开`Pull Request`
!> 二开作者注: 二维码登录现在是修复了, 但是密码登录和短信登录还是不行, 如果各位有绕过的方法请一定开`Pull Request`
#### 1. 手机登录
@ -1364,7 +1364,7 @@ tags: 歌单标签
说明 : 调用此接口 , 传入类型和歌单 id 可收藏歌单或者取消收藏歌单
!> 警告: 在`v4.25.0`版本后, 在网易云登陆后请求不要带上`cookie`字段, 会导致请求不合法
!> 警告: 在`v4.29.7`版本后, 在网易云登陆后请求要带上`timestamp`字段, 否则会导致请求不合法
**必选参数 :**
@ -1395,7 +1395,7 @@ tags: 歌单标签
说明 : 调用此接口 , 可以添加歌曲到歌单或者从歌单删除某首歌曲 ( 需要登录 )
!> 警告: 在`v4.25.0`版本后, 在网易云登陆后请求不要带上`cookie`字段, 会导致请求不合法
!> 警告: 在`v4.29.7`版本后, 在网易云登陆后请求要带上`timestamp`字段, 否则会导致请求不合法
**必选参数 :**

View File

@ -235,9 +235,9 @@
</a>
</li>
<li class="feature-item">
<a href="./song/url/unblock?id=1969519579">
<a href="./unblock_test.html">
<i class="mdi mdi-lock-open"></i>
歌曲解灰
解灰测试
</a>
</li>
<li class="feature-item">

123
public/unblock_test.html Normal file
View File

@ -0,0 +1,123 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>音乐解灰测试</title>
<style>
body {
font-family: Arial, sans-serif;
max-width: 800px;
margin: 20px auto;
padding: 0 20px;
}
.container {
background-color: #f5f5f5;
padding: 20px;
border-radius: 8px;
}
.form-group {
margin-bottom: 15px;
}
.source-options {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-bottom: 15px;
}
.source-option {
display: flex;
align-items: center;
gap: 5px;
}
button {
background-color: #4CAF50;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
}
button:hover {
background-color: #45a049;
}
#result {
margin-top: 20px;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
white-space: pre-wrap;
}
</style>
</head>
<body>
<div class="container">
<h1>音乐解灰测试</h1>
<div class="form-group">
<label for="songId">音乐 ID</label>
<input type="number" id="songId" placeholder="请输入音乐ID" required>
</div>
<div class="form-group">
<p>选择音源:</p>
<div class="source-options">
<div class="source-option">
<input type="checkbox" id="pyncmd" value="pyncmd">
<label for="pyncmd">pyncmd</label>
</div>
<div class="source-option">
<input type="checkbox" id="kuwo" value="kuwo">
<label for="kuwo">kuwo</label>
</div>
<div class="source-option">
<input type="checkbox" id="bodian" value="bodian">
<label for="bodian">bodian</label>
</div>
<div class="source-option">
<input type="checkbox" id="qq" value="qq">
<label for="qq">qq</label>
</div>
<div class="source-option">
<input type="checkbox" id="kugou" value="kugou">
<label for="kugou">kugou</label>
</div>
<div class="source-option">
<input type="checkbox" id="migu" value="migu">
<label for="migu">migu</label>
</div>
</div>
</div>
<button onclick="testSong()">开始测试</button>
<div id="result"></div>
</div>
<script>
async function testSong() {
const songId = document.getElementById('songId').value;
if (!songId) {
alert('请输入音乐ID');
return;
}
const sources = ['pyncmd', 'kuwo', 'bodian', 'qq', 'kugou', 'migu']
.filter(source => document.getElementById(source).checked)
.join(',');
if (!sources) {
alert('请至少选择一个音源');
return;
}
const resultDiv = document.getElementById('result');
resultDiv.textContent = '正在请求...';
try {
const response = await fetch(`/song/url/match?id=${songId}&source=${sources}`);
const data = await response.json();
resultDiv.textContent = JSON.stringify(data, null, 2);
} catch (error) {
resultDiv.textContent = `请求失败: ${error.message}`;
}
}
</script>
</body>
</html>

View File

@ -229,10 +229,12 @@
resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-9.1.1.tgz#e7c4f1001eefa4b8afbd1eee27a237fee3bf29c4"
integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==
"@types/node@*", "@types/node@16.11.19":
version "16.11.19"
resolved "https://registry.npmjs.org/@types/node/-/node-16.11.19.tgz"
integrity sha512-BPAcfDPoHlRQNKktbsbnpACGdypPFBuX4xQlsWDE7B8XXcfII+SpOLay3/qZmCLb39kV5S1RTYwXdkx2lwLYng==
"@types/node@*", "@types/node@24.6.1":
version "24.6.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-24.6.1.tgz#29cd365beb4419b3b8271c7464f1a563446d7481"
integrity sha512-ljvjjs3DNXummeIaooB4cLBKg2U6SPI6Hjra/9rRIy7CpM0HpLtG9HptkMKAb4HYWy5S7HUvJEuWgr/y0U8SHw==
dependencies:
undici-types "~7.13.0"
"@types/qs@*":
version "6.9.9"
@ -3873,6 +3875,11 @@ typescript@4.5.2:
resolved "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz"
integrity sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==
undici-types@~7.13.0:
version "7.13.0"
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.13.0.tgz#a20ba7c0a2be0c97bd55c308069d29d167466bff"
integrity sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ==
universal-deep-strict-equal@^1.2.1:
version "1.2.2"
resolved "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz"