diff --git a/README.md b/README.md index ecb45137..82d22357 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ - 克隆项目 -`git clone --recurse-submodules https://github.com/Linkontoask/radishes.git` +`git clone https://github.com/Linkontoask/radishes.git` - 安装依赖 @@ -26,9 +26,8 @@ # 安装前端项目依赖 cd radishes/ yarn -# 安装后端项目依赖 -cd NeteaseCloudMusicApi/ -yarn +# 安装 api 依赖 +yarn bootstrap ``` - 运行项目 diff --git a/api/.github/ISSUE_TEMPLATE/------.md b/api/.github/ISSUE_TEMPLATE/------.md deleted file mode 100644 index 6fa4f640..00000000 --- a/api/.github/ISSUE_TEMPLATE/------.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -name: 创建问题反馈 -about: 问题反馈 -title: "<不按照模版格式或者删除模版信息将得不到处理,确认看完了调用前须知再发 issues>" -labels: '' -assignees: '' - ---- - -## 环境 -- 系统/平台: <你的系统和平台> - -- nodejs 版本: <你的 NodeJS 版本号> - -- API版本: <运行的云音乐 API 的版本号, 对应 package.json 里面的 version> - -## 出现问题 -<请清晰描述出现的问题,不要使用xxx不行之类的模糊不清的语句,我没有读心术> - -## 重现步骤 -<请清晰描述重现步骤,调用的接口链接和参数以及命令行错误信息,最好贴上截图(命令行错误信息和接口返回内容)> - -## 期待效果 -<请清晰描述现在的效果和期待的效果> - - - ---- - ->维护项目都是业余时间,精力有限,我只能挑容易解决的issues处理,为了节约双方时间,请尽可能提供足够的有用的信息,给的信息不够我只能根据精力和时间看情况处理,如果模板信息看都不看就删掉,我不会进行任何回复,并且一个月后close掉issue - ->先看文档有没有相关说明,调用前须知必看,确认看完了调用前须知再发 issues - ->先在 issues 搜一下是否有相似问题,没有再发,否则直接关闭 - ->不处理别人搭建的线上服务的问题,此项目不提供任何线上服务,请自行搭建 - ->重现步骤尽量详细,不能含糊不清,包含请求地址和对应参数以及操作过程描述,不是每个人都喜欢猜别人遇到了什么问题和找参数一个个试,也比较浪费时间 - ->如果不是提建议,提 issues 如果不照着模版来将不会优先处理或放着不管 - ->460 cheating 的问题把 `utils/request.js` 里面的 `headers['X-Real-IP']` 的注释取消掉就好 diff --git a/api/.github/ISSUE_TEMPLATE/----.md b/api/.github/ISSUE_TEMPLATE/----.md deleted file mode 100644 index 603e1b33..00000000 --- a/api/.github/ISSUE_TEMPLATE/----.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: 功能需求 -about: 希望添加新接口 -title: '' -labels: 功能需求 -assignees: '' - ---- - -**功能描述** -- 请清晰描述你所希望添加的功能,最好贴上对应客户端界面的截图 diff --git a/api/.github/workflows/node.js.yml b/api/.github/workflows/node.js.yml deleted file mode 100644 index f198a1ff..00000000 --- a/api/.github/workflows/node.js.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Node.js CI - -on: - pull_request: - branches: [ master ] - push: - branches: [ master ] -jobs: - test: - name: Test - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [12.x, 14.x] - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - uses: actions/cache@v2 - with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-node- - - run: npm ci - name: Install dependencies - - name: Test - env: - NCM_API_TEST_LOGIN_PHONE: ${{ secrets.NCM_API_TEST_LOGIN_PHONE }} - NCM_API_TEST_LOGIN_PASSWORD: ${{ secrets.NCM_API_TEST_LOGIN_PASSWORD }} - run: npm test - lint: - name: Lint - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [14.x] - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - uses: actions/cache@v2 - with: - path: ~/.npm - key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-node- - - run: npm ci - name: Install dependencies - - name: Lint - run: npm run lint diff --git a/api/docs/.nojekyll b/api/docs/.nojekyll deleted file mode 100644 index e69de29b..00000000 diff --git a/api/docs/README.md b/api/docs/README.md deleted file mode 100644 index e14e0776..00000000 --- a/api/docs/README.md +++ /dev/null @@ -1,3040 +0,0 @@ -# NeteaseCloudMusicApi - -网易云音乐 NodeJS 版 API - -## 灵感来自 - -[disoul/electron-cloud-music](https://github.com/disoul/electron-cloud-music) - -[darknessomi/musicbox](https://github.com/darknessomi/musicbox) - -[sqaiyan/netmusic-node](https://github.com/sqaiyan/netmusic-node) - -## 工作原理 - -跨站请求伪造 (CSRF), 伪造请求头 , 调用官方 API - -## 功能特性 - -1. 登录 -2. 刷新登录 -3. 发送验证码 -4. 校验验证码 -5. 注册(修改密码) -6. 获取用户信息 , 歌单,收藏,mv, dj 数量 -7. 获取用户歌单 -8. 获取用户电台 -9. 获取用户关注列表 -10. 获取用户粉丝列表 -11. 获取用户动态 -12. 获取用户播放记录 -13. 获取精品歌单 -14. 获取歌单详情 -15. 搜索 -16. 搜索建议 -17. 获取歌词 -18. 歌曲评论 -19. 收藏单曲到歌单 -20. 专辑评论 -21. 歌单评论 -22. mv 评论 -23. 电台节目评论 -24. banner -25. 获取歌曲详情 -26. 获取专辑内容 -27. 获取歌手单曲 -28. 获取歌手 mv -29. 获取歌手专辑 -30. 获取歌手描述 -31. 获取相似歌手 -32. 获取相似歌单 -33. 相似 mv -34. 获取相似音乐 -35. 获取最近 5 个听了这首歌的用户 -36. 获取每日推荐歌单 -37. 获取每日推荐歌曲 -38. 私人 FM -39. 签到 -40. 喜欢音乐 -41. 垃圾桶 -42. 歌单 ( 网友精选碟 ) -43. 新碟上架 -44. 热门歌手 -45. 最新 mv -46. 推荐 mv -47. 推荐歌单 -48. 推荐新音乐 -49. 推荐电台 -50. 推荐节目 -51. 独家放送 -52. mv 排行 -53. 获取 mv 数据 -54. 播放 mv/视频 -55. 排行榜 -56. 歌手榜 -57. 云盘 -58. 电台 - 推荐 -59. 电台 - 分类 -60. 电台 - 分类推荐 -61. 电台 - 订阅 -62. 电台 - 详情 -63. 电台 - 节目 -64. 给评论点赞 -65. 获取动态 -66. 热搜列表(简略) -67. 发送私信 -68. 发送私信歌单 -69. 新建歌单 -70. 收藏/取消收藏歌单 -71. 歌单分类 -72. 收藏的歌手列表 -73. 订阅的电台列表 -74. 相关歌单推荐 -75. 付费精选接口 -76. 音乐是否可用检查接口 -77. 登录状态 -78. 获取视频播放地址 -79. 发送/删除评论 -80. 热门评论 -81. 视频评论 -82. 退出登录 -83. 所有榜单 -84. 所有榜单内容摘要 -85. 收藏视频 -86. 收藏 MV -87. 视频详情 -88. 相关视频 -89. 关注用户 -90. 新歌速递 -91. 喜欢音乐列表(无序) -92. 收藏的 MV 列表 -93. 获取最新专辑 -94. 听歌打卡 -95. 获取视频标签/分类下的视频 -96. 已收藏专辑列表 -97. 获取动态评论 -98. 歌单收藏者列表 -99. 云盘歌曲删除 -100. 热门话题 -101. 电台 - 推荐类型 -102. 电台 - 非热门类型 -103. 电台 - 今日优选 -104. 心动模式/智能播放 -105. 转发动态 -106. 删除动态 -107. 分享歌曲、歌单、mv、电台、电台节目到动态 -108. 通知-私信 -109. 通知-评论 -110. 通知-@我 -111. 通知-通知 -112. 设置 -113. 云盘数据详情 -114. 私信内容 -115. 我的数字专辑 -116. batch批量请求接口 -117. 获取视频标签列表 -118. 全部mv -119. 网易出品mv -120. 收藏/取消收藏专辑 -121. 专辑动态信息 -122. 热搜列表(详细) -123. 更换绑定手机 -124. 检测手机号码是否已注册 -125. 初始化昵称 -126. 更新歌单描述 -127. 更新歌单名 -128. 更新歌单标签 -129. 默认搜索关键词 -130. 删除歌单 -131. 电台banner -132. 用户电台 -133. 热门电台 -134. 电台 - 节目详情 -135. 电台 - 节目榜 -136. 电台 - 新晋电台榜/热门电台榜 -137. 类别热门电台 -138. 云村热评 -139. 电台24小时节目榜 -140. 电台24小时主播榜 -141. 电台最热主播榜 -142. 电台主播新人榜 -143. 电台付费精品榜 -144. 歌手热门50首歌曲 -145. 购买数字专辑 -146. 获取 mv 点赞转发评论数数据 -147. 获取视频点赞转发评论数数据 -148. 调整歌单顺序 -149. 调整歌曲顺序 -150. 独家放送列表 -151. 获取推荐视频 -152. 获取视频分类列表 -153. 获取全部视频列表接口 -154. 获取历史日推可用日期列表 -155. 获取历史日推详细数据 -156. 国家编码列表 -157. 首页-发现 -158. 首页-发现-圆形图标入口列表 -159. 全部新碟 -160. 数字专辑-新碟上架 -161. 数字专辑&数字单曲-榜单 -162. 数字专辑-语种风格馆 -163. 数字专辑详情 -164. 更新头像 -165. 歌单封面上传 -166. 楼层评论 -167. 歌手全部歌曲 -168. 精品歌单标签列表 -169. 用户等级信息 -170. 电台个性推荐 -171. 用户绑定信息 -172. 用户绑定手机 -173. 新版评论 -174. 点赞过的视频 -175. 收藏视频到视频歌单 -176. 删除视频歌单里的视频 -177. 最近播放的视频 -178. 音乐日历 -179. 电台订阅者列表 -180. 云贝签到信息 -181. 云贝签到 -182. 云贝所有任务 -183. 云贝todo任务 -184. 云贝今日签到信息 -185. 云贝完成任务 -186. 云贝收入 -187. 云贝支出 -188. 云贝账户信息 -189. 账号信息 - -## 安装 - -```shell -$ git clone git@github.com:Binaryify/NeteaseCloudMusicApi.git - -$ npm install -``` - -## 运行 - -```shell -$ node app.js -``` - -服务器启动默认端口为 3000, 若不想使用 3000 端口 , 可使用以下命令 : Mac/Linux - -```shell -$ PORT=4000 node app.js -``` - -windows 下使用 git-bash 或者 cmder 等终端执行以下命令 : - -```shell -$ set PORT=4000 && node app.js -``` - -服务器启动默认 host 为localhost,如果需要更改, 可使用以下命令 : Mac/Linux -```shell -$ HOST=127.0.0.1 node app.js -``` -windows 下使用 git-bash 或者 cmder 等终端执行以下命令 : - -```shell -$ set HOST=127.0.0.1 && node app.js -``` -## 可以使用代理 - -在 query 参数中加上 proxy=your-proxy 即可让这一次的请求使用 proxy - -```javascript -// 例子 -const url = `http://localhost:3000/song/url?id=33894312&proxy=http://121.196.226.246:84` -fetch(url).then(function() { - // do what you want -}) - -// 结果 -// {"data":[{"id":33894312,"url":"http://m10.music.126.net/20180104125640/930a968b3fb04908b733506b3833e60b/ymusic/0fd6/4f65/43ed/a8772889f38dfcb91c04da915b301617.mp3","br":320000,"size":10691439,"md5":"a8772889f38dfcb91c04da915b301617","code":200,"expi":1200,"type":"mp3","gain":-2.0E-4,"fee":0,"uf":null,"payed":0,"flag":0,"canExtend":false}],"code": 200} -``` -v3.3.0 后支持使用 PAC代理,如 `?proxy=http://192.168.0.1/proxy.pac` - -## 可以在Node.js调用 -v3.31.0后支持Node.js调用,导入的方法为`module`内的文件名,返回内容包含`status`和`body`,`status`为状态码,`body`为请求返回内容,参考`module_example` 文件夹下的 `test.js` -```js -const { login_cellphone, user_cloud } = require('NeteaseCloudMusicApi') -async function main() { - try { - const result = await login_cellphone({ - phone: '手机号', - password: '密码' - }) - console.log(result) - const result2 = await user_cloud({ - cookie: result.body.cookie // 凭证 - }) - console.log(result2.body) - - } catch (error) { - console.log(error) - } -} -main() -``` - -## 支持 TypeScript -```ts -// test.ts -import { banner } from 'NeteaseCloudMusicApi' -banner({ type:0 }).then(res=>{ - console.log(res) -}) -``` - -## 更新到 v3.0 说明 - -!>2018.10.14 更新到 3.0.0,使用了模块化机制,因为部分接口参数和 url 做了调整,如还不想升级到 3.0.0,请查看 [v2 的文档](http://binaryify.github.io/NeteaseCloudMusicApi/#/v2), [更新日志](https://github.com/Binaryify/NeteaseCloudMusicApi/blob/master/CHANGELOG.MD), [2.0+下载地址](https://github.com/Binaryify/NeteaseCloudMusicApi/releases/tag/v2.20.5), 同时 2.0+ 将不再维护 - -## Docker 容器运行 - -> 注意: 在 docker 中运行的时候, 由于使用了 request 来发请求, 所以会检查几个 proxy 相关的环境变量(如下所列), 这些环境变量 会影响到 request 的代理, 详情请参考[request 的文档](https://github.com/request/request#proxies), 如果这些环境变量 指向的代理不可用, 那么就会造成错误, 所以在使用 docker 的时候一定要注意这些环境变量. 不过, 要是你在 query 中加上了 proxy 参数, 那么环境变量会被覆盖, 就会用你通过 proxy 参数提供的代理了. - -request 相关的环境变量 - -1. http_proxy -2. https_proxy -3. HTTP_PROXY -4. HTTPS_PROXY -5. no_proxy -6. NO_PROXY - -```shell -docker pull binaryify/netease_cloud_music_api - -docker run -d -p 3000:3000 --name netease_cloud_music_api binaryify/netease_cloud_music_api - - -// 或者 -docker run -d -p 3000:3000 binaryify/netease_cloud_music_api - -// 去掉或者设置相关的环境变量 - -docker run -d -p 3000:3000 --name netease_cloud_music_api -e http_proxy= -e https_proxy= -e no_proxy= -e HTTP_PROXY= -e HTTPS_PROXY= -e NO_PROXY= binaryify/netease_cloud_music_api - -// 或者 -docker run -d -p 3000:3000 -e http_proxy= -e https_proxy= -e no_proxy= -e HTTP_PROXY= -e HTTPS_PROXY= -e NO_PROXY= binaryify/netease_cloud_music_api -``` - -> 以下是自行 build docker 镜像方式 - -``` -$ git clone https://github.com/Binaryify/NeteaseCloudMusicApi && cd NeteaseCloudMusicApi - -$ sudo docker build . -t netease-music-api - -$ sudo docker run -d -p 3000:3000 netease-music-api -``` - -## 接口文档 - -### 调用前须知 -!> 本项目不提供线上 demo,请不要轻易信任使用他人提供的公开服务,以免发生安全问题,泄露自己的账号和密码 - -!> 为使用方便,降低门槛, 文档示例接口直接使用了 GET 请求,本项目同时支持 GET/POST 请按实际需求使用 (POST请求url必须添加时间戳,使每次请求url不一样,不然请求会被缓存) - -!> 由于接口做了缓存处理 ( 缓存 2 分钟,不缓存数据极容易引起网易服务器高频ip错误 , 可在 app.js 设置 , 可能会导致登录后获取不到 cookie), **相同的 url** 会在两分钟内只向网易服务器发一次请求 , 如果遇到不需要缓 -存结果的接口 , 可在请求 url 后面加一个时间戳参数使 url 不同 , 例子 : -`/simi/playlist?id=347230×tamp=1503019930000` (之所以加入缓存机制是因为项目早期没有缓存机制,很多 issues 都是报 IP高频,请按自己需求改造缓存中间件(app.js),源码不复杂) - -!> 如果是跨域请求 , 请在所有请求带上 `xhrFields: { withCredentials: true }` (axios 为 `withCredentials: true`)否则 -可能会因为没带上 cookie 导致 301, 具体例子可看 `public/test.html`, 访问`http://localhost:3000/test.html`(默认端口的话) 例子使用 jQuery 和 axios - -!> 301 错误基本都是没登录就调用了需要登录的接口,如果登录了还是提示 301, 基本都是缓存把数据缓存起来了,解决方法是加时间戳或者等待 2 分钟或者重启服务重新登录后再调用接口,可自行改造缓存方法 - -!> 部分接口如登录接口不能调用太频繁 , 否则可能会触发 503 错误或者 ip 高频错误 ,若需频繁调用 , 需要准备 IP 代理池 (更新:已加入缓存机制,但仍需注意). - -!> 本项目仅供学习使用,请尊重版权,请勿利用此项目从事商业行为 - -!> 文档可能会有缓存 , 如果文档版本和 github 上的版本不一致,请清除缓存再查看 - -!> 由于网易限制,此项目在国外服务器或部分国内云服务上使用会受到限制,如 `460 cheating异常`,如需解决 , 可使用大陆服务器或者使用代理 , 感谢 [@hiyangguo](https://github.com/hiyangguo)提出的[解决方法](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/29#issuecomment-298358438): -在 '/util/request.js' 的 'headers' 处增加 `X-Real-IP':'211.161.244.70' // 任意国内 IP` -即可解决 - -!> 图片加上 `?param=宽y高` 可控制图片尺寸,如 `http://p4.music.126.net/JzNK4a5PjjPIXAgVlqEc5Q==/109951164154280311.jpg?param=200y200`, `http://p4.music.126.net/JzNK4a5PjjPIXAgVlqEc5Q==/109951164154280311.jpg?param=50y50` - -!> 分页接口返回字段里有`more`,more为true则为有下一页 - -### 登录 - -说明 : 登录有两个接口,建议使用`encodeURIComponent`对密码编码或者使用`POST`请求,避免某些特殊字符无法解析,如`#`(`#`在url中会被识别为hash,而不是query) - -#### 1. 手机登录 - -**必选参数 :** -`phone`: 手机号码 - -`password`: 密码 - - - -**可选参数 :** -`countrycode`: 国家码,用于国外手机号登录,例如美国传入:`1` - -`md5_password`: md5加密后的密码,传入后 `password` 将失效 - -**接口地址 :** `/login/cellphone` - -**调用例子 :** `/login/cellphone?phone=xxx&password=yyy` `/login/cellphone?phone=xxx&md5_password=yyy` - -#### 2. 邮箱登录 - -**必选参数 :** - -`email`: 163 网易邮箱 - -`password`: 密码 - -**可选参数 :** - -`md5_password`: md5加密后的密码,传入后 `password` 将失效 - -**接口地址 :** `/login` - -**调用例子 :** `/login?email=xxx@163.com&password=yyy` - -完成登录后 , 会在浏览器保存一个 Cookies 用作登录凭证 , 大部分 API 都需要用到这个 -Cookies,非跨域情况请求会自动带上 Cookies,跨域情况参考`调用前须知` - -v3.30.0后支持手动传入cookie,登录接口返回内容新增 `cookie` 字段,保存到本地后,get请求带上`?cookie=xxx` 或者 post请求body带上 `cookie` 即可,如:`/user/cloud?cookie=xxx` 或者 -``` -{ - ..., - cookie:"xxx" -} -``` - -#### 注意 - -调用登录接口的速度比调用其他接口慢 , 因为登录过程调用了加密算法 - -### 刷新登录 - -说明 : 调用此接口 , 可刷新登录状态 - -**调用例子 :** `/login/refresh` - -### 发送验证码 - -说明 : 调用此接口 ,传入手机号码, 可发送验证码 - -**必选参数 :** `phone`: 手机号码 - -**可选参数 :** -`ctcode`: 国家区号,默认86即中国 - -**接口地址 :** `/captcha/sent` - -**调用例子 :** `/captcha/sent?phone=13xxx` - - - -### 验证验证码 - -说明 : 调用此接口 ,传入手机号码和验证码, 可校验验证码是否正确 - -**必选参数 :** `phone`: 手机号码 - -`captcha`: 验证码 - -**可选参数 :** - -`ctcode`: 国家区号,默认86即中国 - -**接口地址 :** `/captcha/verify` - -**调用例子 :** `/captcha/verify?phone=13xxx&captcha=1597` - - -### 注册(修改密码) - -说明 : 调用此接口 ,传入手机号码和验证码,密码,昵称, 可注册网易云音乐账号(同时可修改密码) - -**必选参数 :** - -`captcha`: 验证码 - -`phone` : 手机号码 - -`password`: 密码 - -`nickname`: 昵称 - -**接口地址 :** `/register/cellphone` - -**调用例子 :** `/register/cellphone?phone=13xxx&password=xxxxx&captcha=1234&nickname=binary1345` - -### 检测手机号码是否已注册 -说明 : 调用此接口 ,可检测手机号码是否已注册 -**必选参数 :** -`phone` : 手机号码 -**可选参数 :** -`countrycode`: 国家码,用于国外手机号,例如美国传入:`1` -**接口地址 :** `/cellphone/existence/check` - -**调用例子 :** `/cellphone/existence/check?phone=13xxx` - -### 初始化昵称 -说明 : 刚注册的账号(需登录),调用此接口 ,可初始化昵称 -**必选参数 :** -`nickname` : 昵称 - -**接口地址 :** `/activate/init/profile` - -**调用例子 :** `/activate/init/profile?nickname=testUser2019` - -### 更换绑定手机 -说明 : 调用此接口 ,可更换绑定手机(流程:先发送验证码到原手机号码,再发送验证码到新手机号码然后再调用此接口) - -**必选参数 :** -`oldcaptcha`: 原手机验证码 - -`captcha`: 新手机验证码 - -`phone` : 手机号码 - -`ctcode` : 国家区号,默认86即中国 - -**接口地址 :** `/rebind` - -**调用例子 :** `/rebind?phone=xxx&oldcaptcha=1234&captcha=5678` - -### 退出登录 - -说明 : 调用此接口 , 可退出登录 - -**调用例子 :** `/logout` - -### 登录状态 - -说明 : 调用此接口,可获取登录状态 - -**接口地址 :** `/login/status` - - -### 获取用户详情 - -说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户详情 - -**必选参数 :** `uid` : 用户 id - -**接口地址 :** `/user/detail` - -**调用例子 :** `/user/detail?uid=32953014` - -### 获取账号信息 - -说明 : 登录后调用此接口 ,可获取用户账号信息 - -**接口地址 :** `/user/account` - -**调用例子 :** `/user/account` - -### 获取用户信息 , 歌单,收藏,mv, dj 数量 - -说明 : 登录后调用此接口 , 可以获取用户信息 - -**接口地址 :** `/user/subcount` - -**调用例子 :** `/user/subcount` - -### 获取用户等级信息 - -说明 : 登录后调用此接口 , 可以获取用户等级信息,包含当前登录天数,听歌次数,下一等级需要的登录天数和听歌次数,当前等级进度,对应 https://music.163.com/#/user/level - -**接口地址 :** `/user/level` - -**调用例子 :** `/user/level` - - -### 获取用户绑定信息 - -说明 : 登录后调用此接口 , 可以获取用户绑定信息 - -**必选参数 :** `uid` : 用户 id - - -**接口地址 :** `/user/binding` - -**调用例子 :** `/user/binding?uid=32953014` - - -### 用户绑定手机 - -说明 : 登录后调用此接口 , 可以更换绑定手机 - -**必选参数 :** - -`phone` : 手机号码 - -`oldcaptcha`: 原手机号码的验证码 - -`captcha`:新手机号码的验证码 - -**可选参数 :** - -`countrycode`: 国家地区代码,默认86 - - -**接口地址 :** `/user/replacephone` - -**调用例子 :** `/user/replacephone?phone=xxx&captcha=1234&oldcaptcha=2345` - - -### 更新用户信息 - -说明 : 登录后调用此接口 , 传入相关信息,可以更新用户信息 - -**必选参数 :** - -``` -gender: 性别 0:保密 1:男性 2:女性 - -birthday: 出生日期,时间戳 unix timestamp - -nickname: 用户昵称 - -province: 省份id - -city: 城市id - -signature:用户签名 -``` - -**接口地址 :** `/user/update` - -**调用例子 :** `/user/update?gender=0&signature=测试签名&city=440300&nickname=binary&birthday=1525918298004&province=440000` - -### 更新头像 -说明 : 登录后调用此接口,使用`'Content-Type': 'multipart/form-data'`上传图片formData(name为'imgFile'),可更新头像(参考:https://github.com/Binaryify/NeteaseCloudMusicApi/blob/master/public/avatar_update.html) - -**可选参数 :** - -`imgSize` : 图片尺寸,默认为300 - -`imgX` : 水平裁剪偏移,方形图片可不传,默认为0 -`imgY` : 垂直裁剪偏移,方形图片可不传,默认为0 - -**接口地址 :** `/avatar/upload` - -**调用例子 :** `/avatar/upload?imgSize=200` - -### 国家编码列表 -说明 : 调用此接口,可获取国家编码列表 - -**接口地址 :** `/countries/code/list` - -### 获取用户歌单 - -说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户歌单 - -**必选参数 :** `uid` : 用户 id - -**可选参数 :** - -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -**接口地址 :** `/user/playlist` - -**调用例子 :** `/user/playlist?uid=32953014` - -返回数据如下图 : -![用户歌单](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E7%94%A8%E6%88%B7%E6%AD%8C%E5%8D%95.png) - -### 更新歌单 - -说明 : 登录后调用此接口,可以更新用户歌单 - -**必选参数 :** - -``` -id:歌单id - -name:歌单名字 - -desc:歌单描述 - -tags:歌单tag ,多个用 `;` 隔开,只能用官方规定标签 -``` - -**接口地址 :** `/playlist/update` - -**调用例子 :** `/playlist/update?id=24381616&name=新歌单&desc=描述&tags=欧美` - -### 更新歌单描述 -说明 : 登录后调用此接口,可以单独更新用户歌单描述 - -**必选参数 :** -``` -id:歌单id - -desc:歌单描述 - -``` -**接口地址 :** `/playlist/desc/update` - -**调用例子 :** `/playlist/desc/update?id=24381616&desc=描述` - -### 更新歌单名 -说明 : 登录后调用此接口,可以单独更新用户歌单名 - -**必选参数 :** - -``` -id: 歌单id - -name: 歌单名 - -``` -**接口地址 :** `/playlist/name/update` - -**调用例子 :** `/playlist/name/update?id=24381616&name=歌单名` - -### 更新歌单标签 -说明 : 登录后调用此接口,可以单独更新用户歌单标签 - -**必选参数 :** - -``` -id: 歌单id - -tags: 歌单标签 - -``` -**接口地址 :** `/playlist/tags/update` - -**调用例子 :** `/playlist/tags/update?id=24381616&tags=学习` - - -### 歌单封面上传 -说明 : 登录后调用此接口,使用`'Content-Type': 'multipart/form-data'`上传图片formData(name为'imgFile'),可更新歌单封面(参考:https://github.com/Binaryify/NeteaseCloudMusicApi/blob/master/public/playlist_cover_update.html) - -**必选参数 :** -`id`: 歌单id 3143833470 - -**可选参数 :** - -`imgSize` : 图片尺寸,默认为300 - -`imgX` : 水平裁剪偏移,方形图片可不传,默认为0 -`imgY` : 垂直裁剪偏移,方形图片可不传,默认为0 - -**接口地址 :** `/playlist/cover/update` - -**调用例子 :** `/playlist/cover/update?id=3143833470&imgSize=200` - - -### 调整歌单顺序 -说明 : 登录后调用此接口,可以根据歌单id顺序调整歌单顺序 - - -**必选参数 :** - -`ids`: 歌单id列表 - -**接口地址 :** `/playlist/order/update` - -**调用例子 :** `/playlist/order/update?ids=[111,222]` - -### 调整歌曲顺序 -说明 : 登录后调用此接口,可以根据歌曲id顺序调整歌曲顺序 - - -**必选参数 :** -`pid`: 歌单id - -`ids`: 歌曲id列表 - -**接口地址 :** `/song/order/update` - -**调用例子 :** `/song/order/update?pid=2039116066&ids=[5268328,1219871]` - -### 获取用户电台 - -说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户电台 - -**必选参数 :** `uid` : 用户 id - -**接口地址 :** `/user/dj` - -**调用例子 :** `/user/dj?uid=32953014` - -### 获取用户关注列表 - -说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户关注列表 - -**必选参数 :** `uid` : 用户 id - -**可选参数 :** - -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 ,如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -**接口地址 :** `/user/follows` - -**调用例子 :** `/user/follows?uid=32953014` - -### 获取用户粉丝列表 - -说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户粉丝列表 - -**必选参数 :** `uid` : 用户 id - -**可选参数 :** `limit` : 返回数量 , 默认为 30 - -`lasttime` : 返回数据的 `lasttime` ,默认-1,传入上一次返回结果的 lasttime,将会返回下一页的数据 - - -**接口地址 :** `/user/followeds` - -**调用例子 :** `/user/followeds?uid=32953014` `/user/followeds?uid=416608258&time=1560152549136` - -### 获取用户动态 - -说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户动态 - -**必选参数 :** `uid` : 用户 id - -**可选参数 :** `limit` : 返回数量 , 默认为 30 - -`lasttime` : 返回数据的 `lasttime` ,默认-1,传入上一次返回结果的 lasttime,将会返回下一页的数据 - -**接口地址 :** `/user/event` - -**调用例子 :** `/user/event?uid=32953014` `/user/event?uid=32953014&limit=1&lasttime=1558011138743` - -返回结果的`type`参数对应: -``` -18 分享单曲 -19 分享专辑 -17、28 分享电台节目 -22 转发 -39 发布视频 -35、13 分享歌单 -24 分享专栏文章 -41、21 分享视频 -``` - -### 转发用户动态 -说明 : 登录后调用此接口 ,可以转发用户动态 - -**必选参数 :** `uid` : 用户 id - -`evId` : 动态 id - -`forwards` : 转发的评论 - -**接口地址 :** `/event/forward` - -**调用例子 :** `/event/forward?evId=6712917601&uid=32953014&forwards=测试内容` - - -### 删除用户动态 -说明 : 登录后调用此接口 ,可以删除用户动态 - -**必选参数 :** `evId` : 动态 id - -**接口地址 :** `/event/del` - -**调用例子 :** `/event/del?evId=6712917601` - -### 分享歌曲、歌单、mv、电台、电台节目到动态 -说明 : 登录后调用此接口 ,可以分享歌曲、歌单、mv、电台、电台节目到动态 - -**必选参数 :** `id` : 资源 id (歌曲,歌单,mv,电台,电台节目对应 id) - -**可选参数 :** `type`: 资源类型,默认歌曲 song,可传 `song`,`playlist`,`mv`,`djradio`,`djprogram` - -`msg`: 内容,140 字限制,支持 emoji,@用户名(`/user/follows`接口获取的用户名,用户名后和内容应该有空格),图片暂不支持 - -**接口地址 :** `/share/resource` - -**调用例子 :** `/share/resource?id=1297494209&msg=测试` `/share/resource?type=djradio&id=336355127` `/share/resource?type=djprogram&id=2061034798` `/share/resource?type=djprogram&id=2061034798&msg=测试@binaryify 测试` - -### 获取动态评论 - -说明 : 登录后调用此接口 , 可以获取动态下评论 - -**必选参数 :** `threadId` : 动态 id,可通过 `/event`,`/user/event` 接口获取 - -**接口地址 :** `/comment/event` - -**调用例子 :** `/comment/event?threadId=A_EV_2_6559519868_32953014` - -### 关注/取消关注用户 - -说明 : 登录后调用此接口 , 传入用户 id, 和操作 t,可关注/取消关注用户 - -**必选参数 :** - -`id` : 用户 id - -`t` : `1`为关注,其他为取消关注 - -**接口地址 :** `/follow` - -**调用例子 :** `/follow?id=32953014&t=1` - -### 获取用户播放记录 - -说明 : 登录后调用此接口 , 传入用户 id, 可获取用户播放记录 - -**必选参数 :** `uid` : 用户 id - -**可选参数 :** `type` : type=1 时只返回 weekData, type=0 时返回 allData - -**接口地址 :** `/user/record` - -**调用例子 :** `/user/record?uid=32953014&type=1` - -### 获取热门话题 - -说明 : 调用此接口 , 可获取热门话题 - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值 - -**接口地址 :** `/hot/topic` - -**调用例子 :** `/hot/topic?limit=30&offset=30` - - -### 云村热评 -说明 : 登录后调用此接口 , 可获取云村热评 - -**接口地址 :** `/comment/hotwall/list` - -**调用例子 :** `/comment/hotwall/list` - -### 心动模式/智能播放 -说明 : 登录后调用此接口 , 可获取心动模式/智能播放列表 -**必选参数 :** `id` : 歌曲 id - -`pid` : 歌单 id - -**可选参数 :** -`sid` : 要开始播放的歌曲的 id - -**接口地址 :** `/playmode/intelligence/list` - -**调用例子 :** `/playmode/intelligence/list?id=33894312&pid=24381616` , `/playmode/intelligence/list?id=33894312&pid=24381616&sid=36871368` - -### 获取动态消息 - -说明 : 调用此接口 , 可获取各种动态 , 对应网页版网易云,朋友界面里的各种动态消息 -,如分享的视频,音乐,照片等! - -**必选参数 :** -`pagesize` : 每页数据,默认20 - -`lasttime` : 返回数据的 `lasttime` ,默认-1,传入上一次返回结果的 lasttime,将会返回下一页的数据 - -**接口地址 :** `/event` - -**调用例子 :** `/event?pagesize=30&lasttime=1556740526369` - -### 歌手分类列表 - -说明 : 调用此接口,可获取歌手分类列表 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 -: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 -`initial`: 按首字母索引查找参数,如 `/artist/list?type=1&area=96&initial=b` 返回内容将以 name 字段开头为 b 或者拼音开头为 b 为顺序排列, 热门传-1,#传0 - -`type` 取值: - -``` --1:全部 -1:男歌手 -2:女歌手 -3:乐队 -``` - -`area` 取值: -``` --1:全部 -7华语 -96欧美 -8:日本 -16韩国 -0:其他 -``` - - -**接口地址 :** `/artist/list` - -**调用例子 :** `/artist/list?type=1&area=96&initial=b` `/artist/list?type=2&area=2&initial=b` - - -### 收藏/取消收藏歌手 - -说明 : 调用此接口,可收藏歌手 - -**必选参数 :** - -`id` : 歌手 id - -`t`:操作,1 为收藏,其他为取消收藏 - -**接口地址 :** `/artist/sub` - -**调用例子 :** `/artist/sub?id=6452&t=1` - - -### 歌手热门50首歌曲 - -说明 : 调用此接口,可获取歌手热门50首歌曲 - -**必选参数 :** - -`id` : 歌手 id - -**接口地址 :** `/artist/top/song` - -**调用例子 :** `/artist/top/song?id=6452` - -### 歌手全部歌曲 -说明 : 调用此接口,可获取歌手全部歌曲 -**必选参数 :** - -`id` : 歌手 id - -**可选参数 :** - -`order` : `hot` ,`time` 按照热门或者时间排序 - -`limit`: 取出歌单数量 , 默认为 50 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*50, 其中 50 为 limit 的值 - -**接口地址 :** `/artist/songs` - -**调用例子 :** `/artist/songs?id=6452` - -### 收藏的歌手列表 - -说明 : 调用此接口,可获取收藏的歌手列表 - -**接口地址 :** `/artist/sublist` - -**调用例子 :** `/artist/sublist` - -### 收藏视频 - -说明 : 调用此接口,可收藏视频 - -**必选参数 :** - -`id` : 视频 id - -`t` : 1 为收藏,其他为取消收藏 - -**接口地址 :** `/video/sub` - -**调用例子 :** `/video/sub` - -### 收藏/取消收藏 MV - -说明 : 调用此接口,可收藏/取消收藏 MV - -**必选参数 :** - -`mvid` : MV id - -`t` : 1 为收藏,其他为取消收藏 - -**接口地址 :** `/mv/sub` - -**调用例子 :** `/mv/sub` - -### 收藏的 MV 列表 - -说明 : 调用此接口,可获取收藏的 MV 列表 - -**接口地址 :** `/mv/sublist` - -**调用例子 :** `/mv/sublist` - -### 歌单分类 - -说明 : 调用此接口,可获取歌单分类,包含 category 信息 - -**接口地址 :** `/playlist/catlist` - -**调用例子 :** `/playlist/catlist` - -### 热门歌单分类 - -说明 : 调用此接口,可获取歌单分类,包含 category 信息 - -**接口地址 :** `/playlist/hot` - -**调用例子 :** `/playlist/hot` - -### 歌单 ( 网友精选碟 ) - -说明 : 调用此接口 , 可获取网友精选碟歌单 - -**可选参数 :** `order`: 可选值为 'new' 和 'hot', 分别对应最新和最热 , 默认为 -'hot' - -`cat`:`cat`: tag, 比如 " 华语 "、" 古风 " 、" 欧美 "、" 流行 ", 默认为 -"全部",可从歌单分类接口获取(/playlist/catlist) - -`limit`: 取出歌单数量 , 默认为 50 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*50, 其中 50 为 limit 的值 - -**接口地址 :** `/top/playlist` - -**调用例子 :** `/top/playlist?limit=10&order=new` - -### 精品歌单标签列表 -说明 : 调用此接口 , 可获取精品歌单标签列表 - -**接口地址 :** `/playlist/highquality/tags` - -**调用例子 :** `/playlist/highquality/tags` - -### 获取精品歌单 - -说明 : 调用此接口 , 可获取精品歌单 - -**可选参数 :** `cat`: tag, 比如 " 华语 "、" 古风 " 、" 欧美 "、" 流行 ", 默认为 -"全部",可从精品歌单标签列表接口获取(`/playlist/highquality/tags`) - -`limit`: 取出歌单数量 , 默认为 20 - -`before`: 分页参数,取上一页最后一个歌单的 `updateTime` 获取下一页数据 - -**接口地址 :** `/top/playlist/highquality` - -**调用例子 :** `/top/playlist/highquality?before=1503639064232&limit=3` - -### 相关歌单推荐 - -说明 : 调用此接口,传入歌单 id 可获取相关歌单(对应页面 [https://music.163.com/#/playlist?id=1](https://music.163.com/#/playlist?id=1)) - -**必选参数 :** `id` : 歌单 id - -**接口地址 :** `/related/playlist` - -**调用例子 :** `/related/playlist?id=1` - -### 获取歌单详情 - -说明 : 歌单能看到歌单名字, 但看不到具体歌单内容 , 调用此接口 , 传入歌单 id, 可 -以获取对应歌单内的所有的音乐(未登录状态只能获取不完整的歌单,登录后是完整的),但是返回的trackIds是完整的,tracks 则是不完整的,可拿全部 trackIds 请求一次 `song/detail` 接口获取所有歌曲的详情 ([https://github.com/Binaryify/NeteaseCloudMusicApi/issues/452](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/452)) - -**必选参数 :** `id` : 歌单 id - -**可选参数 :** `s` : 歌单最近的 s 个收藏者,默认为8 - -**接口地址 :** `/playlist/detail` - -**调用例子 :** `/playlist/detail?id=24381616` - -返回数据如下图 : -![歌单详情](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%AD%8C%E5%8D%95%E8%AF%A6%E6%83%85.png) - -### 获取音乐 url - -说明 : 使用歌单详情接口后 , 能得到的音乐的 id, 但不能得到的音乐 url, 调用此接口, 传入的音乐 id( 可多个 , 用逗号隔开 ), 可以获取对应的音乐的 url,未登录状态返回试听片段(返回字段包含被截取的正常歌曲的开始时间和结束时间) - -> 注 : 部分用户反馈获取的 url 会 403,[hwaphon](https://github.com/hwaphon)找到的解决方案是当获取到音乐的 id 后,将 https://music.163.com/song/media/outer/url?id=id.mp3 以 src 赋予 Audio 即可播放 - -**必选参数 :** `id` : 音乐 id - -**可选参数 :** `br`: 码率,默认设置了 999000 即最大码率,如果要 320k 则可设置为 320000,其他类推 - -**接口地址 :** `/song/url` - -**调用例子 :** `/song/url?id=33894312` `/song/url?id=405998841,33894312` - -返回数据如下图 : -![音乐 url](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E9%9F%B3%E4%B9%90%20url.png) - -### 音乐是否可用 - -说明: 调用此接口,传入歌曲 id, 可获取音乐是否可用,返回 `{ success: true, message: 'ok' }` 或者 `{ success: false, message: '亲爱的,暂无版权' }` - -**必选参数 :** `id` : 歌曲 id - -**可选参数** : `br`: 码率,默认设置了 999000 即最大码率,如果要 320k 则可设置为 320000,其他类推 - -**接口地址 :** `/check/music` - -**调用例子 :** `/check/music?id=33894312` - -### 搜索 - -说明 : 调用此接口 , 传入搜索关键词可以搜索该音乐 / 专辑 / 歌手 / 歌单 / 用户 , -关键词可以多个 , 以空格隔开 , 如 " 周杰伦 搁浅 "( 不需要登录 ), 搜索获取的 -mp3url 不能直接用 , 可通过 `/song/url` 接口传入歌曲 id 获取具体的播放链接 - -**必选参数 :** `keywords` : 关键词 - -**可选参数 :** `limit` : 返回数量 , 默认为 30 `offset` : 偏移数量,用于分页 , 如 -: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -`type`: 搜索类型;默认为 1 即单曲 , 取值意义 : 1: 单曲, 10: 专辑, 100: 歌手, 1000: -歌单, 1002: 用户, 1004: MV, 1006: 歌词, 1009: 电台, 1014: 视频, 1018:综合 - -**接口地址 :** `/search` 或者 `/cloudsearch`(更全) - -**调用例子 :** `/search?keywords= 海阔天空` `/cloudsearch?keywords= 海阔天空` - -返回数据如下图 : -![搜索音乐](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%90%9C%E7%B4%A2.png) - - -### 默认搜索关键词 -说明 : 调用此接口 , 可获取默认搜索关键词 - -**接口地址 :** `/search/default` - -### 热搜列表(简略) - -说明 : 调用此接口,可获取热门搜索列表 - -**接口地址 :** `/search/hot` - -**调用例子 :** `/search/hot` - -### 热搜列表(详细) - -说明 : 调用此接口,可获取热门搜索列表 - -**接口地址 :** `/search/hot/detail` - -**调用例子 :** `/search/hot/detail` - -### 搜索建议 - -说明 : 调用此接口 , 传入搜索关键词可获得搜索建议 , 搜索结果同时包含单曲 , 歌手 , -歌单 ,mv 信息 - -**必选参数 :** `keywords` : 关键词 - -**可选参数 :** `type` : 如果传 'mobile' 则返回移动端数据 - -**接口地址 :** `/search/suggest` - -**调用例子 :** `/search/suggest?keywords= 海阔天空` `/search/suggest?keywords= 海阔天空&type=mobile` - -### 搜索多重匹配 - -说明 : 调用此接口 , 传入搜索关键词可获得搜索结果 - -**必选参数 :** `keywords` : 关键词 - -**接口地址 :** `/search/multimatch` - -**调用例子 :** `/search/multimatch?keywords= 海阔天空` - -### 新建歌单 - -说明 : 调用此接口 , 传入歌单名字可新建歌单 - -**必选参数 :** `name` : 歌单名 - -**可选参数 :** - -`privacy` : 是否设置为隐私歌单,默认否,传'10'则设置成隐私歌单 - -`type` : 歌单类型,默认'NORMAL',传 'VIDEO'则为视频歌单 - -**接口地址 :** `/playlist/create` - -**调用例子 :** `/playlist/create?name=测试歌单`,`/playlist/create?name=test&type=VIDEO` - -### 删除歌单 - -说明 : 调用此接口 , 传入歌单id可删除歌单 - -**必选参数 :** `id` : 歌单id,可多个,用逗号隔开 - -**接口地址 :** `/playlist/delete` - -**调用例子 :** `/playlist/delete?id=2947311456` , `/playlist/delete?id=5013464397,5013427772` - - -### 收藏/取消收藏歌单 - -说明 : 调用此接口 , 传入类型和歌单 id 可收藏歌单或者取消收藏歌单 - -**必选参数 :** - -`t` : 类型,1:收藏,2:取消收藏 -`id` : 歌单 id - -**接口地址 :** `/playlist/subscribe` - -**调用例子 :** `/playlist/subscribe?t=1&id=106697785` `/playlist/subscribe?t=2&id=106697785` - - - -### 歌单收藏者 -说明 : 调用此接口 , 传入歌单 id 可获取歌单的所有收藏者 -**必选参数 :** - -`id` : 歌单 id - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值 - -**接口地址 :** `/playlist/subscribers` - -**调用例子 :** `/playlist/subscribers?id=544215255&limit=30` - - -### 对歌单添加或删除歌曲 - -说明 : 调用此接口 , 可以添加歌曲到歌单或者从歌单删除某首歌曲 ( 需要登录 ) - -**必选参数 :** - -`op`: 从歌单增加单曲为 add, 删除为 del - -`pid`: 歌单 id -`tracks`: 歌曲 id,可多个,用逗号隔开 - -**接口地址 :** `/playlist/tracks` - -**调用例子 :** `/playlist/tracks?op=add&pid=24381616&tracks=347231` ( 对应把歌曲添加到 ' 我 ' 的歌单 , 测试的时候请把这里的 pid 换成你自己的, id 和 tracks 不对可能会报 502 错误) - -### 收藏视频到视频歌单 -说明 : 调用此接口 , 可收藏视频到视频歌单 ( 需要登录 ) - -**必选参数 :** - -`pid` : 歌单 id - -`ids` : 视频id,支持多个,用`,`隔开 - -**接口地址 :** `/playlist/track/add` - -**调用例子 :** `/playlist/track/add?pid=5271999357&ids=186041` - -### 删除视频歌单里的视频 -说明 : 调用此接口 , 可删除视频歌单里的视频 ( 需要登录 ) -**必选参数 :** - -`pid` : 歌单 id - -`ids` : 视频id,支持多个,用`,`隔开 - -**接口地址 :** `/playlist/track/delete` - -**调用例子 :** `/playlist/track/delete?pid=5271999357&ids=186041` - -### 最近播放的视频 -说明 : 调用此接口 , 可获取最近播放的视频 ( 需要登录 ) - -**接口地址 :** `/playlist/video/recent` - -**调用例子 :** `/playlist/video/recent` - -### 获取歌词 - -说明 : 调用此接口 , 传入音乐 id 可获得对应音乐的歌词 ( 不需要登录 ) - -**必选参数 :** `id`: 音乐 id - -**接口地址 :** `/lyric` - -**调用例子 :** `/lyric?id=33894312` - -返回数据如下图 : -![获取歌词](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%AD%8C%E8%AF%8D.png) - -### 新歌速递 - -说明 : 调用此接口 , 可获取新歌速递 - -**必选参数 :** - -`type`: 地区类型 id,对应以下: - -``` -全部:0 - -华语:7 - -欧美:96 - -日本:8 - -韩国:16 -``` - -**接口地址 :** `/top/song` - -**调用例子 :** `/top/song?type=96` - -### 首页-发现 -说明 : 调用此接口 , 可获取APP首页信息 - -**接口地址 :** `/homepage/block/page` - -**可选参数 :** `refresh`: 是否刷新数据,默认为true - - -### 首页-发现-圆形图标入口列表 -说明 : 调用此接口 , 可获取APP首页圆形图标入口列表 - -**接口地址 :** `/homepage/dragon/ball` - - -### 歌曲评论 - -说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该音乐的所有评论 ( 不需要 -登录 ) - -**必选参数 :** `id`: 音乐 id - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值 - -`before`: 分页参数,取上一页最后一项的 `time` 获取下一页数据(获取超过5000条评论的时候需要用到) - -**接口地址 :** `/comment/music` - -**调用例子 :** `/comment/music?id=186016&limit=1` 对应晴天评论 - -返回数据如下图 : -![获取评论](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/comment.png) - -### 楼层评论 - -说明 : 调用此接口 , 传入资源 parentCommentId 和资源类型 type和资源id 参数, 可获得该资源的歌曲楼层评论 - -**必选参数 :** -`parentCommentId`: 楼层评论 id - -`id` : 资源 id - -`tpye`: 数字 , 资源类型 , 对应歌曲 , mv, 专辑 , 歌单 , 电台, 视频对应以下类型 - -``` -0: 歌曲 - -1: mv - -2: 歌单 - -3: 专辑 - -4: 电台 - -5: 视频 -``` - - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`time`: 分页参数,取上一页最后一项的 `time` 获取下一页数据 - -**接口地址 :** `/comment/floor` - -**调用例子 :** `/comment/floor?parentCommentId=1438569889&id=29764564&type=0` - -### 专辑评论 - -说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该专辑的所有评论 ( 不需要 -登录 ) - -**必选参数 :** `id`: 专辑 id - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值 - -`before`: 分页参数,取上一页最后一项的 `time` 获取下一页数据(获取超过5000条评论的时候需要用到) - -**接口地址 :** `/comment/album` - -**调用例子 :** `/comment/album?id=32311` - -### 歌单评论 - -说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该歌单的所有评论 ( 不需要 -登录 ) - -**必选参数 :** `id`: 歌单 id - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值 - -`before`: 分页参数,取上一页最后一项的 `time` 获取下一页数据(获取超过5000条评论的时候需要用到) - -**接口地址 :** `/comment/playlist` - -**调用例子 :** `/comment/playlist?id=705123491` - -### mv 评论 - -说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该 mv 的所有评论 ( 不需要 -登录 ) - -**必选参数 :** `id`: mv id - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值 - -`before`: 分页参数,取上一页最后一项的 `time` 获取下一页数据(获取超过5000条评论的时候需要用到) - -**接口地址 :** `/comment/mv` - -**调用例子 :** `/comment/mv?id=5436712` - -### 电台节目评论 - -说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该 电台节目 的所有评论 ( -不需要登录 ) - -**必选参数 :** `id`: 电台节目的 id - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值 - -`before`: 分页参数,取上一页最后一项的 `time` 获取下一页数据(获取超过5000条评论的时候需要用到) - -**接口地址 :** `/comment/dj` - -**调用例子 :** `/comment/dj?id=794062371` - -### 视频评论 - -说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该 视频 的所有评论 ( -不需要登录 ) - -**必选参数 :** `id`: 视频的 id - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值 - -`before`: 分页参数,取上一页最后一项的 `time` 获取下一页数据(获取超过5000条评论的时候需要用到) - -**接口地址 :** `/comment/video` - -**调用例子 :** `/comment/video?id=89ADDE33C0AAE8EC14B99F6750DB954D` - -### 热门评论 - -说明 : 调用此接口 , 传入 type, 资源 id 可获得对应资源热门评论 ( 不需要登录 ) - -**必选参数 :** - -`id` : 资源 id - -`tpye`: 数字 , 资源类型 , 对应歌曲 , mv, 专辑 , 歌单 , 电台, 视频对应以下类型 - -``` -0: 歌曲 - -1: mv - -2: 歌单 - -3: 专辑 - -4: 电台 - -5: 视频 -``` - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值 - -`before`: 分页参数,取上一页最后一项的 `time` 获取下一页数据(获取超过5000条评论的时候需要用到) - -**接口地址 :** `/comment/hot` - -**调用例子 :** `/comment/hot?id=186016&type=0` - -### 新版评论接口 -说明 : 调用此接口 , 传入资源类型和资源id,以及排序方式,可获取对应资源的评论 - -**必选参数 :** -`id` : 资源 id, 如歌曲 id,mv id - -`tpye`: 数字 , 资源类型 , 对应歌曲 , mv, 专辑 , 歌单 , 电台, 视频对应以下类型 -``` -0: 歌曲 - -1: mv - -2: 歌单 - -3: 专辑 - -4: 电台 - -5: 视频 - -6: 动态 -``` -**可选参数 :** -`pageNo`:分页参数,第N页,默认为1 - -`pageSize`:分页参数,每页多少条数据,默认20 - -`sortType`: 排序方式,1:按推荐排序,2:按热度排序,3:按时间排序 - -`cursor`: 当`sortType`为3时且页数不是第一页时需传入,值为上一条数据的time - -**接口地址 :** `/comment/new` - -**调用例子 :** `/comment/new?type=0&id=1407551413&sortType=3`, `/comment/new?type=0&id=1407551413&sortType=3&cursor=1602072870260&pageSize=20&pageNo=2` - -### 给评论点赞 - -说明 : 调用此接口 , 传入 type, 资源 id, 和评论 id cid 和 是否点赞参数 t 即可给对 -应评论点赞 ( 需要登录 ) - -**必选参数 :** `id` : 资源 id, 如歌曲 id,mv id - -`cid` : 评论 id - -`t` : 是否点赞 ,1 为点赞 ,0 为取消点赞 - -`tpye`: 数字 , 资源类型 , 对应歌曲 , mv, 专辑 , 歌单 , 电台, 视频对应以下类型 - -``` -0: 歌曲 - -1: mv - -2: 歌单 - -3: 专辑 - -4: 电台 - -5: 视频 - -6: 动态 -``` - -**接口地址 :** `/comment/like` - -**调用例子 :** `/comment/like?id=29178366&cid=12840183&t=1&type=0` 对应给 [https://music.163.com/#/song?id=29178366](https://music.163.com/#/song?id=29178366) 最热门的评论点赞 - - -注意: 动态点赞不需要传入 id 参数,需要传入动态的 `threadId` 参数,如:`/comment/like?type=6&cid=1419532712&threadId=A_EV_2_6559519868_32953014&t=0`, `threadId` 可通过 `/event`,`/user/event` 接口获取 - -### 发送/删除评论 - -说明 : 调用此接口,可发送评论或者删除评论 - -**接口地址 :** `/comment` - -1. 发送评论 - - **必选参数** - - `t`:1 发送, 2 回复 - - `tpye`: 数字,资源类型,对应歌曲,mv,专辑,歌单,电台,视频对应以下类型 - - ``` - 0: 歌曲 - - 1: mv - - 2: 歌单 - - 3: 专辑 - - 4: 电台 - - 5: 视频 - - 6: 动态 - ``` - - `id`:对应资源 id - - `content` :要发送的内容 - - `commentId` :回复的评论id (回复评论时必填) - - **调用例子** : `/comment?t=1&type=1&id=5436712&content=test` (往广岛之恋 mv 发送评论: test) - - 注意:如给动态发送评论,则不需要传 id,需要传动态的 `threadId`,如:`/comment?t=1&type=6&threadId=A_EV_2_6559519868_32953014&content=test` - -2. 删除评论 - - **必选参数** - - `t`:0 删除 - - `tpye`: 数字,资源类型,对应歌曲,mv,专辑,歌单,电台,视频对应以下类型 - - - ``` - 0: 歌曲 - - 1: mv - - 2: 歌单 - - 3: 专辑 - - 4: 电台 - - - 5: 视频 - - 6: 动态 - - ``` - - `id`:对应资源 id - `content` :内容 id,可通过 `/comment/mv` 等接口获取 - - **调用例子** : `/comment?t=0&type=1&id=5436712&commentId=1535550516319` (在广岛之恋 mv 删除评论) - - - 注意:如给动态删除评论,则不需要传 id,需要传动态的 `threadId`,如:`/comment?t=0&type=6&threadId=A_EV_2_6559519868_32953014&commentId=1419516382` - - -### banner - -说明 : 调用此接口 , 可获取 banner( 轮播图 ) 数据 - -**可选参数 :** - -`type`:资源类型,对应以下类型,默认为 0 即PC - -``` -0: pc - -1: android - -2: iphone - -3: ipad -``` - -**接口地址 :** `/banner` - -**调用例子 :** `/banner`, `/banner?type=2` - -### 资源点赞( MV,电台,视频) - -说明 : 调用此接口 , 可对 MV,电台,视频点赞 - -**必选参数 :** - -`type`:资源类型,对应以下类型 - -``` -1: mv - -4: 电台 - -5: 视频 - -6: 动态 -``` - -`t`: 操作,1 为点赞,其他未取消点赞 - -`id`: 资源 id - -**接口地址 :** `/resource/like` - -**调用例子 :** `/resource/like?t=1&type=1&id=5436712` - -注意:如给动态点赞,不需要传入 id,需要传入 `threadId`,可通过 `event`,`/user/event` 接口获取,如: -`/resource/like?t=1&type=6&threadId=A_EV_2_6559519868_32953014` - -### 获取点赞过的视频 - -说明 : 调用此接口, 可获取获取点赞过的视频 - -**接口地址 :** `/playlist/mylike` - -**调用例子 :** `/playlist/mylike` - -### 获取歌曲详情 - -说明 : 调用此接口 , 传入音乐 id(支持多个 id, 用 `,` 隔开), 可获得歌曲详情(注意:歌曲封面现在需要通过专辑内容接口获取) - -**必选参数 :** `ids`: 音乐 id, 如 `ids=347230` - -**接口地址 :** `/song/detail` - -**调用例子 :** `/song/detail?ids=347230`,`/song/detail?ids=347230,347231` - -返回数据如下图 : -![获取歌曲详情](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/songDetail.png) - -### 获取专辑内容 - -说明 : 调用此接口 , 传入专辑 id, 可获得专辑内容 - -**必选参数 :** `id`: 专辑 id - -**接口地址 :** `/album` - -**调用例子 :** `/album?id=32311` - -返回数据如下图 : -![获取专辑内容](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E4%B8%93%E8%BE%91.png) - - -### 专辑动态信息 -说明 : 调用此接口 , 传入专辑 id, 可获得专辑动态信息,如是否收藏,收藏数,评论数,分享数 - -**必选参数 :** `id`: 专辑 id - -**接口地址 :** `/album/detail/dynamic` - -**调用例子 :** `/album/detail/dynamic?id=32311` - -### 收藏/取消收藏专辑 - -说明 : 调用此接口,可收藏/取消收藏专辑 - -**必选参数 :** - -`id` : 专辑 id - -`t` : 1 为收藏,其他为取消收藏 - -**接口地址 :** `/album/sub` - -**调用例子 :** `/album/sub?t=1` `/album/sub?t=0` - -### 获取已收藏专辑列表 -说明 : 调用此接口 , 可获得已收藏专辑列表 - -**可选参数 :** -`limit`: 取出数量 , 默认为 25 - -`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*25, 其中 25 为 limit 的值 , 默认 -为 0 - -**接口地址 :** `/album/sublist` - -**调用例子 :** `/album/sublist` ( 周杰伦 ) - -### 获取歌手单曲 - -说明 : 调用此接口 , 传入歌手 id, 可获得歌手部分信息和热门歌曲 - -**必选参数 :** `id`: 歌手 id, 可由搜索接口获得 - -**接口地址 :** `/artists` - -**调用例子 :** `/artists?id=6452` - -返回数据如下图 : -![获取歌手单曲](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/artists.png) - -### 获取歌手 mv - -说明 : 调用此接口 , 传入歌手 id, 可获得歌手 mv 信息 , 具体 mv 播放地址可调 -用`/mv`传入此接口获得的 mvid 来拿到 , 如 : -`/artist/mv?id=6452`,`/mv?mvid=5461064` - -**必选参数 :** `id`: 歌手 id, 可由搜索接口获得 - -**接口地址 :** `/artist/mv` - -**调用例子 :** `/artist/mv?id=6452` - -### 获取歌手专辑 - -说明 : 调用此接口 , 传入歌手 id, 可获得歌手专辑内容 - -**必选参数 :** `id`: 歌手 id - -**可选参数 :** `limit`: 取出数量 , 默认为 50 - -`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*50, 其中 50 为 limit 的值 , 默认 -为 0 - -**接口地址 :** `/artist/album` - -**调用例子 :** `/artist/album?id=6452&limit=30` ( 周杰伦 ) - -返回数据如下图 : -![获取专辑内容](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/artist_album.png) - -### 获取歌手描述 - -说明 : 调用此接口 , 传入歌手 id, 可获得歌手描述 - -**必选参数 :** `id`: 歌手 id - -**接口地址 :** `/artist/desc` - -**调用例子 :** `/artist/desc?id=6452` ( 周杰伦 ) - -### 获取相似歌手 - -说明 : 调用此接口 , 传入歌手 id, 可获得相似歌手 - -**必选参数 :** `id`: 歌手 id - -**接口地址 :** `/simi/artist` - -**调用例子 :** `/simi/artist?id=6452` ( 对应和周杰伦相似歌手 ) - -### 获取相似歌单 - -说明 : 调用此接口 , 传入歌曲 id, 可获得相似歌单 - -**必选参数 :** `id`: 歌曲 id - -**接口地址 :** `/simi/playlist` - -**调用例子 :** `/simi/playlist?id=347230` ( 对应 ' 光辉岁月 ' 相似歌单 ) - -### 相似 mv - -说明 : 调用此接口 , 传入 `mvid` 可获取相似 mv - -**必选参数 :** `mvid`: mv id - -**接口地址 :** `/simi/mv` - -**调用例子 :** `/simi/mv?mvid=5436712` - -### 获取相似音乐 - -说明 : 调用此接口 , 传入歌曲 id, 可获得相似歌曲 - -**必选参数 :** `id`: 歌曲 id - -**接口地址 :** `/simi/song` - -**调用例子 :** `/simi/song?id=347230` ( 对应 ' 光辉岁月 ' 相似歌曲 ) - -### 获取最近 5 个听了这首歌的用户 - -说明 : 调用此接口 , 传入歌曲 id, 最近 5 个听了这首歌的用户 - -**必选参数 :** `id`: 歌曲 id - -**接口地址 :** `/simi/user` - -**调用例子 :** `/simi/user?id=347230` ( 对应 ' 光辉岁月 ' 相似歌曲 ) - -### 获取每日推荐歌单 - -说明 : 调用此接口 , 可获得每日推荐歌单 ( 需要登录 ) - -**接口地址 :** `/recommend/resource` - -**调用例子 :** `/recommend/resource` - -返回数据如下图 : -![每日推荐歌单](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%8E%A8%E8%8D%90%E6%AD%8C%E5%8D%95.png) - -### 获取每日推荐歌曲 - -说明 : 调用此接口 , 可获得每日推荐歌曲 ( 需要登录 ) - -**接口地址 :** `/recommend/songs` - -**调用例子 :** `/recommend/songs` - -返回数据如下图 : -![每日推荐歌曲](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%8E%A8%E8%8D%90%E6%AD%8C%E6%9B%B2.png) - -### 获取历史日推可用日期列表 - -说明 : 调用此接口 , 可获得历史日推可用日期列表 - -**接口地址 :** `/history/recommend/songs` - -**调用例子 :** `/history/recommend/songs` - -### 获取历史日推详情数据 - -说明 : 调用此接口 ,传入当日日期, 可获得当日历史日推数据 - -**必选参数 :** `date`: 日期,通过历史日推可用日期列表接口获取,不能任意日期 - -**接口地址 :** `/history/recommend/songs/detail` - -**调用例子 :** `/history/recommend/songs/detail?date=2020-06-21` - -### 私人 FM - -说明 : 私人 FM( 需要登录 ) - -**接口地址 :** `/personal_fm` - -**调用例子 :** `/personal_fm` - -返回数据如下图 : - -![私人 FM](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/personal_fm.png) - -### 签到 - -说明 : 调用此接口 , 传入签到类型 ( 可不传 , 默认安卓端签到 ), 可签到 ( 需要登录 -), 其中安卓端签到可获得 3 点经验 , web/PC 端签到可获得 2 点经验 - -**可选参数 :** `type`: 签到类型 , 默认 0, 其中 0 为安卓端签到 ,1 为 web/PC 签到 - -**接口地址 :** `/daily_signin` - -**调用例子 :** `/daily_signin` - -返回数据如下图 : - -![签到成功](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/signinSuccess.png) - -![签到失败](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/signinError.png) - -### 喜欢音乐 - -说明 : 调用此接口 , 传入音乐 id, 可喜欢该音乐 - -**必选参数 :** `id`: 歌曲 id - -**可选参数 :** `like`: 布尔值 , 默认为 true 即喜欢 , 若传 false, 则取消喜欢 - -**接口地址 :** `/like` - -**调用例子 :** `/like?id=347230` - -返回数据如下图 : - -![喜欢成功](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/like.png) - -喜欢成功则返回数据的 code 为 200, 其余为失败 - -![喜欢成功截图](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/likeSuccess.png) - -### 喜欢音乐列表 - -说明 : 调用此接口 , 传入用户 id, 可获取已喜欢音乐id列表(id数组) - -**必选参数 :** `uid`: 用户 id - -**接口地址 :** `/likelist` - -**调用例子 :** `/likelist?uid=32953014` - -### 垃圾桶 - -说明 : 调用此接口 , 传入音乐 id, 可把该音乐从私人 FM 中移除至垃圾桶 - -**必选参数 :** `id`: 歌曲 id - -**接口地址 :** `/fm_trash` - -**调用例子 :** `/fm_trash?id=347230` - -返回数据如下图 : - -![移除成功](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/fm_trash.png) - -### 新碟上架 - -说明 : 调用此接口 , 可获取新碟上架列表 , 如需具体音乐信息需要调用获取专辑列表接 -口 `/album` , 然后传入 id, 如 `/album?id=32311&limit=30` - -**可选参数 :** - - `limit`: 取出数量 , 默认为 50 - -`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*50, 其中 50 为 limit 的值 , 默认 -为 0 - -`area`: ALL:全部,ZH:华语,EA:欧美,KR:韩国,JP:日本 - -`type` : new:全部 hot:热门,默认为 new - -`year` : 年,默认本年 - -`month` : 月,默认本月 - -**接口地址 :** `/top/album` - -**调用例子 :** `/top/album?offset=0&limit=30&year=2019&month=6` - -### 全部新碟 -说明 : 登录后调用此接口 ,可获取全部新碟 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -`area` : ALL:全部,ZH:华语,EA:欧美,KR:韩国,JP:日本 - -**接口地址 :** `/album/new` - -**调用例子 :** `/album/new?area=KR&limit=10` - -### 最新专辑 - -说明 : 调用此接口 ,获取云音乐首页新碟上架数据 - -**接口地址 :** `/album/newest` - -**调用例子 :** `/album/newest` - -### 听歌打卡 - -说明 : 调用此接口 , 传入音乐 id, 来源 id,歌曲时间 time,更新听歌排行数据 - -**必选参数 :** `id`: 歌曲 id, `sourceid`: 歌单或专辑 id - -**可选参数 :** `time`: 歌曲播放时间,单位为秒 - -**接口地址 :** `/scrobble` - -**调用例子 :** `/scrobble?id=518066366&sourceid=36780169&time=291` - -### 热门歌手 - -说明 : 调用此接口 , 可获取热门歌手数据 - -**可选参数 :** `limit`: 取出数量 , 默认为 50 - -`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*50, 其中 50 为 limit 的值 , 默认 -为 0 - -**接口地址 :** `/top/artists` - -**调用例子 :** `/top/artists?offset=0&limit=30` - -返回数据如下图 : - -![热门歌手](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/top_artists.png) - -### 全部 mv -说明 : 调用此接口 , 可获取全部 mv - -**可选参数 :** -`area`: 地区,可选值为全部,内地,港台,欧美,日本,韩国,不填则为全部 -`type`: 类型,可选值为全部,官方版,原生,现场版,网易出品,不填则为全部 - -`order`: 排序,可选值为上升最快,最热,最新,不填则为上升最快 - -`limit`: 取出数量 , 默认为 30 - -`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*50, 其中 50 为 limit 的值 , 默认 -为 0 - -**接口地址 :** `/mv/all` - -**调用例子 :** `/mv/all?area=港台` - -### 最新 mv -说明 : 调用此接口 , 可获取最新 mv - -**可选参数 :** `area`: 地区,可选值为全部,内地,港台,欧美,日本,韩国,不填则为全部 - -**可选参数 :** `limit`: 取出数量 , 默认为 30 - -**接口地址 :** `/mv/first` - -**调用例子 :** `/mv/first?limit=10` - -### 网易出品mv - -说明 : 调用此接口 , 可获取网易出品 mv - -**可选参数 :** `limit`: 取出数量 , 默认为 30 - -`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认 -为 0 - -**接口地址 :** `/mv/exclusive/rcmd` - -**调用例子 :** `/mv/exclusive/rcmd?limit=10` - -### 推荐 mv - -说明 : 调用此接口 , 可获取推荐 mv - -**接口地址 :** `/personalized/mv` - -**调用例子 :** `/personalized/mv` - -### 推荐歌单 - -说明 : 调用此接口 , 可获取推荐歌单 - -**可选参数 :** `limit`: 取出数量 , 默认为 30 (不支持 offset) - -**接口地址 :** `/personalized` - -**调用例子 :** `/personalized?limit=1` - -### 推荐新音乐 - -说明 : 调用此接口 , 可获取推荐新音乐 - -**可选参数 :** `limit`: 取出数量 , 默认为 10 (不支持 offset) - -**接口地址 :** `/personalized/newsong` - -**调用例子 :** `/personalized/newsong` - -### 推荐电台 - -说明 : 调用此接口 , 可获取推荐电台 - -**接口地址 :** `/personalized/djprogram` - -**调用例子 :** `/personalized/djprogram` - -### 推荐节目 - -说明 : 调用此接口 , 可获取推荐电台 - -**接口地址 :** `/program/recommend` - -**调用例子 :** `/program/recommend` - -### 独家放送(入口列表) - -说明 : 调用此接口 , 可获取独家放送 - -**接口地址 :** `/personalized/privatecontent` - -**调用例子 :** `/personalized/privatecontent` - -### 独家放送列表 - -说明 : 调用此接口 , 可获取独家放送列表 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 60 - -`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*60, 其中 60 为 limit 的值 , 默认为 0 - -**接口地址 :** `/personalized/privatecontent/list` - -**调用例子 :** `/personalized/privatecontent/list?limit=1&offset=2` - -### mv 排行 - -说明 : 调用此接口 , 可获取 mv 排行 - -**可选参数 :** `limit`: 取出数量 , 默认为 30 - -`area`: 地区,可选值为内地,港台,欧美,日本,韩国,不填则为全部 - -`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认 -为 0 - -**接口地址 :** `/top/mv` - -**调用例子 :** `/top/mv?limit=10` - -### 获取 mv 数据 - -说明 : 调用此接口 , 传入 mvid ( 在搜索音乐的时候传 type=1004 获得 ) , 可获取对应 -MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等数据 , 其中 mv 视频 -网易做了防盗链处理 , 可能不能直接播放 , 需要播放的话需要调用 ' mv 地址' 接口 - -**必选参数 :** `mvid`: mv 的 id - -**接口地址 :** `/mv/detail` - -**调用例子 :** `/mv/detail?mvid=5436712` - -返回数据如下图 : - -![mv 数据](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/mv.png) - -### 获取 mv 点赞转发评论数数据 -说明 : 调用此接口 , 传入 mvid ( 在搜索音乐的时候传 type=1004 获得 ) , 可获取对应 -MV 点赞转发评论数数据 - -**必选参数 :** `mvid`: mv 的 id - -**接口地址 :** `/mv/detail/info` - -**调用例子 :** `/mv/detail/info?mvid=5436712` - -### mv 地址 - -说明 : 调用此接口 , 传入 mv id,可获取 mv 播放地址 - -**必选参数 :** `id`: mv id - -**可选参数 :** `r`: 分辨率,默认1080,可从 `/mv/detail` 接口获取分辨率列表 - -**接口地址 :** `/mv/url` - -**调用例子 :** - -`/mv/url?id=5436712` `/mv/url?id=10896407&r=1080` - -### 获取视频标签列表 -说明 : 调用此接口 , 可获取视频标签列表 - -**接口地址 :** `/video/group/list` - -**调用例子 :** `/video/group/list` - -### 获取视频分类列表 -说明 : 调用此接口 , 可获取视频分类列表 - -**接口地址 :** `/video/category/list` - -**调用例子 :** `/video/category/list` - -### 获取视频标签/分类下的视频 -说明 : 调用此接口 , 传入标签/分类`id`,可获取到相关的视频,分页参数只能传入offset - -**必选参数 :** `id`: videoGroup 的 id - -**可选参数 :** `offset`: 默认0 - -**接口地址 :** `/video/group` - -**调用例子 :** `/video/group?id=9104` - -### 获取全部视频列表 -说明 : 调用此接口,可获取视频分类列表,分页参数只能传入offset - -**可选参数 :** `offset`: 默认0 - -**接口地址 :** `/video/timeline/all` - -**调用例子 :** `/video/timeline/all` - -### 获取推荐视频 -说明 : 调用此接口, 可获取推荐视频,分页参数只能传入offset - -**必选参数 :** `id`: videoGroup 的 id - -**可选参数 :** `offset`: 默认0 - -**接口地址 :** `/video/group` - -**调用例子 :** `/video/timeline/recommend` - -### 相关视频 - -说明 : 调用此接口 , 可获取相关视频 - -**必选参数 :** `id`: 视频 的 id - -**接口地址 :** `/related/allvideo` - -**调用例子 :** `/related/allvideo?id=89ADDE33C0AAE8EC14B99F6750DB954D` - - -### 视频详情 - -说明 : 调用此接口 , 可获取视频详情 - -**必选参数 :** `id`: 视频 的 id - -**接口地址 :** `/video/detail` - -**调用例子 :** `/video/detail?id=89ADDE33C0AAE8EC14B99F6750DB954D` - -### 获取视频点赞转发评论数数据 -说明 : 调用此接口 , 传入 vid ( 视频id ) , 可获取对应视频点赞转发评论数数据 -**必选参数 :** `vid`: 视频id - -**接口地址 :** `/video/detail/info` - -**调用例子 :** `/video/detail/info?vid=89ADDE33C0AAE8EC14B99F6750DB954D` - -### 获取视频播放地址 - -说明 : 调用此接口 , 传入视频 id,可获取视频播放地址 - -**必选参数 :** `id`: 视频 的 id - -**接口地址 :** `/video/url` - -**调用例子 :** `/video/url?id=89ADDE33C0AAE8EC14B99F6750DB954D` - - -### 所有榜单 - -说明 : 调用此接口,可获取所有榜单 -**接口地址 :** `/toplist` - -**调用例子 :** `/toplist` - -### 排行榜详情 -说明: 请使用[歌单详情](#获取歌单详情)接口,传入排行榜id获取排行榜详情数据(排行榜也是歌单的一种) - -~~说明 : 调用此接口 , 传入榜单 id, 可获取不同排行榜数据(v3.34.0之后不再支持idx参数)~~ - -~~**必选参数 :** `id`: 榜单id,通过所有榜单接口获取~~ - -~~**接口地址 :** `/top/list`~~ - -~~**调用例子 :** `/top/list?id=2809577409`~~ - - -### 所有榜单内容摘要 - -说明 : 调用此接口,可获取所有榜单内容摘要 - -**接口地址 :** `/toplist/detail` - -**调用例子 :** `/toplist/detail` - -### 歌手榜 - -说明 : 调用此接口 , 可获取排行榜中的歌手榜 - -**可选参数 :** -``` -type : 地区 -1: 华语 -2: 欧美 -3: 韩国 -4: 日本 -``` -**接口地址 :** `/toplist/artist` - -**调用例子 :** `/toplist/artist` - -### 云盘 - -说明 : 登录后调用此接口 , 可获取云盘数据 , 获取的数据没有对应 url, 需要再调用一 -次 `/song/url` 获取 url - -**可选参数 :** - -`limit` : 返回数量 , 默认为 200 - -`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*200, 其中 200 为 limit 的值 , 默认为 0 - -**接口地址 :** `/user/cloud` - -**调用例子 :** `/user/cloud` - -### 云盘数据详情 -说明 : 登录后调用此接口 , 传入云盘歌曲 id,可获取云盘数据详情 - -**必选参数 :** `id`: 歌曲id,可多个,用逗号隔开 - -**接口地址 :** `/user/cloud/detail` - -**调用例子 :** `/user/cloud/detail?id=5374627` - - -### 云盘歌曲删除 -说明 : 登录后调用此接口 , 可删除云盘歌曲 - -**必选参数 :** `id`: 歌曲id,可多个,用逗号隔开 - -**接口地址 :** `/user/cloud/del` - -**调用例子 :** `/user/cloud/del` - -### 电台banner -说明 : 调用此接口,可获取电台banner - -**接口地址 :** `/dj/banner` - -**调用例子 :** `/dj/banner` - -### 电台个性推荐 -说明 : 调用此接口,可获取电台个性推荐列表 -**可选参数 :** - -`limit` : 返回数量,默认为 6,总条数最多6条 - -**接口地址 :** `/dj/personalize/recommend` - -**调用例子 :** `/dj/personalize/recommend?limit=5` - -### 电台订阅者列表 -说明 : 调用此接口,可获取电台订阅者列表 -**必选参数 :** `id`: 电台id - -**可选参数 :** -`time` : 分页参数,默认-1,传入上一次返回结果的 time,将会返回下一页的数据 - -`limit` : 返回数量,默认为 20 - -**接口地址 :** `/dj/subscriber` - -**调用例子 :** `/dj/subscriber?id=335425050` , `/dj/subscriber?id=335425050&time=1602761825390` - -### 用户电台 - -说明 : 调用此接口, 传入用户id可获取用户创建的电台 - -**必选参数 :** `uid`: 用户id - -**接口地址 :** `/user/audio` - -**调用例子 :** `/user/audio?uid=32953014` - -### 热门电台 -说明 : 调用此接口,可获取热门电台 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 -**接口地址 :** `/dj/hot` - -**调用例子 :** `/dj/hot` - -### 电台 - 节目榜 - -说明 : 登录后调用此接口 , 可获得电台节目榜 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 100 - -`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*100, 其中 100 为 limit 的值 , 默认为 0 - -**接口地址 :** `/dj/program/toplist` - -**调用例子 :** `/dj/program/toplist?limit=1` - -### 电台 - 付费精品 -说明 : 调用此接口,可获取付费精品电台 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 100 (不支持 offset) - -**接口地址 :** `/dj/toplist/pay` - -**调用例子 :** `/dj/toplist/pay?limit=30` - - -### 电台 - 24小时节目榜 -说明 : 调用此接口,可获取24小时节目榜 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 100 (不支持 offset) - -**接口地址 :** `/dj/program/toplist/hours` - -**调用例子 :** `/dj/program/toplist/hours?limit=1` - -### 电台 - 24小时主播榜 -说明 : 调用此接口,可获取24小时主播榜 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 100 (不支持 offset) - -**接口地址 :** `/dj/toplist/hours` - -**调用例子 :** `/dj/toplist/hours?limit=30` - -### 电台 - 主播新人榜 -说明 : 调用此接口,可获取主播新人榜 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 100 (不支持 offset) - -**接口地址 :** `/dj/toplist/newcomer` - -**调用例子 :** `/dj/toplist/newcomer?limit=30` - - -### 电台 - 最热主播榜 -说明 : 调用此接口,可获取最热主播榜 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 100 (不支持 offset) - -**接口地址 :** `/dj/toplist/popular` - -**调用例子 :** `/dj/toplist/popular?limit=30` - -### 电台 - 新晋电台榜/热门电台榜 - -说明 : 登录后调用此接口 , 可获得新晋电台榜/热门电台榜 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 100 - -`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*100, 其中 100 为 limit 的值 , 默认为 0 - -`type`: 榜单类型, `new` 为新晋电台榜,`hot`为热门电台榜 - -**接口地址 :** `/dj/toplist` - -**调用例子 :** `/dj/toplist?type=hot` `/dj/toplist?type=new&limit=1` - -### 电台 - 类别热门电台 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -`cateId`: 类别 id,可通过 `/dj/category/recommend` 接口获取 - -**接口地址 :** `/dj/radio/hot` - -**调用例子 :** `/dj/radio/hot?cateId=2001`(创作|翻唱) `/dj/radio/hot?cateId=10002` (3D|电子) - -### 电台 - 推荐 - -说明 : 登录后调用此接口 , 可获得推荐电台 - -**接口地址 :** `/dj/recommend` - -**调用例子 :** `/dj/recommend` - -### 电台 - 分类 - -说明 : 登录后调用此接口 , 可获得电台类型 - -**接口地址 :** `/dj/catelist` - -**调用例子 :** `/dj/catelist` - -### 电台 - 分类推荐 - -说明 : 登录后调用此接口 , 传入分类,可获得对应类型电台列表 - -**必选参数 :** `type`: 电台类型 , 数字 , 可通过`/dj/catelist`获取 , 对应关系为 -id 对应 此接口的 type, name 对应类型 - -**接口地址 :** `/dj/recommend/type` - -**调用例子 :** `/dj/recommend/type?type=1`(明星做主播) `/dj/recommend/type?type=2001` (创作|翻唱) - -### 电台 - 订阅 - -说明 : 登录后调用此接口 , 传入`rid`, 可订阅 dj,dj 的 `rid` 可通过搜索指定 -type='1009' 获取其 id, 如`/search?keywords= 代码时间 &type=1009` - -**必选参数 :** `rid`: 电台 的 id - -**接口地址 :** `/dj/sub` - -**调用例子 :** `/dj/sub?rid=336355127&t=1` ( 对应关注 ' 代码时间 ') -`/dj/sub?rid=336355127&t=0` ( 对应取消关注 ' 代码时间 ') - -### 电台的订阅列表 - -说明 : 登录后调用此接口 , 可获取订阅的电台列表 - -**接口地址 :** `/dj/sublist` - -**调用例子 :** `/dj/sublist` - -### 电台 - 付费精选 - -说明 : 可以获取付费精选的电台列表 , 传入 `limit` 和 `offset` 可以进行分页 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -**接口地址 :** `/dj/paygift` - -**调用例子 :** `/dj/paygift?limit=10&offset=20` - -### 电台 - 非热门类型 - -说明 : 登录后调用此接口, 可获得电台非热门类型 - - -**接口地址 :** `/dj/category/excludehot` - -**调用例子 :** `/dj/category/excludehot` - -### 电台 - 推荐类型 - -说明 : 登录后调用此接口, 可获得电台推荐类型 - - -**接口地址 :** `/dj/category/recommend` - -**调用例子 :** `/dj/category/recommend` - -### 电台 - 今日优选 - -说明 : 登录后调用此接口, 可获得电台今日优选 - - -**接口地址 :** `/dj/today/perfered` - -**调用例子 :** `/dj/today/perfered` - -### 电台 - 详情 - -说明 : 登录后调用此接口 , 传入`rid`, 可获得对应电台的详情介绍 - -**必选参数 :** `rid`: 电台 的 id - -**接口地址 :** `/dj/detail` - -**调用例子 :** `/dj/detail?rid=336355127` ( 对应 ' 代码时间 ' 的详情介绍 ) - -### 电台 - 节目 - -说明 : 登录后调用此接口 , 传入`rid`, 可查看对应电台的电台节目以及对应的 id, 需要 -注意的是这个接口返回的 mp3Url 已经无效 , 都为 null, 但是通过调用 `/song/url` 这 -个接口 , 传入节目 id 仍然能获取到节目音频 , 如 `/song/url?id=478446370` 获取代 -码时间的一个节目的音频 - -**必选参数 :** `rid`: 电台 的 id - -**可选参数 :** - -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -`asc` : 排序方式,默认为 `false` (新 => 老 ) 设置 `true` 可改为 老 => 新 - -**接口地址 :** `/dj/program` - -**调用例子 :** `/dj/program?rid=336355127&limit=40` ( 对应 ' 代码时间 ' 的节目列表 ) - -### 电台 - 节目详情 -说明 : 调用此接口传入电台节目id,可获得电台节目详情 - -**必选参数 :** `id`: 电台节目 的 id - -**接口地址 :** `/dj/program/detail` - -**调用例子 :** `/dj/program/detail?id=1367665101` - -### 通知 - 私信 - -说明 : 登录后调用此接口 ,可获取私信 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -**接口地址 :** `/msg/private` - -**调用例子 :** `/msg/private?limit=3` - -### 发送私信 - -说明 : 登录后调用此接口 , 传入用户 id 和要发送的信息, 可以发送私信,返回内容为历史私信,包含带歌单的私信信息(注:不能发送私信给自己) - -**必选参数 :** - -`user_ids` : 用户 id,多个需用逗号隔开 - -`msg` : 要发送的信息 - -**接口地址 :** `/send/text` - -**调用例子 :** `/send/text?user_ids=32953014&msg=test`,`/send/text?user_ids=32953014,475625142&msg=test` - - -### 私信内容 -说明 : 登录后调用此接口 , 可获取私信内容 - -**必选参数 :** -`uid` : 用户 id - -**可选参数 :** -`limit` : 返回数量 , 默认为 30 - -`before` : 分页参数,取上一页最后一项的 `time` 获取下一页数据 - -**接口地址 :** -`/msg/private/history` - -**调用例子 :** -`/msg/private/history?uid=9003` (云音乐小秘书) - -### 发送私信(带歌单) - -说明 : 登录后调用此接口 , 传入用户 id 和要发送的信息和歌单 id, 可以发送带歌单的私信(注:不能发送重复的歌单) - -**必选参数 :** - -`user_ids` : 用户 id,多个需用逗号隔开 - -`msg` : 要发送的信息 - -**接口地址 :** `/send/playlist` - -**调用例子 :** `/send/playlist?msg=test&user_ids=475625142&playlist=705123491`,`/send/playlist?msg=test2&user_ids=475625142,32953014&playlist=705123493` - - -### 通知 - 评论 - -说明 : 登录后调用此接口 ,可获取评论 - -**必选参数 :** `uid`: 用户 的 id,只能和登录账号的 id 一致 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 30 - -`before` : 分页参数,取上一页最后一个歌单的 `updateTime` 获取下一页数据 - - -**接口地址 :** `/msg/comments` - -**调用例子 :** `/msg/comments?uid=32953014` - -### 通知 - @我 - -说明 : 登录后调用此接口 ,可获取@我数据 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -**接口地址 :** `/msg/forwards` - -**调用例子 :** `/msg/forwards?limit=3` - - -### 通知 - 通知 - -说明 : 登录后调用此接口 ,可获取通知 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 30 - -`lasttime` : 返回数据的 `time` ,默认-1,传入上一次返回结果的 time,将会返回下一页的数据 - - -**接口地址 :** `/msg/notices` - -**调用例子 :** `/msg/notices?limit=3` - -### 设置 -说明 : 登录后调用此接口 ,可获取用户设置 - -**接口地址 :** `/setting` - -**调用例子 :** `/setting` - -### 数字专辑-新碟上架 -说明 : 调用此接口 ,可获取数字专辑-新碟上架 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 -**接口地址 :** `/album/list` - -**调用例子 :** `/album/list?limit=10` - -### 数字专辑&数字单曲-榜单 -说明 : 调用此接口 ,可获取数字专辑&数字单曲-榜单 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -`albumType` : 为数字专辑,1为数字单曲 - -`type` : daily:日榜,week:周榜,year:年榜,total:总榜 - -**接口地址 :** `/album_songsaleboard` - -**调用例子 :** `/album/songsaleboard?type=year&year=2020&albumType=0` - -### 数字专辑-语种风格馆 - -说明 : 调用此接口 ,可获取语种风格馆数字专辑列表 - -**可选参数 :** - -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -`area` 地区 Z_H:华语,E_A:欧美,KR:韩国,JP:日本 - -**接口地址 :** `/album/list/style` - -**调用例子 :** `/album/list/style?area=Z_H&offset=2` - -### 数字专辑详情 -说明 : 调用此接口 ,传入数字专辑id可获取数字专辑详情(和歌单详情有差异) - -**接口地址 :** `/album/detail` - -**调用例子 :** `/album/detail?id=84547195` - - -### 我的数字专辑 -说明 : 登录后调用此接口 ,可获取我的数字专辑 - -**接口地址 :** `/digitalAlbum/purchased` - -**调用例子 :** `/digitalAlbum/purchased?limit=10` - -### 购买数字专辑 -说明 : 登录后调用此接口 ,可获取购买数字专辑的地址,把地址生成二维码后,可扫描购买专辑 - -**必选参数 :** - -`id` : 专辑的 id - -`payment` : 支付方式, 0 为支付宝 3 为微信 - -`quantity` : 购买的数量 - -**接口地址 :** `/digitalAlbum/ordering` - -**调用例子 :** `/digitalAlbum/ordering?id=86286082&payment=3&quantity=1` - -### 音乐日历 -说明 : 登录后调用此接口,传入开始和结束时间,可获取音乐日历 - -**接口地址 :** `/calendar` - -**调用例子 :** `/calendar?startTime=1606752000000&endTime=1609430399999` - -### 云贝 -说明 : 登录后调用此接口可获取云贝签到信息(连续签到天数,第二天全部可获得的云贝) - -**接口地址 :** `/yunbei` - -**调用例子 :** `/yunbei` - -### 云贝今日签到信息 -说明 : 登录后调用此接口可获取云贝今日签到信息(今日签到获取的云贝数) - -**接口地址 :** `/yunbei/today` - -**调用例子 :** `/yunbei/today` - -### 云贝签到 -说明 : 登录后调用此接口可进行云贝签到 - -**接口地址 :** `/yunbei/sign` - -**调用例子 :** `/yunbei/sign` - -### 云贝账户信息 -说明 :登录后调用此接口可获取云贝账户信息(账户云贝数) - -**接口地址 :** `/yunbei/info` - -**调用例子 :** `/yunbei/info` - -### 云贝所有任务 -说明 :登录后调用此接口可获取云贝所有任务 - -**接口地址 :** `/yunbei/tasks` - -**调用例子 :** `/yunbei/tasks` - -### 云贝todo任务 -说明 :登录后调用此接口可获取云贝todo任务 - -**接口地址 :** `/yunbei/tasks/todo` - -**调用例子 :** `/yunbei/tasks/todo` - -### 云贝完成任务 -**必选参数 :** - -`userTaskId` : 任务id - -**可选参数 :** - -`depositCode`: 任务depositCode - -**接口地址 :** `/yunbei/task/finish` - -**调用例子 :** `/yunbei/task/finish?userTaskId=5146243240&depositCode=0` - -### 云贝收入 -说明 :登录后调用此接口可获取云贝收入 - -**可选参数 :** `limit`: 取出评论数量 , 默认为 10 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*10, 其中 10 为 limit 的值 - -**接口地址 :** `/yunbei/tasks/receipt` - -**调用例子 :** `/yunbei/tasks/receipt?limit=1` - -### 云贝支出 -说明 :登录后调用此接口可获取云贝支出 - -**可选参数 :** `limit`: 取出评论数量 , 默认为 10 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*10, 其中 10 为 limit 的值 -**接口地址 :** `/yunbei/tasks/expense` - -**调用例子 :** `/yunbei/tasks/expense?limit=1` - -### batch批量请求接口 -说明 : 登录后调用此接口 ,传入接口和对应原始参数(原始参数非文档里写的参数,需参考源码),可批量请求接口 - -**接口地址 :** `/batch` - -**调用例子 :** 使用GET方式:`/batch?/api/v2/banner/get={"clientType":"pc"}` 使用POST方式传入参数:`{ "/api/v2/banner/get": {"clientType":"pc"} }` - - - -## 离线访问此文档 - -此文档同时也是 Progressive Web Apps(PWA), 加入了 serviceWorker, 可离线访问 - -## 关于此文档 - -此文档由 [docsify](https://github.com/QingWei-Li/docsify/) 生成 docsify 是一个动 -态生成文档网站的工具。不同于 GitBook、Hexo 的地方是它不会生成将 .md 转成 .html -文件,所有转换工作都是在运行时进行。 - -## License - -[The MIT License (MIT)](https://github.com/Binaryify/NeteaseCloudMusicApi/blob/master/LICENSE) diff --git a/api/docs/_coverpage.md b/api/docs/_coverpage.md deleted file mode 100644 index c21e9136..00000000 --- a/api/docs/_coverpage.md +++ /dev/null @@ -1,13 +0,0 @@ -# 网易云音乐 API - -> 网易云音乐 NodeJS 版 API - -- 全部接口已升级到最新 -- 具备登录接口,多达100多个接口 -- 更完善的文档 - - -[GitHub](https://github.com/Binaryify/NeteaseCloudMusicApi) -[Get Started](#neteasecloudmusicapi) - -![color](#ffffff) \ No newline at end of file diff --git a/api/docs/favicon.ico b/api/docs/favicon.ico deleted file mode 100644 index 2e28d046..00000000 Binary files a/api/docs/favicon.ico and /dev/null differ diff --git a/api/docs/icon.png b/api/docs/icon.png deleted file mode 100644 index 92eda4c8..00000000 Binary files a/api/docs/icon.png and /dev/null differ diff --git a/api/docs/index.html b/api/docs/index.html deleted file mode 100644 index 16cef205..00000000 --- a/api/docs/index.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - 网易云音乐 NodeJS 版 API - - - - - - - - - -
- - - - - - - - diff --git a/api/docs/sw.js b/api/docs/sw.js deleted file mode 100644 index a50f9ba6..00000000 --- a/api/docs/sw.js +++ /dev/null @@ -1,90 +0,0 @@ -/* =========================================================== - * docsify sw.js - * =========================================================== - * Copyright 2016 @huxpro - * Licensed under Apache 2.0 - * Register service worker. - * ========================================================== */ - -const RUNTIME = 'docsify' -const HOSTNAME_WHITELIST = [ - self.location.hostname, - 'fonts.gstatic.com', - 'fonts.googleapis.com', - 'unpkg.com', -] - -// The Util Function to hack URLs of intercepted requests -const getFixedUrl = (req) => { - var now = Date.now() - var url = new URL(req.url) - - // 1. fixed http URL - // Just keep syncing with location.protocol - // fetch(httpURL) belongs to active mixed content. - // And fetch(httpRequest) is not supported yet. - url.protocol = self.location.protocol - - // 2. add query for caching-busting. - // Github Pages served with Cache-Control: max-age=600 - // max-age on mutable content is error-prone, with SW life of bugs can even extend. - // Until cache mode of Fetch API landed, we have to workaround cache-busting with query string. - // Cache-Control-Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=453190 - if (url.hostname === self.location.hostname) { - url.search += (url.search ? '&' : '?') + 'cache-bust=' + now - } - return url.href -} - -/** - * @Lifecycle Activate - * New one activated when old isnt being used. - * - * waitUntil(): activating ====> activated - */ -self.addEventListener('activate', (event) => { - event.waitUntil(self.clients.claim()) -}) - -/** - * @Functional Fetch - * All network requests are being intercepted here. - * - * void respondWith(Promise r) - */ -self.addEventListener('fetch', (event) => { - // Skip some of cross-origin requests, like those for Google Analytics. - if (HOSTNAME_WHITELIST.indexOf(new URL(event.request.url).hostname) > -1) { - // Stale-while-revalidate - // similar to HTTP's stale-while-revalidate: https://www.mnot.net/blog/2007/12/12/stale - // Upgrade from Jake's to Surma's: https://gist.github.com/surma/eb441223daaedf880801ad80006389f1 - const cached = caches.match(event.request) - const fixedUrl = getFixedUrl(event.request) - const fetched = fetch(fixedUrl, { cache: 'no-store' }) - const fetchedCopy = fetched.then((resp) => resp.clone()) - - // Call respondWith() with whatever we get first. - // If the fetch fails (e.g disconnected), wait for the cache. - // If there’s nothing in cache, wait for the fetch. - // If neither yields a response, return offline pages. - event.respondWith( - Promise.race([fetched.catch((_) => cached), cached]) - .then((resp) => resp || fetched) - .catch((_) => { - /* eat any errors */ - }), - ) - - // Update the cache with the version we fetched (only for ok status) - event.waitUntil( - Promise.all([fetchedCopy, caches.open(RUNTIME)]) - .then( - ([response, cache]) => - response.ok && cache.put(event.request, response), - ) - .catch((_) => { - /* eat any errors */ - }), - ) - } -}) diff --git a/api/docs/v2.md b/api/docs/v2.md deleted file mode 100644 index d8382f3c..00000000 --- a/api/docs/v2.md +++ /dev/null @@ -1,1429 +0,0 @@ -# NeteaseCloudMusicApi - -网易云音乐 NodeJS 版 API - -## 灵感来自 - -[disoul/electron-cloud-music](https://github.com/disoul/electron-cloud-music) - -[darknessomi/musicbox](https://github.com/darknessomi/musicbox) - -[sqaiyan/netmusic-node](https://github.com/sqaiyan/netmusic-node) - -## 工作原理 - -跨站请求伪造 (CSRF), 伪造请求头 , 调用官方 API - -## 功能特性 - -1. 登录 -2. 刷新登录 -3. 获取用户信息 , 歌单,收藏,mv, dj 数量 -4. 获取用户歌单 -5. 获取用户电台 -6. 获取用户关注列表 -7. 获取用户粉丝列表 -8. 获取用户动态 -9. 获取用户播放记录 -10. 获取精品歌单 -11. 获取歌单详情 -12. 搜索 -13. 搜索建议 -14. 获取歌词 -15. 歌曲评论 -16. 收藏单曲到歌单 -17. 专辑评论 -18. 歌单评论 -19. mv 评论 -20. 电台节目评论 -21. banner -22. 获取歌曲详情 -23. 获取专辑内容 -24. 获取歌手单曲 -25. 获取歌手 mv -26. 获取歌手专辑 -27. 获取歌手描述 -28. 获取相似歌手 -29. 获取相似歌单 -30. 相似 mv -31. 获取相似音乐 -32. 获取最近 5 个听了这首歌的用户 -33. 获取每日推荐歌单 -34. 获取每日推荐歌曲 -35. 私人 FM -36. 签到 -37. 喜欢音乐 -38. 垃圾桶 -39. 歌单 ( 网友精选碟 ) -40. 新碟上架 -41. 热门歌手 -42. 最新 mv -43. 推荐 mv -44. 推荐歌单 -45. 推荐新音乐 -46. 推荐电台 -47. 推荐节目 -48. 独家放送 -49. mv 排行 -50. 获取 mv 数据 -51. 播放 mv/视频 -52. 排行榜 -53. 歌手榜 -54. 云盘 -55. 电台 - 推荐 -56. 电台 - 分类 -57. 电台 - 分类推荐 -58. 电台 - 订阅 -59. 电台 - 详情 -60. 电台 - 节目 -61. 给评论点赞 -62. 获取动态 -63. 获取热搜 -64. 发送私信 -65. 发送私信歌单 -66. 新建歌单 -67. 收藏/取消收藏歌单 -68. 歌单分类 -69. 收藏的歌手列表 -70. 订阅的电台列表 -71. 相关歌单推荐 -72. 付费精选接口 -73. 音乐是否可用检查接口 -74. 登录状态 -75. 获取视频数据 -76. 发送/删除评论 -77. 热门评论 -78. 视频评论 -79. 退出登录 - -## 安装 - -```shell -$ git clone git@github.com:Binaryify/NeteaseCloudMusicApi.git -$ npm install -``` - -## 运行 - -```shell -$ node app.js -``` - -服务器启动默认端口为 3000, 若不想使用 3000 端口 , 可使用以下命令 : Mac/Linux - -```shell -$ PORT=4000 node app.js -``` - -windows 下使用 git-bash 或者 cmder 等终端执行以下命令 : - -```shell -$ set PORT=4000 && node app.js -``` - -## 可以使用代理 - -在 query 参数中加上 proxy=your-proxy 即可让这一次的请求使用 proxy - -```javascript -// 例子 -const url = `http://localhost:3000/music/url?id=33894312&proxy=http://121.196.226.246:84` -fetch(url).then(function() { - // do what you want -}) - -// 结果 -// {"data":[{"id":33894312,"url":"http://m10.music.126.net/20180104125640/930a968b3fb04908b733506b3833e60b/ymusic/0fd6/4f65/43ed/a8772889f38dfcb91c04da915b301617.mp3","br":320000,"size":10691439,"md5":"a8772889f38dfcb91c04da915b301617","code":200,"expi":1200,"type":"mp3","gain":-2.0E-4,"fee":0,"uf":null,"payed":0,"flag":0,"canExtend":false}],"code": 200} -``` - -## Docker 容器运行 - -> 注意: 在 docker 中运行的时候, 由于使用了 request 来发请求, 所以会检查几个 -> proxy 相关的环境变量(如下所列), 这些环境变量 会影响到 request 的代理, 详情请参 -> 考[request 的文档](https://github.com/request/request#proxies), 如果这些环境变 -> 量 指向的代理不可用, 那么就会造成错误, 所以在使用 docker 的时候一定要注意这些 -> 环境变量. 不过, 要是你在 query 中加上了 proxy 参数, 那么环境变量会被覆盖, 就会 -> 用你通过 proxy 参数提供的代理了. - -request 相关的环境变量 - -1. http_proxy -2. https_proxy -3. HTTP_PROXY -4. HTTPS_PROXY -5. no_proxy -6. NO_PROXY - -```shell -docker pull twesix/netease-cloud-music -docker run -d -p 3000:3000 --name netease-cloud-music twesix/netease-music-api - -// 去掉或者设置相关的环境变量 -docker run -d -p 3000:3000 --name netease-cloud-music -e http_proxy= -e https_proxy= -e no_proxy= -e HTTP_PROXY= -e HTTPS_PROXY= -e NO_PROXY= netease-cloud-music -``` - -> 由于 docker 镜像更新不是很及时,推荐自己 build, 以下为 build 镜像的方式 - -``` -$ git clone https://github.com/Binaryify/NeteaseCloudMusicApi && cd NeteaseCloudMusicApi -$ sudo docker build . -t netease-music-api -$ sudo docker run -d -p 3000:3000 netease-music-api -``` - -## 接口文档 - -### 调用前须知 - -!> 为使用方便,降低门槛,登录接口直接使用了 get 明文请求,请按实际需求对源码修改 - -!> 由于接口做了缓存处理 ( 缓存 2 分钟 , 可在 app.js 设置 , 可能会导致登录后获取不 -到 cookie), 相同的 url 会在两分钟内只向网易服务器发一次请求 , 如果遇到不需要缓 -存结果的接口 , 可在请求 url 后面加一个时间戳参数使 url 不同 , 例子 : -`/simi/playlist?id=347230×tamp=1503019930000` - -!> 如果是跨域请求 , 请在所有请求带上 `xhrFields: { withCredentials: true }` 否则 -可能会因为没带上 cookie 导致 301, 具体例子可看 `public/test.html`, 例子使用 jQuery, axios 版本也类似 - -!> 301 错误基本都是没登录就调用了需要登录的接口,如果登录了还是提示 301, 基本都是缓存把数据缓存起来了,解决方法是等待 2 分钟或者重启服务重新登录后再调用接口 - -!> 部分接口如登录接口不能调用太频繁 , 否则可能会触发 503 错误或者 ip 高频错误 ,若需频繁调用 , 需要准备 IP 代理池 (更新:已加入缓存机制,但仍需注意). - -!> 本项目仅供学习使用 , 文档可能会有缓存 , 如果文档版本和 github 上的版本不一致,请清除缓存再查看 - -!> 由于网易限制,此项目在国外服务器上使用会受到限制,如需解决 , 可使用大陆服务器或者使用代理 , 感谢 [@hiyangguo](https://github.com/hiyangguo)提出的[解决方法](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/29#issuecomment-298358438): -在 'util.js' 的 'headers' 处增加 `X-Real-IP':'211.161.244.70' // 任意国内 IP` -即可解决 - -### 登录 - -说明 : 登录有两个接口 - -#### 1. 手机登录 - -**必选参数 :** `phone`: 手机号码 `password`: 密码 - -**接口地址 :** `/login/cellphone` - -**调用例子 :** `/login/cellphone?phone=xxx&password=yyy` - -#### 2. 邮箱登录 - -~~ 注意 : 此接口被网易和谐了 , 待修复 , 暂时使用手机登录 (2017.05.20)~~ - -> 更新 : 此接口已经可以正常使用(2018.07.03) - -**必选参数 :** `email`: 163 网易邮箱 `password`: 密码 - -**接口地址 :** `/login` - -**调用例子 :** `/login?email=xxx@163.com&password=yyy` - -返回数据如下图 : -![登录](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E7%99%BB%E5%BD%95.png) - -完成登录后 , 会在浏览器保存一个 Cookies 用作登录凭证 , 大部分 API 都需要用到这个 -Cookies - -#### 注意 - -调用登录接口的速度比调用其他接口慢 , 因为登录过程调用了加密算法 - -### 刷新登录 - -说明 : 调用此接口 , 可刷新登录状态 - -**调用例子 :** `/login/refresh` - -### 退出登录 - -说明 : 调用此接口 , 可退出登录 - -**调用例子 :** `/logout` - -### 登录状态 - -说明 : 调用此接口,可获取登录状态 - -**接口地址 :** `/login/status` -返回数据如下图: -![数据](https://ws2.sinaimg.cn/large/006tNbRwgy1fup6q18kk6j316i0nw0wa.jpg) - -### 获取用户详情 - -说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户详情 - -**必选参数 :** `uid` : 用户 id - -**接口地址 :** `/user/detail` - -**调用例子 :** `/user/detail?uid=32953014` - -### 获取用户信息 , 歌单,收藏,mv, dj 数量 - -说明 : 登录后调用此接口 , 可以获取用户信息 - -**接口地址 :** `/user/subcount` - -**调用例子 :** `/user/subcount` - -### 更新用户信息 - -说明 : 登录后调用此接口 , 传入相关信息,可以更新用户信息 - -**必选参数 :** - -``` -gender: 性别 0:保密 1:男性 2:女性 -birthday: 出生日期,时间戳 unix timestamp -nickname: 用户昵称 -province: 省份id -city: 城市id -signature:用户签名 -``` - -**接口地址 :** `/user/subcount` - -**调用例子 :** `/user/update/?gender=0&signature=测试签名&city=440300&nickname=binary&birthday=1525918298004&province=440000` - -### 获取用户歌单 - -说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户歌单 - -**必选参数 :** `uid` : 用户 id - -**接口地址 :** `/user/playlist` - -**调用例子 :** `/user/playlist?uid=32953014` - -返回数据如下图 : -![用户歌单](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E7%94%A8%E6%88%B7%E6%AD%8C%E5%8D%95.png) - -### 更新歌单 - -说明 : 登录后调用此接口,可以更新用户歌单 -参数: - -``` -id:歌单id -name:歌单名字 -desc:歌单描述 -tags:歌单tag -``` - -**接口地址 :** `/playlist/update` - -**调用例子 :** `/playlist/update/?id=24381616&name=新歌单&desc=描述&tags=学习` - -### 发送私信 - -说明 : 登录后调用此接口 , 传入用户 id 和要发送的信息, 可以发送私信,返回内容为历史私信,包含带歌单的私信信息(注:不能发送私信给自己) - -**必选参数 :** - -`user_ids` : 用户 id,多个需用逗号隔开 - -`msg` : 要发送的信息 - -**接口地址 :** `/send/text` - -**调用例子 :** `/send/text?user_ids=32953014&msg=test`,`/send/text?user_ids=32953014,475625142&msg=test` -返回数据如下图: -![数据](https://ws1.sinaimg.cn/large/006tKfTcgy1fr3p3hfeudj31kw1aek2e.jpg) - -### 发送私信(带歌单) - -说明 : 登录后调用此接口 , 传入用户 id 和要发送的信息和歌单 id, 可以发送带歌单的私信(注:不能发送重复的歌单) - -**必选参数 :** - -`user_ids` : 用户 id,多个需用逗号隔开 - -`msg` : 要发送的信息 - -**接口地址 :** `/send/playlist` - -**调用例子 :** `/send/playlist?msg=test&user_ids=475625142&playlist=705123491`,`/send/playlist?msg=test2&user_ids=475625142,32953014&playlist=705123493` -返回数据如下图: -![数据](https://ws1.sinaimg.cn/large/006tKfTcgy1fr3p1z7qmcj30v409adg5.jpg) - -### 获取用户电台 - -说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户电台 - -**必选参数 :** `uid` : 用户 id - -**接口地址 :** `/user/dj` - -**调用例子 :** `/user/dj?uid=32953014` - -### 获取用户关注列表 - -说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户关注列表 - -**必选参数 :** `uid` : 用户 id - -**可选参数 :** -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 -: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -**接口地址 :** `/user/follows` - -**调用例子 :** `/user/follows?uid=32953014` - -### 获取用户粉丝列表 - -说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户粉丝列表 - -**必选参数 :** `uid` : 用户 id - -**可选参数 :** `limit` : 返回数量 , 默认为 30 `offset` : 偏移数量,用于分页 , 如 -: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -**接口地址 :** `/user/followeds` - -**调用例子 :** `/user/followeds?uid=32953014` - -### 获取用户动态 - -说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户动态 - -**必选参数 :** `uid` : 用户 id - -**接口地址 :** `/user/event` - -**调用例子 :** `/user/event?uid=32953014` - -### 获取用户播放记录 - -说明 : 登录后调用此接口 , 传入用户 id, 可获取用户播放记录 - -**必选参数 :** `uid` : 用户 id - -**可选参数 :** `type` : type=1 时只返回 weekData, type=0 时返回 allData - -**接口地址 :** `/user/record` - -**调用例子 :** `/user/record?uid=32953014&type=1` - -### 获取动态消息 - -说明 : 调用此接口 , 可获取各种动态 , 对应网页版网易云,朋友界面里的各种动态消息 -,如分享的视频,音乐,照片等! - -**必选参数 :** 未知 - -**接口地址 :** `/event` - -**调用例子 :** `/event` - -### 歌手分类列表 - -说明 : 调用此接口,可获取歌手分类列表 -**必选参数 :** `cat` : 即 category Code,歌手类型,默认 1001,返回华语男歌手数据 -**可选参数 :** -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 -: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 -`initial`: 按首字母索引查找参数,如 `/artist/list?cat=1001&initial=b` 返回内容将以 name 字段开头为 b 或者拼音开头为 b 为顺序排列 - -category Code 取值: - -``` -入驻歌手 5001 -华语男歌手 1001 -华语女歌手 1002 -华语组合/乐队 1003 -欧美男歌手 2001 -欧美女歌手 2002 -欧美组合/乐队 2003 -日本男歌手 6001 -日本女歌手 6002 -日本组合/乐队 6003 -韩国男歌手 7001 -韩国女歌手 7002 -韩国组合/乐队 7003 -其他男歌手 4001 -其他女歌手 4002 -其他组合/乐队 4003 -``` - -**接口地址 :** `/artist/list` - -**调用例子 :** `/artist/list?cat=1001` - -返回数据如下图: -![数据](https://ws1.sinaimg.cn/large/006tKfTcgy1fr60g9zps9j31kw1bpk4n.jpg) - -### 收藏歌手 - -说明 : 调用此接口,可收藏歌手 -**必选参数 :** `artistId` : 歌手 id - -**接口地址 :** `/artist/sub` - -**调用例子 :** `/artist/sub?id=6452` - -### 取消收藏歌手 - -说明 : 调用此接口,可取消收藏歌手 -**必选参数 :** `artistId` : 歌手 id - -**接口地址 :** `/artist/unsub` - -**调用例子 :** `/artist/unsub?id=6452` - -### 收藏的歌手列表 - -说明 : 调用此接口,可获取收藏的歌手列表 - -**接口地址 :** `/artist/sublist` - -**调用例子 :** `/artist/sublist` - -### 歌单分类 - -说明 : 调用此接口,可获取歌单分类,包含 category 信息 - -**接口地址 :** `/playlist/catlist` - -**调用例子 :** `/playlist/catlist` - -### 热门歌单分类 - -说明 : 调用此接口,可获取歌单分类,包含 category 信息 - -**接口地址 :** `/playlist/hot` - -**调用例子 :** `/playlist/hot` - -### 歌单 ( 网友精选碟 ) - -说明 : 调用此接口 , 可获取网友精选碟歌单 - -**可选参数 :** `order`: 可选值为 'new' 和 'hot', 分别对应最新和最热 , 默认为 -'hot' - -`cat`:`cat`: tag, 比如 " 华语 "、" 古风 " 、" 欧美 "、" 流行 ", 默认为 -"全部",可从歌单分类接口获取(/playlist/catlist) - -**接口地址 :** `/top/playlist` - -**调用例子 :** `/top/playlist?limit=10&order=new` - -返回数据如下图 : - -![精选碟](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/top_playlist.png) -![对应位置](https://ws2.sinaimg.cn/large/006tKfTcgy1fr3wnpyg6jj317e0vcqdc.jpg) -![返回数据](https://ws4.sinaimg.cn/large/006tKfTcgy1fr3wqs5lw9j31ic1re4c4.jpg) - -### 获取精品歌单 - -说明 : 调用此接口 , 可获取精品歌单 - -**可选参数 :** `cat`: tag, 比如 " 华语 "、" 古风 " 、" 欧美 "、" 流行 ", 默认为 -"全部",可从歌单分类接口获取(/playlist/catlist) - -`limit`: 取出歌单数量 , 默认为 20 - -**接口地址 :** `/top/playlist/highquality` - -**调用例子 :** `/top/playlist/highquality?limit=30` - -### 相关歌单推荐 - -说明 : 调用此接口,传入歌单 id 可获取相关歌单(对应页面 [https://music.163.com/#/playlist?id=1](https://music.163.com/#/playlist?id=1)) - -**必选参数 :** `id` : 歌单 id - -**接口地址 :** `/related/playlist` - -**调用例子 :** `/related/playlist?id=1` - -### 获取歌单详情 - -说明 : 歌单能看到歌单名字 , 但看不到具体歌单内容 , 调用此接口 , 传入歌单 id, 可 -以获取对应歌单内的所有的音乐 - -**必选参数 :** `id` : 歌单 id - -**可选参数 :** `s` : 歌单最近的 s 个收藏者 - -**接口地址 :** `/playlist/detail` - -**调用例子 :** `/playlist/detail?id=24381616` - -返回数据如下图 : -![歌单详情](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%AD%8C%E5%8D%95%E8%AF%A6%E6%83%85.png) - -### 获取音乐 url - -说明 : 使用歌单详情接口后 , 能得到的音乐的 id, 但不能得到的音乐 url, 调用此接口 -, 传入的音乐 id( 可多个 , 用逗号隔开 ), 可以获取对应的音乐的 url( 不需要登录 ) - -> 注 : 部分用户反馈获取的 url 会 403,[hwaphon](https://github.com/hwaphon)找到的 -> 解决方案是当获取到音乐的 id 后,将 -> https://music.163.com/song/media/outer/url?id=id.mp3 以 src 赋予 Audio 即可播放 - -**必选参数 :** `id` : 音乐 id - -**可选参数 :** `br`: 码率,默认设置了 999000 即最大码率,如果要 320k 则可设置为 320000,其他类推 - -**接口地址 :** `/music/url` - -**调用例子 :** `/music/url?id=33894312` `/music/url?id=405998841,33894312` - -返回数据如下图 : -![音乐 url](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E9%9F%B3%E4%B9%90%20url.png) - -### 音乐是否可用 - -说明: 调用此接口,传入歌曲 id, 可获取音乐是否可用,返回 `{ success: true, message: 'ok' }` 或者 `{ success: false, message: '亲爱的,暂无版权' }` - -**必选参数 :** `id` : 歌曲 id - -**可选参数** : `br`: 码率,默认设置了 999000 即最大码率,如果要 320k 则可设置为 320000,其他类推 - -**接口地址 :** `/check/music` - -**调用例子 :** `/check/music?id=33894312` - -### 搜索 - -说明 : 调用此接口 , 传入搜索关键词可以搜索该音乐 / 专辑 / 歌手 / 歌单 / 用户 , -关键词可以多个 , 以空格隔开 , 如 " 周杰伦 搁浅 "( 不需要登录 ), 搜索获取的 -mp3url 不能直接用 , 可通过 `/music/url` 接口传入歌曲 id 获取具体的播放链接 - -**必选参数 :** `keywords` : 关键词 - -**可选参数 :** `limit` : 返回数量 , 默认为 30 `offset` : 偏移数量,用于分页 , 如 -: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -`type`: 搜索类型;默认为 1 即单曲 , 取值意义 : 1: 单曲, 10: 专辑, 100: 歌手, 1000: -歌单, 1002: 用户, 1004: MV, 1006: 歌词, 1009: 电台, 1014: 视频 - -**接口地址 :** `/search` - -**调用例子 :** `/search?keywords= 海阔天空` - -返回数据如下图 : -![搜索音乐](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%90%9C%E7%B4%A2.png) - -### 热搜 - -说明 : 调用此接口,可获取热门搜索列表 - -**接口地址 :** `/search/hot` - -**调用例子 :** `/search/hot` - -### 搜索建议 - -说明 : 调用此接口 , 传入搜索关键词可获得搜索建议 , 搜索结果同时包含单曲 , 歌手 , -歌单 ,mv 信息 - -**必选参数 :** `keywords` : 关键词 - -**可选参数 :** -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 -: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -`type`: 搜索类型;默认为 1 即单曲 , 取值意义 : 1: 单曲 10: 专辑 100: 歌手 1000: -歌单 1002: 用户 1004: MV 1006: 歌词 1009: 电台 - -**接口地址 :** `/search/suggest` - -**调用例子 :** `/search/suggest?keywords= 海阔天空` - -### 搜索多重匹配 - -说明 : 调用此接口 , 传入搜索关键词可获得搜索结果 - -**必选参数 :** `keywords` : 关键词 - -**接口地址 :** `/search/multimatch` - -**调用例子 :** `/search/multimatch?keywords= 海阔天空` - -### 新建歌单 - -说明 : 调用此接口 , 传入歌单名字可新建歌单 - -**必选参数 :** `name` : 歌单名 - -**接口地址 :** `/playlist/create` - -**调用例子 :** `/playlist/create?name=测试歌单` - -返回数据如下图: -![数据](https://ws1.sinaimg.cn/large/006tKfTcgy1fr3va885z5j31a617qwjy.jpg) - -### 收藏/取消收藏歌单 - -说明 : 调用此接口 , 传入类型和歌单 id 可收藏歌单或者取消收藏歌单 - -**必选参数 :** -`t` : 类型,1:收藏,2:取消收藏 -`id` : 歌单 id - -**接口地址 :** `/playlist/subscribe` - -**调用例子 :** `/playlist/subscribe?t=1&id=106697785` `/playlist/subscribe?t=2&id=106697785` - -返回数据如下图: -![数据](https://ws1.sinaimg.cn/large/006tKfTcgy1fr3vdwx0hvj30s405u74b.jpg) - -### 对歌单添加或删除歌曲 - -说明 : 调用此接口 , 可以添加歌曲到歌单或者从歌单删除某首歌曲 ( 需要登录 ) - -**必选参数 :** -`op`: 从歌单增加单曲为 add, 删除为 del - -`pid`: 歌单 id -`tracks`: 歌曲 id,可多个,用逗号隔开 - -**接口地址 :** `/playlist/tracks` - -**调用例子 :** `/playlist/tracks?op=add&pid=24381616&tracks=347231` ( 对应把歌曲添加到 ' 我 ' 的歌单 , 测试的时候请把这里的 pid 换成你自己的, id 和 tracks 不对可能会报 502 错误) - -### 获取歌词 - -说明 : 调用此接口 , 传入音乐 id 可获得对应音乐的歌词 ( 不需要登录 ) - -**必选参数 :** `id`: 音乐 id - -**接口地址 :** `/lyric` - -**调用例子 :** `/lyric?id=33894312` - -返回数据如下图 : -![获取歌词](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%AD%8C%E8%AF%8D.png) - -### 歌曲评论 - -说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该音乐的所有评论 ( 不需要 -登录 ) - -**必选参数 :** `id`: 音乐 id - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值 - -**接口地址 :** `/comment/music` - -**调用例子 :** `/comment/music?id=186016&limit=1` 对应晴天评论 - -返回数据如下图 : -![获取评论](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/comment.png) - -### 专辑评论 - -说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该专辑的所有评论 ( 不需要 -登录 ) - -**必选参数 :** `id`: 专辑 id - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值 - -**接口地址 :** `/comment/album` - -**调用例子 :** `/comment/album?id=32311` - -### 歌单评论 - -说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该歌单的所有评论 ( 不需要 -登录 ) - -**必选参数 :** `id`: 歌单 id - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值 - -**接口地址 :** `/comment/playlist` - -**调用例子 :** `/comment/playlist?id=705123491` - -### mv 评论 - -说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该 mv 的所有评论 ( 不需要 -登录 ) - -**必选参数 :** `id`: mv id - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值 - -**接口地址 :** `/comment/mv` - -**调用例子 :** `/comment/mv?id=5436712` - -### 电台节目评论 - -说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该 电台节目 的所有评论 ( -不需要登录 ) - -**必选参数 :** `id`: 电台节目的 id - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值 - -**接口地址 :** `/comment/dj` - -**调用例子 :** `/comment/dj?id=794062371` - -### 视频评论 - -说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该 视频 的所有评论 ( -不需要登录 ) - -**必选参数 :** `id`: 视频的 id - -**可选参数 :** `limit`: 取出评论数量 , 默认为 20 - -`offset`: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)\*20, 其中 20 为 limit 的值 - -**接口地址 :** `/comment/video` - -**调用例子 :** `/comment/video?id=89ADDE33C0AAE8EC14B99F6750DB954D` - -### 热门评论 - -说明 : 调用此接口 , 传入 type, 资源 id 可获得对应资源热门评论 ( 不需要登录 ) - -**必选参数 :** - -`id` : 资源 id - -`tpye`: 数字 , 资源类型 , 对应歌曲 , mv, 专辑 , 歌单 , 电台, 视频对应以下类型 - -``` -0: 歌曲 -1: mv -2: 歌单 -3: 专辑 -4: 电台 -5: 视频 -``` - -**接口地址 :** `/comment/hot` - -**调用例子 :** `/comment/hot?id=186016&type=0` - -### 给评论点赞 - -说明 : 调用此接口 , 传入 type, 资源 id, 和评论 id cid 和 是否点赞参数 t 即可给对 -应评论点赞 ( 需要登录 ) - -**必选参数 :** `id` : 资源 id, 如歌曲 id,mv id - -`cid` : 评论 id - -`t` : 是否点赞 ,1 为点赞 ,0 为取消点赞 - -`tpye`: 数字 , 资源类型 , 对应歌曲 , mv, 专辑 , 歌单 , 电台, 视频对应以下类型 - -``` -0: 歌曲 -1: mv -2: 歌单 -3: 专辑 -4: 电台 -5: 视频 -``` - -**接口地址 :** `comment/like` - -**调用例子 :** `/comment/like?id=29178366&cid=12840183&t=1&type=0` 对应给 [https://music.163.com/#/song?id=29178366](https://music.163.com/#/song?id=29178366) 最热门的评论点赞 - -### 发送/删除评论 - -说明 : 调用此接口,可发送评论或者删除评论 - -**接口地址 :** `/comment` - -1. 发送评论 - - **必选参数** - `action`:1 发送 - - `tpye`: 数字,资源类型,对应歌曲,mv,专辑,歌单,电台,视频对应以下类型 - - ``` - 0: 歌曲 - 1: mv - 2: 歌单 - 3: 专辑 - 4: 电台 - 5: 视频 - ``` - - `id`:对应资源 id - - `content` :要发送的内容 - - **调用例子** : `/comment?action=1&type=1&id=5436712&content=test` (往广岛之恋 mv 发送评论: test) - -2. 删除评论 - - **必选参数** - `action`:0 删除 - - `tpye`: 数字,资源类型,对应歌曲,mv,专辑,歌单,电台,视频对应以下类型 - - ``` - 0: 歌曲 - 1: mv - 2: 歌单 - 3: 专辑 - 4: 电台 - 5: 视频 - ``` - - `id`:对应资源 id - `content` :内容 id,可通过 `/comment/mv` 等接口获取 - - **调用例子** : `/comment?action=0&type=1&id=5436712&commentId=1535550516319` (在广岛之恋 mv 删除评论) - -### banner - -说明 : 调用此接口 , 可获取 banner( 轮播图 ) 数据注 : 因参数未知 , 只能获取比较旧 -的数据 , 如果有知道参数的小伙伴 , 可提交 PR - -**接口地址 :** `/banner` - -**调用例子 :** `/banner` - -### 获取歌曲详情 - -说明 : 调用此接口 , 传入音乐 id, 可获得歌曲详情(注意:歌曲封面现在需要通过专辑内容接口获取) - -**必选参数 :** `ids`: 音乐 id, 如 `ids=347230` - -**接口地址 :** `/song/detail` - -**调用例子 :** `/song/detail?ids=347230` - -返回数据如下图 : -![获取歌曲详情](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/songDetail.png) - -### 获取专辑内容 - -说明 : 调用此接口 , 传入专辑 id, 可获得专辑内容 - -**必选参数 :** `id`: 专辑 id - -**接口地址 :** `/album` - -**调用例子 :** `/album?id=32311` - -返回数据如下图 : -![获取专辑内容](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E4%B8%93%E8%BE%91.png) - -### 获取歌手单曲 - -说明 : 调用此接口 , 传入歌手 id, 可获得歌手部分信息和热门歌曲 - -**必选参数 :** `id`: 歌手 id, 可由搜索接口获得 - -**接口地址 :** `/artists` - -**调用例子 :** `/artists?id=6452` - -返回数据如下图 : -![获取歌手单曲](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/artists.png) - -### 获取歌手 mv - -说明 : 调用此接口 , 传入歌手 id, 可获得歌手 mv 信息 , 具体 mv 播放地址可调 -用`/mv`传入此接口获得的 mvid 来拿到 , 如 : -`/artist/mv?id=6452`,`/mv?mvid=5461064` - -**必选参数 :** `id`: 歌手 id, 可由搜索接口获得 - -**接口地址 :** `/artist/mv` - -**调用例子 :** `/artist/mv?id=6452` - -### 获取歌手专辑 - -说明 : 调用此接口 , 传入歌手 id, 可获得歌手专辑内容 - -**必选参数 :** `id`: 歌手 id - -**可选参数 :** `limit`: 取出数量 , 默认为 50 - -`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*50, 其中 50 为 limit 的值 , 默认 -为 0 - -**接口地址 :** `/artist/album` - -**调用例子 :** `/artist/album?id=6452&limit=30` ( 周杰伦 ) - -返回数据如下图 : -![获取专辑内容](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/artist_album.png) - -### 获取歌手描述 - -说明 : 调用此接口 , 传入歌手 id, 可获得歌手描述 - -**必选参数 :** `id`: 歌手 id - -**接口地址 :** `/artist/desc` - -**调用例子 :** `/artist/desc?id=6452` ( 周杰伦 ) - -### 获取相似歌手 - -说明 : 调用此接口 , 传入歌手 id, 可获得相似歌手 - -**必选参数 :** `id`: 歌手 id - -**接口地址 :** `/simi/artist` - -**调用例子 :** `/simi/artist?id=6452` ( 对应和周杰伦相似歌手 ) - -### 获取相似歌单 - -说明 : 调用此接口 , 传入歌曲 id, 可获得相似歌单 - -**必选参数 :** `id`: 歌曲 id - -**接口地址 :** `/simi/playlist` - -**调用例子 :** `/simi/playlist?id=347230` ( 对应 ' 光辉岁月 ' 相似歌单 ) - -### 相似 mv - -说明 : 调用此接口 , 传入 `mvid` 可获取相似 mv - -**必选参数 :** `mvid`: mv id - -**接口地址 :** `/simi/mv` - -**调用例子 :** `/simi/mv?mvid=5436712` - -### 获取相似音乐 - -说明 : 调用此接口 , 传入歌曲 id, 可获得相似歌曲 - -**必选参数 :** `id`: 歌曲 id - -**接口地址 :** `/simi/song` - -**调用例子 :** `/simi/song?id=347230` ( 对应 ' 光辉岁月 ' 相似歌曲 ) - -### 获取最近 5 个听了这首歌的用户 - -说明 : 调用此接口 , 传入歌曲 id, 最近 5 个听了这首歌的用户 - -**必选参数 :** `id`: 歌曲 id - -**接口地址 :** `/simi/user` - -**调用例子 :** `/simi/user?id=347230` ( 对应 ' 光辉岁月 ' 相似歌曲 ) - -### 获取每日推荐歌单 - -说明 : 调用此接口 , 可获得每日推荐歌单 ( 需要登录 ) - -**接口地址 :** `/recommend/resource` - -**调用例子 :** `/recommend/resource` - -返回数据如下图 : -![每日推荐歌单](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%8E%A8%E8%8D%90%E6%AD%8C%E5%8D%95.png) - -### 获取每日推荐歌曲 - -说明 : 调用此接口 , 可获得每日推荐歌曲 ( 需要登录 ) - -**接口地址 :** `/recommend/songs` - -**调用例子 :** `/recommend/songs` - -返回数据如下图 : -![每日推荐歌曲](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%8E%A8%E8%8D%90%E6%AD%8C%E6%9B%B2.png) - -### 私人 FM - -说明 : 私人 FM( 需要登录 ) - -**接口地址 :** `/personal_fm` - -**调用例子 :** `/personal_fm` - -返回数据如下图 : - -![私人 FM](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/personal_fm.png) - -### 签到 - -说明 : 调用此接口 , 传入签到类型 ( 可不传 , 默认安卓端签到 ), 可签到 ( 需要登录 -), 其中安卓端签到可获得 3 点经验 , web/PC 端签到可获得 2 点经验 - -**可选参数 :** `type`: 签到类型 , 默认 0, 其中 0 为安卓端签到 ,1 为 web/PC 签到 - -**接口地址 :** `/daily_signin` - -**调用例子 :** `/daily_signin` - -返回数据如下图 : - -![签到成功](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/signinSuccess.png) - -![签到失败](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/signinError.png) - -### 喜欢音乐 - -说明 : 调用此接口 , 传入音乐 id, 可喜欢该音乐 - -**必选参数 :** `id`: 歌曲 id - -**可选参数 :** `like`: 布尔值 , 默认为 true 即喜欢 , 若传 false, 则取消喜欢 - -**接口地址 :** `/like` - -**调用例子 :** `/like?id=347230` - -返回数据如下图 : - -![喜欢成功](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/like.png) - -喜欢成功则返回数据的 code 为 200, 其余为失败 - -![喜欢成功截图](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/likeSuccess.png) - -### 垃圾桶 - -说明 : 调用此接口 , 传入音乐 id, 可把该音乐从私人 FM 中移除至垃圾桶 - -**必选参数 :** `id`: 歌曲 id - -**接口地址 :** `/fm_trash` - -**调用例子 :** `/fm_trash?id=347230` - -返回数据如下图 : - -![移除成功](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/fm_trash.png) - -### 新碟上架 - -说明 : 调用此接口 , 可获取新碟上架列表 , 如需具体音乐信息需要调用获取专辑列表接 -口 `/album` , 然后传入 id, 如 `/album?id=32311&limit=30` - -**可选参数 :** `limit`: 取出数量 , 默认为 50 - -`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*50, 其中 50 为 limit 的值 , 默认 -为 0 - -**接口地址 :** `/top/album` - -**调用例子 :** `/top/album?offset=0&limit=30` - -返回数据如下图 : - -![新碟上架](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/new_albums.png) - -### 热门歌手 - -说明 : 调用此接口 , 可获取热门歌手数据 - -**可选参数 :** `limit`: 取出数量 , 默认为 50 - -`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*50, 其中 50 为 limit 的值 , 默认 -为 0 - -**接口地址 :** `/top/artists` - -**调用例子 :** `/top/artists?offset=0&limit=30` - -返回数据如下图 : - -![热门歌手](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/top_artists.png) - -### 最新 mv - -说明 : 调用此接口 , 可获取最新 mv - -**可选参数 :** `limit`: 取出数量 , 默认为 30 - -**接口地址 :** `/mv/first` - -**调用例子 :** `/mv/first?limit=10` - -### 推荐 mv - -说明 : 调用此接口 , 可获取推荐 mv - -**接口地址 :** `/personalized/mv` - -**调用例子 :** `/personalized/mv` - -### 推荐歌单 - -说明 : 调用此接口 , 可获取推荐歌单 - -**接口地址 :** `/personalized` - -**调用例子 :** `/personalized` - -### 推荐新音乐 - -说明 : 调用此接口 , 可获取推荐新音乐 - -**接口地址 :** `/personalized/newsong` - -**调用例子 :** `/personalized/newsong` - -### 推荐电台 - -说明 : 调用此接口 , 可获取推荐电台 - -**接口地址 :** `/personalized/djprogram` - -**调用例子 :** `/personalized/djprogram` - -### 推荐节目 - -说明 : 调用此接口 , 可获取推荐电台 - -**接口地址 :** `/program/recommend` - -**调用例子 :** `/program/recommend` - -### 独家放送 - -说明 : 调用此接口 , 可获取独家放送 - -**接口地址 :** `/personalized/privatecontent` - -**调用例子 :** `/personalized/privatecontent` - -### mv 排行 - -说明 : 调用此接口 , 可获取 mv 排行 - -**可选参数 :** `limit`: 取出数量 , 默认为 30 - -`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认 -为 0 - -**接口地址 :** `top/mv` - -**调用例子 :** `top/mv?limit=10` - -### 获取 mv 数据 - -说明 : 调用此接口 , 传入 mvid ( 在搜索音乐的时候传 type=1004 获得 ) , 可获取对应 -MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等数据 , 其中 mv 视频 -网易做了防盗链处理 , 可能不能直接播放 , 需要播放的话需要调用 ' 播放 mv/视频' 接口 - -**必选参数 :** `mvid`: mv 的 id - -**接口地址 :** `/mv` - -**调用例子 :** `/mv?mvid=5436712` - -返回数据如下图 : - -![热门歌手](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/mv.png) - -### 获取视频数据 - -说明 : 调用此接口 , 传入视频的 id ( 在搜索音乐的时候传 type=1014 获得 ) , 可获取对应 -视频数据,其中视频网易做了防盗链处理 , 可能不能直接播放 , 需要播放的话需要调用 ' 播放 mv/视频' 接口 - -**必选参数 :** `id`: 视频 的 id - -**接口地址 :** `/video` - -**调用例子 :** `/video?id=89ADDE33C0AAE8EC14B99F6750DB954D` - -返回数据如下图 : - -![视频数据](https://ws1.sinaimg.cn/large/006tNbRwgy1fuqdv10p5rj31kw0da76y.jpg) - -### 播放 mv/视频 - -说明 : 调用此接口 , 传入 mv/视频 地址 , 可播放 mv/视频, 也可将接口嵌入 video 标签使用 , 由 -于使用了 'pipe', 进度条无法通过拖动进度条控制进度 , 如有解决方案可提出 PR 或者自 -行改造 - -**可选参数 :** `url`: mv/视频 的 地址 - -**接口地址 :** `/mv/url` - -**调用例子 :** -`/mv/url?url=http://v4.music.126.net/20170422034915/c98eab2f5e2c85fc8de2ab3f0f8ed1c6/web/cloudmusic/MjQ3NDQ3MjUw/89a6a279dc2acfcd068b45ce72b1f560/533e4183a709699d566180ed0cd9abe9.mp4` - -如下图 : - -![播放视频](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/play_mv.png) - -### 排行榜 - -说明 : 调用此接口 , 传入数字 idx, 可获取不同排行榜 - -**必选参数 :** `idx`: 对象 key, 对应以下排行榜 - -``` -"0": 云音乐新歌榜, -"1": 云音乐热歌榜, -"2": 网易原创歌曲榜, -"3": 云音乐飙升榜, -"4": 云音乐电音榜, -"5": UK排行榜周榜, -"6": 美国Billboard周榜 -"7": KTV嗨榜, -"8": iTunes榜, -"9": Hit FM Top榜, -"10": 日本Oricon周榜 -"11": 韩国Melon排行榜周榜, -"12": 韩国Mnet排行榜周榜, -"13": 韩国Melon原声周榜, -"14": 中国TOP排行榜(港台榜), -"15": 中国TOP排行榜(内地榜) -"16": 香港电台中文歌曲龙虎榜, -"17": 华语金曲榜, -"18": 中国嘻哈榜, -"19": 法国 NRJ EuroHot 30周榜, -"20": 台湾Hito排行榜, -"21": Beatport全球电子舞曲榜, -"22": 云音乐ACG音乐榜, -"23": 云音乐嘻哈榜 -``` - -**接口地址 :** `/top/list` - -**调用例子 :** `/top/list?idx=6` - -返回数据如下图 : - -![排行榜](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/top_list.png) - -### 歌手榜 - -说明 : 调用此接口 , 可获取 PC 版排行榜中的歌手榜 - -**接口地址 :** `/toplist/artist` - -**调用例子 :** `/toplist/artist` - -### 云盘 - -说明 : 登录后调用此接口 , 可获取云盘数据 , 获取的数据没有对应 url, 需要再调用一 -次 `/music/url` 获取 url - -**接口地址 :** `/user/cloud` - -**调用例子 :** `/user/cloud` - -### 电台 - 推荐 - -说明 : 登录后调用此接口 , 可获得推荐电台 - -**接口地址 :** `/dj/recommend` - -**调用例子 :** `/dj/recommend` - -### 电台 - 分类 - -说明 : 登录后调用此接口 , 可获得电台类型 - -**接口地址 :** `/dj/catelist` - -**调用例子 :** `/dj/catelist` - -### 电台 - 分类推荐 - -说明 : 登录后调用此接口 , 可获得推荐电台 - -**必选参数 :** `type`: 电台类型 , 数字 , 可通过`/dj/catelist`获取 , 对应关系为 -id 对应 此接口的 type, name 对应类型意义 - -**接口地址 :** `/dj/recommend/type` - -**调用例子 :** `/dj/recommend/type?type=1` - -### 电台 - 订阅 - -说明 : 登录后调用此接口 , 传入`rid`, 可订阅 dj,dj 的 `rid` 可通过搜索指定 -type='1009' 获取其 id, 如`/search?keywords= 代码时间 &type=1009` - -**必选参数 :** `rid`: 电台 的 id - -**接口地址 :** `/dj/sub` - -**调用例子 :** `/dj/sub?rid=336355127&t=1` ( 对应关注 ' 代码时间 ') -`/dj/sub?rid=336355127&t=0` ( 对应取消关注 ' 代码时间 ') - -### 电台的订阅列表 - -说明 : 登录后调用此接口 , 可获取订阅的电台列表 - -**接口地址 :** `/dj/sublist` - -**调用例子 :** `/dj/sublist` - -### 电台 - 付费精选 - -说明 : 可以获取付费精选的电台列表 , 传入 `limit` 和 `offset` 可以进行分页 - -**接口地址 :** `/dj/paygift` - -**调用例子 :** `/dj/paygift?limit=10&offset=20` - -### 电台 - 详情 - -说明 : 登录后调用此接口 , 传入`rid`, 可获得对应电台的详情介绍 - -**必选参数 :** `rid`: 电台 的 id - -**接口地址 :** `/dj/detail?rid=336355127` - -**调用例子 :** `/dj/detail?rid=336355127` ( 对应 ' 代码时间 ' 的详情介绍 ) - -### 电台 - 节目 - -说明 : 登录后调用此接口 , 传入`rid`, 可查看对应电台的电台节目以及对应的 id, 需要 -注意的是这个接口返回的 mp3Url 已经无效 , 都为 null, 但是通过调用 `/music/url` 这 -个接口 , 传入节目 id 仍然能获取到节目音频 , 如 `/music/url?id=478446370` 获取代 -码时间的一个节目的音频 - -**必选参数 :** `rid`: 电台 的 id - -**可选参数 :** -`limit` : 返回数量 , 默认为 30 - -`offset` : 偏移数量,用于分页 , 如 -: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 - -**接口地址 :** `/dj/program` - -**调用例子 :** `/dj/program?rid=336355127&limit=40` ( 对应 ' 代码时间 ' 的节目列表 ) - -## 离线访问此文档 - -此文档同时也是 Progressive Web Apps(PWA), 加入了 serviceWorker, 可离线访问 - -## 关于此文档 - -此文档由 [docsify](https://github.com/QingWei-Li/docsify/) 生成 docsify 是一个动 -态生成文档网站的工具。不同于 GitBook、Hexo 的地方是它不会生成将 .md 转成 .html -文件,所有转换工作都是在运行时进行。 - -## License - -[The MIT License (MIT)](https://github.com/Binaryify/NeteaseCloudMusicApi/blob/master/LICENSE) diff --git a/api/module_example/avatar_upload.js b/api/module_example/avatar_upload.js deleted file mode 100644 index 39ea5e51..00000000 --- a/api/module_example/avatar_upload.js +++ /dev/null @@ -1,20 +0,0 @@ -const { avatar_upload, login_cellphone } = require('../main') -const fs = require('fs') -const path = require('path') - -async function main() { - const result = await login_cellphone({ - phone: '手机号', - password: '密码', - }) - const filePath = './test.jpg' - await avatar_upload({ - imgFile: { - name: path.basename(filePath), - data: fs.readFileSync(filePath), - }, - imgSize: 1012, //图片尺寸,需要正方形图片 - cookie: result.body.cookie, - }) -} -main() diff --git a/api/module_example/test.jpg b/api/module_example/test.jpg deleted file mode 100644 index 790c2e72..00000000 Binary files a/api/module_example/test.jpg and /dev/null differ diff --git a/api/module_example/test.js b/api/module_example/test.js deleted file mode 100644 index 1a019d73..00000000 --- a/api/module_example/test.js +++ /dev/null @@ -1,31 +0,0 @@ -const { - login_cellphone, - user_cloud, - album_sublist, - song_url, -} = require('../main') -async function test() { - try { - const result = await login_cellphone({ - phone: '手机号', - password: '密码', - }) - console.log(result) - const result2 = await user_cloud({ - cookie: result.body.cookie, - }) - console.log(result2.body) - const result3 = await album_sublist({ - cookie: result.body.cookie, - }) - console.log(result3.body) - const result4 = await song_url({ - cookie: result.body.cookie, - id: 33894312, - }) - console.log(result4.body) - } catch (error) { - console.log(error) - } -} -test() diff --git a/api/module_example/test.ts b/api/module_example/test.ts deleted file mode 100644 index c5c17515..00000000 --- a/api/module_example/test.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { banner, lyric } from 'NeteaseCloudMusicApi' -banner({ type: 0 }).then((res) => { - console.log(res) -}) -lyric({ - id: '33894312', -}).then((res) => { - console.log(res) -}) diff --git a/api/static/artist_album.png b/api/static/artist_album.png deleted file mode 100644 index 71887559..00000000 Binary files a/api/static/artist_album.png and /dev/null differ diff --git a/api/static/artists.png b/api/static/artists.png deleted file mode 100644 index dfe44228..00000000 Binary files a/api/static/artists.png and /dev/null differ diff --git a/api/static/banner.png b/api/static/banner.png deleted file mode 100644 index fac182a8..00000000 Binary files a/api/static/banner.png and /dev/null differ diff --git a/api/static/comment.png b/api/static/comment.png deleted file mode 100644 index 6631f62a..00000000 Binary files a/api/static/comment.png and /dev/null differ diff --git a/api/static/docs.png b/api/static/docs.png deleted file mode 100644 index 1f1794a8..00000000 Binary files a/api/static/docs.png and /dev/null differ diff --git a/api/static/fm_trash.png b/api/static/fm_trash.png deleted file mode 100644 index 4c85539c..00000000 Binary files a/api/static/fm_trash.png and /dev/null differ diff --git a/api/static/like.png b/api/static/like.png deleted file mode 100644 index 85acf197..00000000 Binary files a/api/static/like.png and /dev/null differ diff --git a/api/static/likeSuccess.png b/api/static/likeSuccess.png deleted file mode 100644 index d882a6bc..00000000 Binary files a/api/static/likeSuccess.png and /dev/null differ diff --git a/api/static/mv.png b/api/static/mv.png deleted file mode 100644 index dbb9b160..00000000 Binary files a/api/static/mv.png and /dev/null differ diff --git a/api/static/new_albums.png b/api/static/new_albums.png deleted file mode 100644 index b5ceaa45..00000000 Binary files a/api/static/new_albums.png and /dev/null differ diff --git a/api/static/personal_fm.png b/api/static/personal_fm.png deleted file mode 100644 index ba0d2973..00000000 Binary files a/api/static/personal_fm.png and /dev/null differ diff --git a/api/static/play_mv.png b/api/static/play_mv.png deleted file mode 100644 index de239515..00000000 Binary files a/api/static/play_mv.png and /dev/null differ diff --git a/api/static/screenshot1.png b/api/static/screenshot1.png deleted file mode 100644 index eb20062f..00000000 Binary files a/api/static/screenshot1.png and /dev/null differ diff --git a/api/static/screenshot2.png b/api/static/screenshot2.png deleted file mode 100644 index 1d8418d5..00000000 Binary files a/api/static/screenshot2.png and /dev/null differ diff --git a/api/static/signinError.png b/api/static/signinError.png deleted file mode 100644 index e5815dc0..00000000 Binary files a/api/static/signinError.png and /dev/null differ diff --git a/api/static/signinSuccess.png b/api/static/signinSuccess.png deleted file mode 100644 index 7778a572..00000000 Binary files a/api/static/signinSuccess.png and /dev/null differ diff --git a/api/static/songDetail.png b/api/static/songDetail.png deleted file mode 100644 index 808d0b1f..00000000 Binary files a/api/static/songDetail.png and /dev/null differ diff --git a/api/static/top_artists.png b/api/static/top_artists.png deleted file mode 100644 index 41058766..00000000 Binary files a/api/static/top_artists.png and /dev/null differ diff --git a/api/static/top_list.png b/api/static/top_list.png deleted file mode 100644 index d1fbe025..00000000 Binary files a/api/static/top_list.png and /dev/null differ diff --git a/api/static/top_playlist.png b/api/static/top_playlist.png deleted file mode 100644 index 51715d66..00000000 Binary files a/api/static/top_playlist.png and /dev/null differ diff --git "a/api/static/\344\270\223\350\276\221.png" "b/api/static/\344\270\223\350\276\221.png" deleted file mode 100644 index 251f6a8f..00000000 Binary files "a/api/static/\344\270\223\350\276\221.png" and /dev/null differ diff --git "a/api/static/\346\216\250\350\215\220\346\255\214\345\215\225.png" "b/api/static/\346\216\250\350\215\220\346\255\214\345\215\225.png" deleted file mode 100644 index 05a425a8..00000000 Binary files "a/api/static/\346\216\250\350\215\220\346\255\214\345\215\225.png" and /dev/null differ diff --git "a/api/static/\346\216\250\350\215\220\346\255\214\346\233\262.png" "b/api/static/\346\216\250\350\215\220\346\255\214\346\233\262.png" deleted file mode 100644 index fdd8f9ee..00000000 Binary files "a/api/static/\346\216\250\350\215\220\346\255\214\346\233\262.png" and /dev/null differ diff --git "a/api/static/\346\220\234\347\264\242.png" "b/api/static/\346\220\234\347\264\242.png" deleted file mode 100644 index c787181a..00000000 Binary files "a/api/static/\346\220\234\347\264\242.png" and /dev/null differ diff --git "a/api/static/\346\255\214\345\215\225\350\257\246\346\203\205.png" "b/api/static/\346\255\214\345\215\225\350\257\246\346\203\205.png" deleted file mode 100644 index 9300715e..00000000 Binary files "a/api/static/\346\255\214\345\215\225\350\257\246\346\203\205.png" and /dev/null differ diff --git "a/api/static/\346\255\214\350\257\215.png" "b/api/static/\346\255\214\350\257\215.png" deleted file mode 100644 index e8869062..00000000 Binary files "a/api/static/\346\255\214\350\257\215.png" and /dev/null differ diff --git "a/api/static/\347\224\250\346\210\267\346\255\214\345\215\225.png" "b/api/static/\347\224\250\346\210\267\346\255\214\345\215\225.png" deleted file mode 100644 index 5c1835f4..00000000 Binary files "a/api/static/\347\224\250\346\210\267\346\255\214\345\215\225.png" and /dev/null differ diff --git "a/api/static/\347\231\273\345\275\225.png" "b/api/static/\347\231\273\345\275\225.png" deleted file mode 100644 index fdf6c800..00000000 Binary files "a/api/static/\347\231\273\345\275\225.png" and /dev/null differ diff --git "a/api/static/\351\237\263\344\271\220 url.png" "b/api/static/\351\237\263\344\271\220 url.png" deleted file mode 100644 index 14599c69..00000000 Binary files "a/api/static/\351\237\263\344\271\220 url.png" and /dev/null differ diff --git a/api/test/album.test.js b/api/test/album.test.js deleted file mode 100644 index 2a6a1b9f..00000000 --- a/api/test/album.test.js +++ /dev/null @@ -1,25 +0,0 @@ -const assert = require('assert') -const axios = require('axios') -const host = global.host || 'http://localhost:3000' - -describe('测试获取歌手专辑列表是否正常', () => { - it('数据的 code 应该为200', (done) => { - const qs = { - id: 32311, - } - - axios - .get(`${host}/album`, { - params: qs, - }) - .then(({ status, data }) => { - if (status == 200) { - assert(data.code === 200) - } - done() - }) - .catch((err) => { - done(err) - }) - }) -}) diff --git a/api/test/comment.test.js b/api/test/comment.test.js deleted file mode 100644 index 612f6700..00000000 --- a/api/test/comment.test.js +++ /dev/null @@ -1,25 +0,0 @@ -const assert = require('assert') -const axios = require('axios') -const host = global.host || 'http://localhost:3000' - -describe('测试获取评论是否正常', () => { - it('数据的 code 应该为200', (done) => { - const qs = { - id: 32311, - } - - axios - .get(`${host}/comment/album`, { - params: qs, - }) - .then(({ status, data }) => { - if (status == 200) { - assert(data.code === 200) - } - done() - }) - .catch((err) => { - done(err) - }) - }) -}) diff --git a/api/test/login.test.js b/api/test/login.test.js deleted file mode 100644 index d10da4b2..00000000 --- a/api/test/login.test.js +++ /dev/null @@ -1,32 +0,0 @@ -const assert = require('assert') -const axios = require('axios') -const host = global.host || 'http://localhost:3000' - -console.log('注意: 测试登录需在 test/login.test.js 中填写账号密码!!!') -const phone = '' -const password = '' -describe('测试登录是否正常', () => { - it('手机登录 code 应该等于200', (done) => { - const qs = { - phone: process.env.NCM_API_TEST_LOGIN_PHONE || phone || '', - password: process.env.NCM_API_TEST_LOGIN_PASSWORD || password || '', - } - - axios - .get(`${host}/login/cellphone`, { - params: qs, - }) - .then(({ status, data }) => { - if (status == 200) { - console.log('昵称:' + data.profile.nickname) - assert(data.code === 200) - done() - } else { - done('登录错误') - } - }) - .catch((err) => { - done(err) - }) - }) -}) diff --git a/api/test/lyric.test.js b/api/test/lyric.test.js deleted file mode 100644 index 41886e45..00000000 --- a/api/test/lyric.test.js +++ /dev/null @@ -1,25 +0,0 @@ -const assert = require('assert') -const axios = require('axios') -const host = global.host || 'http://localhost:3000' - -describe('测试获取歌词是否正常', () => { - it('数据应该有 lrc 字段', (done) => { - const qs = { - id: 347230, - } - - axios - .get(`${host}/lyric`, { - params: qs, - }) - .then(({ status, data }) => { - if (status == 200) { - assert(typeof data.lrc !== 'undefined') - } - done() - }) - .catch((err) => { - done(err) - }) - }) -}) diff --git a/api/test/music_url.test.js b/api/test/music_url.test.js deleted file mode 100644 index cf7777c2..00000000 --- a/api/test/music_url.test.js +++ /dev/null @@ -1,26 +0,0 @@ -const assert = require('assert') -const axios = require('axios') -const host = global.host || 'http://localhost:3000' - -describe('测试获取歌曲是否正常', () => { - it('歌曲的 url 不应该为空', (done) => { - const qs = { - id: 462791935, - br: 999000, - } - - axios - .get(`${host}/song/url`, { - params: qs, - }) - .then(({ status, data }) => { - if (status == 200) { - assert(!!data.data[0].url) - } - done() - }) - .catch((err) => { - done(err) - }) - }) -}) diff --git a/api/test/search.test.js b/api/test/search.test.js deleted file mode 100644 index e80dea53..00000000 --- a/api/test/search.test.js +++ /dev/null @@ -1,25 +0,0 @@ -const assert = require('assert') -const axios = require('axios') -const host = global.host || 'http://localhost:3000' - -describe('测试搜索是否正常', () => { - it('获取到的数据的 name 应该和搜索关键词一致', (done) => { - const qs = { - keywords: '海阔天空', - type: 1, - } - axios - .get(`${host}/search`, { - params: qs, - }) - .then(({ status, data }) => { - if (status == 200) { - assert(data.result.songs[0].name === '海阔天空') - } - done() - }) - .catch((err) => { - done(err) - }) - }) -}) diff --git a/lerna.json b/lerna.json new file mode 100644 index 00000000..0cea677c --- /dev/null +++ b/lerna.json @@ -0,0 +1,8 @@ +{ + "packages": [ + "packages/*" + ], + "npmClient": "yarn", + "useWorkspaces": true, + "version": "2.0.0" +} diff --git a/package.json b/package.json index 9038bf46..3fa3e858 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,10 @@ { "name": "radishes", "version": "2.0.0-alpha.1", - "private": false, + "private": true, "main": "./background.js", "scripts": { + "bootstrap": "lerna bootstrap", "test:unit": "vue-cli-service test:unit", "lint": "vue-cli-service lint && stylelint \"**/*.{css,less}\"", "lint:prettier": "prettier --write --loglevel warn \"src/**/*.{js,json,tsx,css,less}\"", @@ -13,7 +14,7 @@ "build:electron": "yarn lint && vue-cli-service electron:build --mode electron.build --win nsis", "build:api": "concurrently -r \"yarn dev:api\" \"node script/server-local.js\"", "dev": "concurrently -r \"yarn dev:api\" \"yarn generate:theme\" \"vue-cli-service serve --mode browser\"", - "dev:api": "node NeteaseCloudMusicApi/app.js", + "dev:api": "node packages/api/app.js", "dev:electron": "concurrently -r \"yarn dev:api\" \"yarn generate:theme\" \"vue-cli-service electron:serve --mode electron.dev\"", "generate:theme": "node ./script/theme.js", "postinstall": "electron-builder install-app-deps", @@ -41,6 +42,9 @@ "git add" ] }, + "workspaces": [ + "packages/*" + ], "dependencies": { "chai-as-promised": "^7.1.1", "core-js": "^3.6.5", @@ -99,6 +103,7 @@ "express": "^4.17.1", "http-proxy-middleware": "^1.0.6", "husky": "^4.3.0", + "lerna": "^3.22.1", "less": "^3.0.4", "less-loader": "^5.0.0", "lint-staged": "^9.5.0", @@ -116,7 +121,7 @@ "ts-loader": "^8.0.6", "typescript": "^4.0.3", "url-loader": "^4.1.1", - "v-easy-components": "2.0.0-beta.13", + "v-easy-components": "2.0.0-beta.14", "vue-cli-plugin-electron-builder": "^2.0.0-rc.5" } } diff --git a/api/.editorconfig b/packages/api/.editorconfig similarity index 100% rename from api/.editorconfig rename to packages/api/.editorconfig diff --git a/api/.eslintrc.js b/packages/api/.eslintrc.js similarity index 96% rename from api/.eslintrc.js rename to packages/api/.eslintrc.js index 06d0c5a9..2a54cd0c 100644 --- a/api/.eslintrc.js +++ b/packages/api/.eslintrc.js @@ -35,6 +35,7 @@ module.exports = { allowTemplateLiterals: true, }, ], + 'prettier/prettier': 'off', }, overrides: [ { diff --git a/api/.gitignore b/packages/api/.gitignore similarity index 100% rename from api/.gitignore rename to packages/api/.gitignore diff --git a/api/.npmignore b/packages/api/.npmignore similarity index 100% rename from api/.npmignore rename to packages/api/.npmignore diff --git a/api/.prettierrc b/packages/api/.prettierrc similarity index 100% rename from api/.prettierrc rename to packages/api/.prettierrc diff --git a/api/.travis.yml b/packages/api/.travis.yml similarity index 100% rename from api/.travis.yml rename to packages/api/.travis.yml diff --git a/api/CHANGELOG.MD b/packages/api/CHANGELOG.MD similarity index 100% rename from api/CHANGELOG.MD rename to packages/api/CHANGELOG.MD diff --git a/api/Dockerfile b/packages/api/Dockerfile similarity index 100% rename from api/Dockerfile rename to packages/api/Dockerfile diff --git a/api/LICENSE b/packages/api/LICENSE similarity index 100% rename from api/LICENSE rename to packages/api/LICENSE diff --git a/api/README.MD b/packages/api/README.MD similarity index 100% rename from api/README.MD rename to packages/api/README.MD diff --git a/api/app.js b/packages/api/app.js similarity index 91% rename from api/app.js rename to packages/api/app.js index d78e9781..eba29c2b 100644 --- a/api/app.js +++ b/packages/api/app.js @@ -8,17 +8,6 @@ const exec = require('child_process').exec const cache = require('./util/apicache').middleware const { cookieToJson } = require('./util/index') const fileUpload = require('express-fileupload') -// version check -exec('npm info NeteaseCloudMusicApi version', (err, stdout, stderr) => { - if (!err) { - let version = stdout.trim() - if (packageJSON.version < version) { - console.log( - `最新版本: ${version}, 当前版本: ${packageJSON.version}, 请及时更新`, - ) - } - } -}) const app = express() diff --git a/api/app.test.js b/packages/api/app.test.js similarity index 100% rename from api/app.test.js rename to packages/api/app.test.js diff --git a/api/interface.d.ts b/packages/api/interface.d.ts similarity index 100% rename from api/interface.d.ts rename to packages/api/interface.d.ts diff --git a/api/issue_template.md b/packages/api/issue_template.md similarity index 100% rename from api/issue_template.md rename to packages/api/issue_template.md diff --git a/api/main.js b/packages/api/main.js similarity index 100% rename from api/main.js rename to packages/api/main.js diff --git a/api/module/activate_init_profile.js b/packages/api/module/activate_init_profile.js similarity index 100% rename from api/module/activate_init_profile.js rename to packages/api/module/activate_init_profile.js diff --git a/api/module/album.js b/packages/api/module/album.js similarity index 100% rename from api/module/album.js rename to packages/api/module/album.js diff --git a/api/module/album_detail.js b/packages/api/module/album_detail.js similarity index 100% rename from api/module/album_detail.js rename to packages/api/module/album_detail.js diff --git a/api/module/album_detail_dynamic.js b/packages/api/module/album_detail_dynamic.js similarity index 100% rename from api/module/album_detail_dynamic.js rename to packages/api/module/album_detail_dynamic.js diff --git a/api/module/album_list.js b/packages/api/module/album_list.js similarity index 100% rename from api/module/album_list.js rename to packages/api/module/album_list.js diff --git a/api/module/album_list_style.js b/packages/api/module/album_list_style.js similarity index 100% rename from api/module/album_list_style.js rename to packages/api/module/album_list_style.js diff --git a/api/module/album_new.js b/packages/api/module/album_new.js similarity index 100% rename from api/module/album_new.js rename to packages/api/module/album_new.js diff --git a/api/module/album_newest.js b/packages/api/module/album_newest.js similarity index 100% rename from api/module/album_newest.js rename to packages/api/module/album_newest.js diff --git a/api/module/album_songsaleboard.js b/packages/api/module/album_songsaleboard.js similarity index 100% rename from api/module/album_songsaleboard.js rename to packages/api/module/album_songsaleboard.js diff --git a/api/module/album_sub.js b/packages/api/module/album_sub.js similarity index 100% rename from api/module/album_sub.js rename to packages/api/module/album_sub.js diff --git a/api/module/album_sublist.js b/packages/api/module/album_sublist.js similarity index 100% rename from api/module/album_sublist.js rename to packages/api/module/album_sublist.js diff --git a/api/module/artist_album.js b/packages/api/module/artist_album.js similarity index 100% rename from api/module/artist_album.js rename to packages/api/module/artist_album.js diff --git a/api/module/artist_desc.js b/packages/api/module/artist_desc.js similarity index 100% rename from api/module/artist_desc.js rename to packages/api/module/artist_desc.js diff --git a/api/module/artist_list.js b/packages/api/module/artist_list.js similarity index 100% rename from api/module/artist_list.js rename to packages/api/module/artist_list.js diff --git a/api/module/artist_mv.js b/packages/api/module/artist_mv.js similarity index 100% rename from api/module/artist_mv.js rename to packages/api/module/artist_mv.js diff --git a/api/module/artist_songs.js b/packages/api/module/artist_songs.js similarity index 100% rename from api/module/artist_songs.js rename to packages/api/module/artist_songs.js diff --git a/api/module/artist_sub.js b/packages/api/module/artist_sub.js similarity index 100% rename from api/module/artist_sub.js rename to packages/api/module/artist_sub.js diff --git a/api/module/artist_sublist.js b/packages/api/module/artist_sublist.js similarity index 100% rename from api/module/artist_sublist.js rename to packages/api/module/artist_sublist.js diff --git a/api/module/artist_top_song.js b/packages/api/module/artist_top_song.js similarity index 100% rename from api/module/artist_top_song.js rename to packages/api/module/artist_top_song.js diff --git a/api/module/artists.js b/packages/api/module/artists.js similarity index 100% rename from api/module/artists.js rename to packages/api/module/artists.js diff --git a/api/module/audio_match.js b/packages/api/module/audio_match.js similarity index 100% rename from api/module/audio_match.js rename to packages/api/module/audio_match.js diff --git a/api/module/avatar_upload.js b/packages/api/module/avatar_upload.js similarity index 100% rename from api/module/avatar_upload.js rename to packages/api/module/avatar_upload.js diff --git a/api/module/banner.js b/packages/api/module/banner.js similarity index 100% rename from api/module/banner.js rename to packages/api/module/banner.js diff --git a/api/module/batch.js b/packages/api/module/batch.js similarity index 100% rename from api/module/batch.js rename to packages/api/module/batch.js diff --git a/api/module/calendar.js b/packages/api/module/calendar.js similarity index 100% rename from api/module/calendar.js rename to packages/api/module/calendar.js diff --git a/api/module/captcha_sent.js b/packages/api/module/captcha_sent.js similarity index 100% rename from api/module/captcha_sent.js rename to packages/api/module/captcha_sent.js diff --git a/api/module/captcha_verify.js b/packages/api/module/captcha_verify.js similarity index 100% rename from api/module/captcha_verify.js rename to packages/api/module/captcha_verify.js diff --git a/api/module/cellphone_existence_check.js b/packages/api/module/cellphone_existence_check.js similarity index 100% rename from api/module/cellphone_existence_check.js rename to packages/api/module/cellphone_existence_check.js diff --git a/api/module/check_music.js b/packages/api/module/check_music.js similarity index 100% rename from api/module/check_music.js rename to packages/api/module/check_music.js diff --git a/api/module/cloudsearch.js b/packages/api/module/cloudsearch.js similarity index 100% rename from api/module/cloudsearch.js rename to packages/api/module/cloudsearch.js diff --git a/api/module/comment.js b/packages/api/module/comment.js similarity index 100% rename from api/module/comment.js rename to packages/api/module/comment.js diff --git a/api/module/comment_album.js b/packages/api/module/comment_album.js similarity index 100% rename from api/module/comment_album.js rename to packages/api/module/comment_album.js diff --git a/api/module/comment_dj.js b/packages/api/module/comment_dj.js similarity index 100% rename from api/module/comment_dj.js rename to packages/api/module/comment_dj.js diff --git a/api/module/comment_event.js b/packages/api/module/comment_event.js similarity index 100% rename from api/module/comment_event.js rename to packages/api/module/comment_event.js diff --git a/api/module/comment_floor.js b/packages/api/module/comment_floor.js similarity index 100% rename from api/module/comment_floor.js rename to packages/api/module/comment_floor.js diff --git a/api/module/comment_hot.js b/packages/api/module/comment_hot.js similarity index 100% rename from api/module/comment_hot.js rename to packages/api/module/comment_hot.js diff --git a/api/module/comment_hotwall_list.js b/packages/api/module/comment_hotwall_list.js similarity index 100% rename from api/module/comment_hotwall_list.js rename to packages/api/module/comment_hotwall_list.js diff --git a/api/module/comment_like.js b/packages/api/module/comment_like.js similarity index 100% rename from api/module/comment_like.js rename to packages/api/module/comment_like.js diff --git a/api/module/comment_music.js b/packages/api/module/comment_music.js similarity index 100% rename from api/module/comment_music.js rename to packages/api/module/comment_music.js diff --git a/api/module/comment_mv.js b/packages/api/module/comment_mv.js similarity index 100% rename from api/module/comment_mv.js rename to packages/api/module/comment_mv.js diff --git a/api/module/comment_new.js b/packages/api/module/comment_new.js similarity index 100% rename from api/module/comment_new.js rename to packages/api/module/comment_new.js diff --git a/api/module/comment_playlist.js b/packages/api/module/comment_playlist.js similarity index 100% rename from api/module/comment_playlist.js rename to packages/api/module/comment_playlist.js diff --git a/api/module/comment_video.js b/packages/api/module/comment_video.js similarity index 100% rename from api/module/comment_video.js rename to packages/api/module/comment_video.js diff --git a/api/module/countries_code_list.js b/packages/api/module/countries_code_list.js similarity index 100% rename from api/module/countries_code_list.js rename to packages/api/module/countries_code_list.js diff --git a/api/module/daily_signin.js b/packages/api/module/daily_signin.js similarity index 100% rename from api/module/daily_signin.js rename to packages/api/module/daily_signin.js diff --git a/api/module/digitalAlbum_ordering.js b/packages/api/module/digitalAlbum_ordering.js similarity index 100% rename from api/module/digitalAlbum_ordering.js rename to packages/api/module/digitalAlbum_ordering.js diff --git a/api/module/digitalAlbum_purchased.js b/packages/api/module/digitalAlbum_purchased.js similarity index 100% rename from api/module/digitalAlbum_purchased.js rename to packages/api/module/digitalAlbum_purchased.js diff --git a/api/module/dj_banner.js b/packages/api/module/dj_banner.js similarity index 100% rename from api/module/dj_banner.js rename to packages/api/module/dj_banner.js diff --git a/api/module/dj_category_excludehot.js b/packages/api/module/dj_category_excludehot.js similarity index 100% rename from api/module/dj_category_excludehot.js rename to packages/api/module/dj_category_excludehot.js diff --git a/api/module/dj_category_recommend.js b/packages/api/module/dj_category_recommend.js similarity index 100% rename from api/module/dj_category_recommend.js rename to packages/api/module/dj_category_recommend.js diff --git a/api/module/dj_catelist.js b/packages/api/module/dj_catelist.js similarity index 100% rename from api/module/dj_catelist.js rename to packages/api/module/dj_catelist.js diff --git a/api/module/dj_detail.js b/packages/api/module/dj_detail.js similarity index 100% rename from api/module/dj_detail.js rename to packages/api/module/dj_detail.js diff --git a/api/module/dj_hot.js b/packages/api/module/dj_hot.js similarity index 100% rename from api/module/dj_hot.js rename to packages/api/module/dj_hot.js diff --git a/api/module/dj_paygift.js b/packages/api/module/dj_paygift.js similarity index 100% rename from api/module/dj_paygift.js rename to packages/api/module/dj_paygift.js diff --git a/api/module/dj_personalize_recommend.js b/packages/api/module/dj_personalize_recommend.js similarity index 100% rename from api/module/dj_personalize_recommend.js rename to packages/api/module/dj_personalize_recommend.js diff --git a/api/module/dj_program.js b/packages/api/module/dj_program.js similarity index 100% rename from api/module/dj_program.js rename to packages/api/module/dj_program.js diff --git a/api/module/dj_program_detail.js b/packages/api/module/dj_program_detail.js similarity index 100% rename from api/module/dj_program_detail.js rename to packages/api/module/dj_program_detail.js diff --git a/api/module/dj_program_toplist.js b/packages/api/module/dj_program_toplist.js similarity index 100% rename from api/module/dj_program_toplist.js rename to packages/api/module/dj_program_toplist.js diff --git a/api/module/dj_program_toplist_hours.js b/packages/api/module/dj_program_toplist_hours.js similarity index 100% rename from api/module/dj_program_toplist_hours.js rename to packages/api/module/dj_program_toplist_hours.js diff --git a/api/module/dj_radio_hot.js b/packages/api/module/dj_radio_hot.js similarity index 100% rename from api/module/dj_radio_hot.js rename to packages/api/module/dj_radio_hot.js diff --git a/api/module/dj_recommend.js b/packages/api/module/dj_recommend.js similarity index 100% rename from api/module/dj_recommend.js rename to packages/api/module/dj_recommend.js diff --git a/api/module/dj_recommend_type.js b/packages/api/module/dj_recommend_type.js similarity index 100% rename from api/module/dj_recommend_type.js rename to packages/api/module/dj_recommend_type.js diff --git a/api/module/dj_sub.js b/packages/api/module/dj_sub.js similarity index 100% rename from api/module/dj_sub.js rename to packages/api/module/dj_sub.js diff --git a/api/module/dj_sublist.js b/packages/api/module/dj_sublist.js similarity index 100% rename from api/module/dj_sublist.js rename to packages/api/module/dj_sublist.js diff --git a/api/module/dj_subscriber.js b/packages/api/module/dj_subscriber.js similarity index 100% rename from api/module/dj_subscriber.js rename to packages/api/module/dj_subscriber.js diff --git a/api/module/dj_today_perfered.js b/packages/api/module/dj_today_perfered.js similarity index 100% rename from api/module/dj_today_perfered.js rename to packages/api/module/dj_today_perfered.js diff --git a/api/module/dj_toplist.js b/packages/api/module/dj_toplist.js similarity index 100% rename from api/module/dj_toplist.js rename to packages/api/module/dj_toplist.js diff --git a/api/module/dj_toplist_hours.js b/packages/api/module/dj_toplist_hours.js similarity index 100% rename from api/module/dj_toplist_hours.js rename to packages/api/module/dj_toplist_hours.js diff --git a/api/module/dj_toplist_newcomer.js b/packages/api/module/dj_toplist_newcomer.js similarity index 100% rename from api/module/dj_toplist_newcomer.js rename to packages/api/module/dj_toplist_newcomer.js diff --git a/api/module/dj_toplist_pay.js b/packages/api/module/dj_toplist_pay.js similarity index 100% rename from api/module/dj_toplist_pay.js rename to packages/api/module/dj_toplist_pay.js diff --git a/api/module/dj_toplist_popular.js b/packages/api/module/dj_toplist_popular.js similarity index 100% rename from api/module/dj_toplist_popular.js rename to packages/api/module/dj_toplist_popular.js diff --git a/api/module/event.js b/packages/api/module/event.js similarity index 100% rename from api/module/event.js rename to packages/api/module/event.js diff --git a/api/module/event_del.js b/packages/api/module/event_del.js similarity index 100% rename from api/module/event_del.js rename to packages/api/module/event_del.js diff --git a/api/module/event_forward.js b/packages/api/module/event_forward.js similarity index 94% rename from api/module/event_forward.js rename to packages/api/module/event_forward.js index f4eddc43..ccdc0704 100644 --- a/api/module/event_forward.js +++ b/packages/api/module/event_forward.js @@ -1,4 +1,4 @@ -// 转发动态 +// 转发动态 module.exports = (query, request) => { query.cookie.os = 'pc' diff --git a/api/module/fm_trash.js b/packages/api/module/fm_trash.js similarity index 100% rename from api/module/fm_trash.js rename to packages/api/module/fm_trash.js diff --git a/api/module/follow.js b/packages/api/module/follow.js similarity index 100% rename from api/module/follow.js rename to packages/api/module/follow.js diff --git a/api/module/history_recommend_songs.js b/packages/api/module/history_recommend_songs.js similarity index 100% rename from api/module/history_recommend_songs.js rename to packages/api/module/history_recommend_songs.js diff --git a/api/module/history_recommend_songs_detail.js b/packages/api/module/history_recommend_songs_detail.js similarity index 100% rename from api/module/history_recommend_songs_detail.js rename to packages/api/module/history_recommend_songs_detail.js diff --git a/api/module/homepage_block_page.js b/packages/api/module/homepage_block_page.js similarity index 100% rename from api/module/homepage_block_page.js rename to packages/api/module/homepage_block_page.js diff --git a/api/module/homepage_dragon_ball.js b/packages/api/module/homepage_dragon_ball.js similarity index 100% rename from api/module/homepage_dragon_ball.js rename to packages/api/module/homepage_dragon_ball.js diff --git a/api/module/hot_topic.js b/packages/api/module/hot_topic.js similarity index 100% rename from api/module/hot_topic.js rename to packages/api/module/hot_topic.js diff --git a/api/module/like.js b/packages/api/module/like.js similarity index 100% rename from api/module/like.js rename to packages/api/module/like.js diff --git a/api/module/likelist.js b/packages/api/module/likelist.js similarity index 100% rename from api/module/likelist.js rename to packages/api/module/likelist.js diff --git a/api/module/login.js b/packages/api/module/login.js similarity index 100% rename from api/module/login.js rename to packages/api/module/login.js diff --git a/api/module/login_cellphone.js b/packages/api/module/login_cellphone.js similarity index 100% rename from api/module/login_cellphone.js rename to packages/api/module/login_cellphone.js diff --git a/api/module/login_refresh.js b/packages/api/module/login_refresh.js similarity index 100% rename from api/module/login_refresh.js rename to packages/api/module/login_refresh.js diff --git a/api/module/login_status.js b/packages/api/module/login_status.js similarity index 100% rename from api/module/login_status.js rename to packages/api/module/login_status.js diff --git a/api/module/logout.js b/packages/api/module/logout.js similarity index 100% rename from api/module/logout.js rename to packages/api/module/logout.js diff --git a/api/module/lyric.js b/packages/api/module/lyric.js similarity index 100% rename from api/module/lyric.js rename to packages/api/module/lyric.js diff --git a/api/module/msg_comments.js b/packages/api/module/msg_comments.js similarity index 100% rename from api/module/msg_comments.js rename to packages/api/module/msg_comments.js diff --git a/api/module/msg_forwards.js b/packages/api/module/msg_forwards.js similarity index 100% rename from api/module/msg_forwards.js rename to packages/api/module/msg_forwards.js diff --git a/api/module/msg_notices.js b/packages/api/module/msg_notices.js similarity index 100% rename from api/module/msg_notices.js rename to packages/api/module/msg_notices.js diff --git a/api/module/msg_private.js b/packages/api/module/msg_private.js similarity index 100% rename from api/module/msg_private.js rename to packages/api/module/msg_private.js diff --git a/api/module/msg_private_history.js b/packages/api/module/msg_private_history.js similarity index 100% rename from api/module/msg_private_history.js rename to packages/api/module/msg_private_history.js diff --git a/api/module/mv_all.js b/packages/api/module/mv_all.js similarity index 100% rename from api/module/mv_all.js rename to packages/api/module/mv_all.js diff --git a/api/module/mv_detail.js b/packages/api/module/mv_detail.js similarity index 100% rename from api/module/mv_detail.js rename to packages/api/module/mv_detail.js diff --git a/api/module/mv_detail_info.js b/packages/api/module/mv_detail_info.js similarity index 100% rename from api/module/mv_detail_info.js rename to packages/api/module/mv_detail_info.js diff --git a/api/module/mv_exclusive_rcmd.js b/packages/api/module/mv_exclusive_rcmd.js similarity index 100% rename from api/module/mv_exclusive_rcmd.js rename to packages/api/module/mv_exclusive_rcmd.js diff --git a/api/module/mv_first.js b/packages/api/module/mv_first.js similarity index 100% rename from api/module/mv_first.js rename to packages/api/module/mv_first.js diff --git a/api/module/mv_sub.js b/packages/api/module/mv_sub.js similarity index 100% rename from api/module/mv_sub.js rename to packages/api/module/mv_sub.js diff --git a/api/module/mv_sublist.js b/packages/api/module/mv_sublist.js similarity index 100% rename from api/module/mv_sublist.js rename to packages/api/module/mv_sublist.js diff --git a/api/module/mv_url.js b/packages/api/module/mv_url.js similarity index 100% rename from api/module/mv_url.js rename to packages/api/module/mv_url.js diff --git a/api/module/personal_fm.js b/packages/api/module/personal_fm.js similarity index 100% rename from api/module/personal_fm.js rename to packages/api/module/personal_fm.js diff --git a/api/module/personalized.js b/packages/api/module/personalized.js similarity index 100% rename from api/module/personalized.js rename to packages/api/module/personalized.js diff --git a/api/module/personalized_djprogram.js b/packages/api/module/personalized_djprogram.js similarity index 100% rename from api/module/personalized_djprogram.js rename to packages/api/module/personalized_djprogram.js diff --git a/api/module/personalized_mv.js b/packages/api/module/personalized_mv.js similarity index 100% rename from api/module/personalized_mv.js rename to packages/api/module/personalized_mv.js diff --git a/api/module/personalized_newsong.js b/packages/api/module/personalized_newsong.js similarity index 100% rename from api/module/personalized_newsong.js rename to packages/api/module/personalized_newsong.js diff --git a/api/module/personalized_privatecontent.js b/packages/api/module/personalized_privatecontent.js similarity index 100% rename from api/module/personalized_privatecontent.js rename to packages/api/module/personalized_privatecontent.js diff --git a/api/module/personalized_privatecontent_list.js b/packages/api/module/personalized_privatecontent_list.js similarity index 100% rename from api/module/personalized_privatecontent_list.js rename to packages/api/module/personalized_privatecontent_list.js diff --git a/api/module/playlist_catlist.js b/packages/api/module/playlist_catlist.js similarity index 100% rename from api/module/playlist_catlist.js rename to packages/api/module/playlist_catlist.js diff --git a/api/module/playlist_cover_update.js b/packages/api/module/playlist_cover_update.js similarity index 100% rename from api/module/playlist_cover_update.js rename to packages/api/module/playlist_cover_update.js diff --git a/api/module/playlist_create.js b/packages/api/module/playlist_create.js similarity index 100% rename from api/module/playlist_create.js rename to packages/api/module/playlist_create.js diff --git a/api/module/playlist_delete.js b/packages/api/module/playlist_delete.js similarity index 100% rename from api/module/playlist_delete.js rename to packages/api/module/playlist_delete.js diff --git a/api/module/playlist_desc_update.js b/packages/api/module/playlist_desc_update.js similarity index 100% rename from api/module/playlist_desc_update.js rename to packages/api/module/playlist_desc_update.js diff --git a/api/module/playlist_detail.js b/packages/api/module/playlist_detail.js similarity index 100% rename from api/module/playlist_detail.js rename to packages/api/module/playlist_detail.js diff --git a/api/module/playlist_highquality_tags.js b/packages/api/module/playlist_highquality_tags.js similarity index 100% rename from api/module/playlist_highquality_tags.js rename to packages/api/module/playlist_highquality_tags.js diff --git a/api/module/playlist_hot.js b/packages/api/module/playlist_hot.js similarity index 100% rename from api/module/playlist_hot.js rename to packages/api/module/playlist_hot.js diff --git a/api/module/playlist_mylike.js b/packages/api/module/playlist_mylike.js similarity index 100% rename from api/module/playlist_mylike.js rename to packages/api/module/playlist_mylike.js diff --git a/api/module/playlist_name_update.js b/packages/api/module/playlist_name_update.js similarity index 100% rename from api/module/playlist_name_update.js rename to packages/api/module/playlist_name_update.js diff --git a/api/module/playlist_order_update.js b/packages/api/module/playlist_order_update.js similarity index 100% rename from api/module/playlist_order_update.js rename to packages/api/module/playlist_order_update.js diff --git a/api/module/playlist_subscribe.js b/packages/api/module/playlist_subscribe.js similarity index 100% rename from api/module/playlist_subscribe.js rename to packages/api/module/playlist_subscribe.js diff --git a/api/module/playlist_subscribers.js b/packages/api/module/playlist_subscribers.js similarity index 100% rename from api/module/playlist_subscribers.js rename to packages/api/module/playlist_subscribers.js diff --git a/api/module/playlist_tags_update.js b/packages/api/module/playlist_tags_update.js similarity index 100% rename from api/module/playlist_tags_update.js rename to packages/api/module/playlist_tags_update.js diff --git a/api/module/playlist_track_add.js b/packages/api/module/playlist_track_add.js similarity index 100% rename from api/module/playlist_track_add.js rename to packages/api/module/playlist_track_add.js diff --git a/api/module/playlist_track_delete.js b/packages/api/module/playlist_track_delete.js similarity index 100% rename from api/module/playlist_track_delete.js rename to packages/api/module/playlist_track_delete.js diff --git a/api/module/playlist_tracks.js b/packages/api/module/playlist_tracks.js similarity index 100% rename from api/module/playlist_tracks.js rename to packages/api/module/playlist_tracks.js diff --git a/api/module/playlist_update.js b/packages/api/module/playlist_update.js similarity index 100% rename from api/module/playlist_update.js rename to packages/api/module/playlist_update.js diff --git a/api/module/playlist_video_recent.js b/packages/api/module/playlist_video_recent.js similarity index 100% rename from api/module/playlist_video_recent.js rename to packages/api/module/playlist_video_recent.js diff --git a/api/module/playmode_intelligence_list.js b/packages/api/module/playmode_intelligence_list.js similarity index 100% rename from api/module/playmode_intelligence_list.js rename to packages/api/module/playmode_intelligence_list.js diff --git a/api/module/program_recommend.js b/packages/api/module/program_recommend.js similarity index 100% rename from api/module/program_recommend.js rename to packages/api/module/program_recommend.js diff --git a/api/module/rebind.js b/packages/api/module/rebind.js similarity index 100% rename from api/module/rebind.js rename to packages/api/module/rebind.js diff --git a/api/module/recommend_resource.js b/packages/api/module/recommend_resource.js similarity index 100% rename from api/module/recommend_resource.js rename to packages/api/module/recommend_resource.js diff --git a/api/module/recommend_songs.js b/packages/api/module/recommend_songs.js similarity index 100% rename from api/module/recommend_songs.js rename to packages/api/module/recommend_songs.js diff --git a/api/module/register_cellphone.js b/packages/api/module/register_cellphone.js similarity index 100% rename from api/module/register_cellphone.js rename to packages/api/module/register_cellphone.js diff --git a/api/module/related_allvideo.js b/packages/api/module/related_allvideo.js similarity index 100% rename from api/module/related_allvideo.js rename to packages/api/module/related_allvideo.js diff --git a/api/module/related_playlist.js b/packages/api/module/related_playlist.js similarity index 100% rename from api/module/related_playlist.js rename to packages/api/module/related_playlist.js diff --git a/api/module/resource_like.js b/packages/api/module/resource_like.js similarity index 100% rename from api/module/resource_like.js rename to packages/api/module/resource_like.js diff --git a/api/module/scrobble.js b/packages/api/module/scrobble.js similarity index 100% rename from api/module/scrobble.js rename to packages/api/module/scrobble.js diff --git a/api/module/search.js b/packages/api/module/search.js similarity index 100% rename from api/module/search.js rename to packages/api/module/search.js diff --git a/api/module/search_default.js b/packages/api/module/search_default.js similarity index 100% rename from api/module/search_default.js rename to packages/api/module/search_default.js diff --git a/api/module/search_hot.js b/packages/api/module/search_hot.js similarity index 100% rename from api/module/search_hot.js rename to packages/api/module/search_hot.js diff --git a/api/module/search_hot_detail.js b/packages/api/module/search_hot_detail.js similarity index 100% rename from api/module/search_hot_detail.js rename to packages/api/module/search_hot_detail.js diff --git a/api/module/search_multimatch.js b/packages/api/module/search_multimatch.js similarity index 100% rename from api/module/search_multimatch.js rename to packages/api/module/search_multimatch.js diff --git a/api/module/search_suggest.js b/packages/api/module/search_suggest.js similarity index 100% rename from api/module/search_suggest.js rename to packages/api/module/search_suggest.js diff --git a/api/module/send_playlist.js b/packages/api/module/send_playlist.js similarity index 100% rename from api/module/send_playlist.js rename to packages/api/module/send_playlist.js diff --git a/api/module/send_text.js b/packages/api/module/send_text.js similarity index 100% rename from api/module/send_text.js rename to packages/api/module/send_text.js diff --git a/api/module/setting.js b/packages/api/module/setting.js similarity index 100% rename from api/module/setting.js rename to packages/api/module/setting.js diff --git a/api/module/share_resource.js b/packages/api/module/share_resource.js similarity index 100% rename from api/module/share_resource.js rename to packages/api/module/share_resource.js diff --git a/api/module/simi_artist.js b/packages/api/module/simi_artist.js similarity index 100% rename from api/module/simi_artist.js rename to packages/api/module/simi_artist.js diff --git a/api/module/simi_mv.js b/packages/api/module/simi_mv.js similarity index 100% rename from api/module/simi_mv.js rename to packages/api/module/simi_mv.js diff --git a/api/module/simi_playlist.js b/packages/api/module/simi_playlist.js similarity index 100% rename from api/module/simi_playlist.js rename to packages/api/module/simi_playlist.js diff --git a/api/module/simi_song.js b/packages/api/module/simi_song.js similarity index 100% rename from api/module/simi_song.js rename to packages/api/module/simi_song.js diff --git a/api/module/simi_user.js b/packages/api/module/simi_user.js similarity index 100% rename from api/module/simi_user.js rename to packages/api/module/simi_user.js diff --git a/api/module/song_detail.js b/packages/api/module/song_detail.js similarity index 100% rename from api/module/song_detail.js rename to packages/api/module/song_detail.js diff --git a/api/module/song_order_update.js b/packages/api/module/song_order_update.js similarity index 100% rename from api/module/song_order_update.js rename to packages/api/module/song_order_update.js diff --git a/api/module/song_url.js b/packages/api/module/song_url.js similarity index 100% rename from api/module/song_url.js rename to packages/api/module/song_url.js diff --git a/api/module/top_album.js b/packages/api/module/top_album.js similarity index 100% rename from api/module/top_album.js rename to packages/api/module/top_album.js diff --git a/api/module/top_artists.js b/packages/api/module/top_artists.js similarity index 100% rename from api/module/top_artists.js rename to packages/api/module/top_artists.js diff --git a/api/module/top_list.js b/packages/api/module/top_list.js similarity index 100% rename from api/module/top_list.js rename to packages/api/module/top_list.js diff --git a/api/module/top_mv.js b/packages/api/module/top_mv.js similarity index 100% rename from api/module/top_mv.js rename to packages/api/module/top_mv.js diff --git a/api/module/top_playlist.js b/packages/api/module/top_playlist.js similarity index 100% rename from api/module/top_playlist.js rename to packages/api/module/top_playlist.js diff --git a/api/module/top_playlist_highquality.js b/packages/api/module/top_playlist_highquality.js similarity index 100% rename from api/module/top_playlist_highquality.js rename to packages/api/module/top_playlist_highquality.js diff --git a/api/module/top_song.js b/packages/api/module/top_song.js similarity index 100% rename from api/module/top_song.js rename to packages/api/module/top_song.js diff --git a/api/module/toplist.js b/packages/api/module/toplist.js similarity index 100% rename from api/module/toplist.js rename to packages/api/module/toplist.js diff --git a/api/module/toplist_artist.js b/packages/api/module/toplist_artist.js similarity index 100% rename from api/module/toplist_artist.js rename to packages/api/module/toplist_artist.js diff --git a/api/module/toplist_detail.js b/packages/api/module/toplist_detail.js similarity index 100% rename from api/module/toplist_detail.js rename to packages/api/module/toplist_detail.js diff --git a/api/module/user_account.js b/packages/api/module/user_account.js similarity index 100% rename from api/module/user_account.js rename to packages/api/module/user_account.js diff --git a/api/module/user_audio.js b/packages/api/module/user_audio.js similarity index 100% rename from api/module/user_audio.js rename to packages/api/module/user_audio.js diff --git a/api/module/user_binding.js b/packages/api/module/user_binding.js similarity index 100% rename from api/module/user_binding.js rename to packages/api/module/user_binding.js diff --git a/api/module/user_cloud.js b/packages/api/module/user_cloud.js similarity index 100% rename from api/module/user_cloud.js rename to packages/api/module/user_cloud.js diff --git a/api/module/user_cloud_del.js b/packages/api/module/user_cloud_del.js similarity index 100% rename from api/module/user_cloud_del.js rename to packages/api/module/user_cloud_del.js diff --git a/api/module/user_cloud_detail.js b/packages/api/module/user_cloud_detail.js similarity index 100% rename from api/module/user_cloud_detail.js rename to packages/api/module/user_cloud_detail.js diff --git a/api/module/user_detail.js b/packages/api/module/user_detail.js similarity index 100% rename from api/module/user_detail.js rename to packages/api/module/user_detail.js diff --git a/api/module/user_dj.js b/packages/api/module/user_dj.js similarity index 100% rename from api/module/user_dj.js rename to packages/api/module/user_dj.js diff --git a/api/module/user_event.js b/packages/api/module/user_event.js similarity index 100% rename from api/module/user_event.js rename to packages/api/module/user_event.js diff --git a/api/module/user_followeds.js b/packages/api/module/user_followeds.js similarity index 100% rename from api/module/user_followeds.js rename to packages/api/module/user_followeds.js diff --git a/api/module/user_follows.js b/packages/api/module/user_follows.js similarity index 100% rename from api/module/user_follows.js rename to packages/api/module/user_follows.js diff --git a/api/module/user_level.js b/packages/api/module/user_level.js similarity index 100% rename from api/module/user_level.js rename to packages/api/module/user_level.js diff --git a/api/module/user_playlist.js b/packages/api/module/user_playlist.js similarity index 100% rename from api/module/user_playlist.js rename to packages/api/module/user_playlist.js diff --git a/api/module/user_record.js b/packages/api/module/user_record.js similarity index 100% rename from api/module/user_record.js rename to packages/api/module/user_record.js diff --git a/api/module/user_replacephone.js b/packages/api/module/user_replacephone.js similarity index 100% rename from api/module/user_replacephone.js rename to packages/api/module/user_replacephone.js diff --git a/api/module/user_subcount.js b/packages/api/module/user_subcount.js similarity index 100% rename from api/module/user_subcount.js rename to packages/api/module/user_subcount.js diff --git a/api/module/user_update.js b/packages/api/module/user_update.js similarity index 100% rename from api/module/user_update.js rename to packages/api/module/user_update.js diff --git a/api/module/video_category_list.js b/packages/api/module/video_category_list.js similarity index 100% rename from api/module/video_category_list.js rename to packages/api/module/video_category_list.js diff --git a/api/module/video_detail.js b/packages/api/module/video_detail.js similarity index 100% rename from api/module/video_detail.js rename to packages/api/module/video_detail.js diff --git a/api/module/video_detail_info.js b/packages/api/module/video_detail_info.js similarity index 100% rename from api/module/video_detail_info.js rename to packages/api/module/video_detail_info.js diff --git a/api/module/video_group.js b/packages/api/module/video_group.js similarity index 100% rename from api/module/video_group.js rename to packages/api/module/video_group.js diff --git a/api/module/video_group_list.js b/packages/api/module/video_group_list.js similarity index 100% rename from api/module/video_group_list.js rename to packages/api/module/video_group_list.js diff --git a/api/module/video_sub.js b/packages/api/module/video_sub.js similarity index 100% rename from api/module/video_sub.js rename to packages/api/module/video_sub.js diff --git a/api/module/video_timeline_all.js b/packages/api/module/video_timeline_all.js similarity index 100% rename from api/module/video_timeline_all.js rename to packages/api/module/video_timeline_all.js diff --git a/api/module/video_timeline_recommend.js b/packages/api/module/video_timeline_recommend.js similarity index 100% rename from api/module/video_timeline_recommend.js rename to packages/api/module/video_timeline_recommend.js diff --git a/api/module/video_url.js b/packages/api/module/video_url.js similarity index 100% rename from api/module/video_url.js rename to packages/api/module/video_url.js diff --git a/api/module/weblog.js b/packages/api/module/weblog.js similarity index 100% rename from api/module/weblog.js rename to packages/api/module/weblog.js diff --git a/api/module/yunbei.js b/packages/api/module/yunbei.js similarity index 100% rename from api/module/yunbei.js rename to packages/api/module/yunbei.js diff --git a/api/module/yunbei_expense.js b/packages/api/module/yunbei_expense.js similarity index 100% rename from api/module/yunbei_expense.js rename to packages/api/module/yunbei_expense.js diff --git a/api/module/yunbei_info.js b/packages/api/module/yunbei_info.js similarity index 100% rename from api/module/yunbei_info.js rename to packages/api/module/yunbei_info.js diff --git a/api/module/yunbei_receipt.js b/packages/api/module/yunbei_receipt.js similarity index 100% rename from api/module/yunbei_receipt.js rename to packages/api/module/yunbei_receipt.js diff --git a/api/module/yunbei_sign.js b/packages/api/module/yunbei_sign.js similarity index 100% rename from api/module/yunbei_sign.js rename to packages/api/module/yunbei_sign.js diff --git a/api/module/yunbei_task_finish.js b/packages/api/module/yunbei_task_finish.js similarity index 100% rename from api/module/yunbei_task_finish.js rename to packages/api/module/yunbei_task_finish.js diff --git a/api/module/yunbei_tasks.js b/packages/api/module/yunbei_tasks.js similarity index 100% rename from api/module/yunbei_tasks.js rename to packages/api/module/yunbei_tasks.js diff --git a/api/module/yunbei_tasks_todo.js b/packages/api/module/yunbei_tasks_todo.js similarity index 100% rename from api/module/yunbei_tasks_todo.js rename to packages/api/module/yunbei_tasks_todo.js diff --git a/api/module/yunbei_today.js b/packages/api/module/yunbei_today.js similarity index 100% rename from api/module/yunbei_today.js rename to packages/api/module/yunbei_today.js diff --git a/api/package-lock.json b/packages/api/package-lock.json similarity index 100% rename from api/package-lock.json rename to packages/api/package-lock.json diff --git a/api/package.json b/packages/api/package.json similarity index 100% rename from api/package.json rename to packages/api/package.json diff --git a/api/plugins/upload.js b/packages/api/plugins/upload.js similarity index 100% rename from api/plugins/upload.js rename to packages/api/plugins/upload.js diff --git a/api/public/avatar_update.html b/packages/api/public/avatar_update.html similarity index 100% rename from api/public/avatar_update.html rename to packages/api/public/avatar_update.html diff --git a/api/public/index.html b/packages/api/public/index.html similarity index 100% rename from api/public/index.html rename to packages/api/public/index.html diff --git a/api/public/playlist_cover_update.html b/packages/api/public/playlist_cover_update.html similarity index 100% rename from api/public/playlist_cover_update.html rename to packages/api/public/playlist_cover_update.html diff --git a/api/public/test.html b/packages/api/public/test.html similarity index 100% rename from api/public/test.html rename to packages/api/public/test.html diff --git a/api/renovate.json b/packages/api/renovate.json similarity index 100% rename from api/renovate.json rename to packages/api/renovate.json diff --git a/api/tsconfig.json b/packages/api/tsconfig.json similarity index 100% rename from api/tsconfig.json rename to packages/api/tsconfig.json diff --git a/api/util/apicache.js b/packages/api/util/apicache.js similarity index 100% rename from api/util/apicache.js rename to packages/api/util/apicache.js diff --git a/packages/api/util/config.json b/packages/api/util/config.json new file mode 100644 index 00000000..dbfda367 --- /dev/null +++ b/packages/api/util/config.json @@ -0,0 +1,12 @@ +{ + "anonymous_token": "8aae43f148f990410b9a2af38324af24e87ab9227c9265627ddd10145db744295fcd8701dc45b1ab8985e142f491516295dd965bae848761274a577a62b0fdc54a50284d1e434dcc04ca6d1a52333c9a", + "resourceTypeMap": { + "0": "R_SO_4_", + "1": "R_MV_5_", + "2": "A_PL_0_", + "3": "R_AL_3_", + "4": "A_DJ_1_", + "5": "R_VI_62_", + "6": "A_EV_2_" + } +} diff --git a/api/util/crypto.js b/packages/api/util/crypto.js similarity index 100% rename from api/util/crypto.js rename to packages/api/util/crypto.js diff --git a/api/util/index.js b/packages/api/util/index.js similarity index 100% rename from api/util/index.js rename to packages/api/util/index.js diff --git a/api/util/memory-cache.js b/packages/api/util/memory-cache.js similarity index 100% rename from api/util/memory-cache.js rename to packages/api/util/memory-cache.js diff --git a/api/util/request.js b/packages/api/util/request.js similarity index 100% rename from api/util/request.js rename to packages/api/util/request.js diff --git a/yarn.lock b/yarn.lock index 685e0542..e6be6589 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1379,6 +1379,96 @@ resolved "https://registry.npm.taobao.org/@emotion/weak-memoize/download/@emotion/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" integrity sha1-ju2YLi7m9/TkTCU+EpYpgHke/UY= +"@eslint/eslintrc@^0.2.0": + version "0.2.1" + resolved "https://registry.npm.taobao.org/@eslint/eslintrc/download/@eslint/eslintrc-0.2.1.tgz?cache=0&sync_timestamp=1603766539273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40eslint%2Feslintrc%2Fdownload%2F%40eslint%2Feslintrc-0.2.1.tgz#f72069c330461a06684d119384435e12a5d76e3c" + integrity sha1-9yBpwzBGGgZoTRGThENeEqXXbjw= + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + lodash "^4.17.19" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@evocateur/libnpmaccess@^3.1.2": + version "3.1.2" + resolved "https://registry.npm.taobao.org/@evocateur/libnpmaccess/download/@evocateur/libnpmaccess-3.1.2.tgz#ecf7f6ce6b004e9f942b098d92200be4a4b1c845" + integrity sha1-7Pf2zmsATp+UKwmNkiAL5KSxyEU= + dependencies: + "@evocateur/npm-registry-fetch" "^4.0.0" + aproba "^2.0.0" + figgy-pudding "^3.5.1" + get-stream "^4.0.0" + npm-package-arg "^6.1.0" + +"@evocateur/libnpmpublish@^1.2.2": + version "1.2.2" + resolved "https://registry.npm.taobao.org/@evocateur/libnpmpublish/download/@evocateur/libnpmpublish-1.2.2.tgz#55df09d2dca136afba9c88c759ca272198db9f1a" + integrity sha1-Vd8J0tyhNq+6nIjHWconIZjbnxo= + dependencies: + "@evocateur/npm-registry-fetch" "^4.0.0" + aproba "^2.0.0" + figgy-pudding "^3.5.1" + get-stream "^4.0.0" + lodash.clonedeep "^4.5.0" + normalize-package-data "^2.4.0" + npm-package-arg "^6.1.0" + semver "^5.5.1" + ssri "^6.0.1" + +"@evocateur/npm-registry-fetch@^4.0.0": + version "4.0.0" + resolved "https://registry.npm.taobao.org/@evocateur/npm-registry-fetch/download/@evocateur/npm-registry-fetch-4.0.0.tgz#8c4c38766d8d32d3200fcb0a83f064b57365ed66" + integrity sha1-jEw4dm2NMtMgD8sKg/BktXNl7WY= + dependencies: + JSONStream "^1.3.4" + bluebird "^3.5.1" + figgy-pudding "^3.4.1" + lru-cache "^5.1.1" + make-fetch-happen "^5.0.0" + npm-package-arg "^6.1.0" + safe-buffer "^5.1.2" + +"@evocateur/pacote@^9.6.3": + version "9.6.5" + resolved "https://registry.npm.taobao.org/@evocateur/pacote/download/@evocateur/pacote-9.6.5.tgz#33de32ba210b6f17c20ebab4d497efc6755f4ae5" + integrity sha1-M94yuiELbxfCDrq01JfvxnVfSuU= + dependencies: + "@evocateur/npm-registry-fetch" "^4.0.0" + bluebird "^3.5.3" + cacache "^12.0.3" + chownr "^1.1.2" + figgy-pudding "^3.5.1" + get-stream "^4.1.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^5.1.1" + make-fetch-happen "^5.0.0" + minimatch "^3.0.4" + minipass "^2.3.5" + mississippi "^3.0.0" + mkdirp "^0.5.1" + normalize-package-data "^2.5.0" + npm-package-arg "^6.1.0" + npm-packlist "^1.4.4" + npm-pick-manifest "^3.0.0" + osenv "^0.1.5" + promise-inflight "^1.0.1" + promise-retry "^1.1.1" + protoduck "^5.0.1" + rimraf "^2.6.3" + safe-buffer "^5.2.0" + semver "^5.7.0" + ssri "^6.0.1" + tar "^4.4.10" + unique-filename "^1.1.1" + which "^1.3.1" + "@hapi/address@2.x.x": version "2.1.4" resolved "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz?cache=0&sync_timestamp=1603524710662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Faddress%2Fdownload%2F%40hapi%2Faddress-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" @@ -1792,6 +1882,691 @@ "@babel/runtime" "^7.7.2" core-js "^3.4.1" +"@lerna/add@3.21.0": + version "3.21.0" + resolved "https://registry.npm.taobao.org/@lerna/add/download/@lerna/add-3.21.0.tgz#27007bde71cc7b0a2969ab3c2f0ae41578b4577b" + integrity sha1-JwB73nHMewopaas8LwrkFXi0V3s= + dependencies: + "@evocateur/pacote" "^9.6.3" + "@lerna/bootstrap" "3.21.0" + "@lerna/command" "3.21.0" + "@lerna/filter-options" "3.20.0" + "@lerna/npm-conf" "3.16.0" + "@lerna/validation-error" "3.13.0" + dedent "^0.7.0" + npm-package-arg "^6.1.0" + p-map "^2.1.0" + semver "^6.2.0" + +"@lerna/bootstrap@3.21.0": + version "3.21.0" + resolved "https://registry.npm.taobao.org/@lerna/bootstrap/download/@lerna/bootstrap-3.21.0.tgz#bcd1b651be5b0970b20d8fae04c864548123aed6" + integrity sha1-vNG2Ub5bCXCyDY+uBMhkVIEjrtY= + dependencies: + "@lerna/command" "3.21.0" + "@lerna/filter-options" "3.20.0" + "@lerna/has-npm-version" "3.16.5" + "@lerna/npm-install" "3.16.5" + "@lerna/package-graph" "3.18.5" + "@lerna/pulse-till-done" "3.13.0" + "@lerna/rimraf-dir" "3.16.5" + "@lerna/run-lifecycle" "3.16.2" + "@lerna/run-topologically" "3.18.5" + "@lerna/symlink-binary" "3.17.0" + "@lerna/symlink-dependencies" "3.17.0" + "@lerna/validation-error" "3.13.0" + dedent "^0.7.0" + get-port "^4.2.0" + multimatch "^3.0.0" + npm-package-arg "^6.1.0" + npmlog "^4.1.2" + p-finally "^1.0.0" + p-map "^2.1.0" + p-map-series "^1.0.0" + p-waterfall "^1.0.0" + read-package-tree "^5.1.6" + semver "^6.2.0" + +"@lerna/changed@3.21.0": + version "3.21.0" + resolved "https://registry.npm.taobao.org/@lerna/changed/download/@lerna/changed-3.21.0.tgz#108e15f679bfe077af500f58248c634f1044ea0b" + integrity sha1-EI4V9nm/4HevUA9YJIxjTxBE6gs= + dependencies: + "@lerna/collect-updates" "3.20.0" + "@lerna/command" "3.21.0" + "@lerna/listable" "3.18.5" + "@lerna/output" "3.13.0" + +"@lerna/check-working-tree@3.16.5": + version "3.16.5" + resolved "https://registry.npm.taobao.org/@lerna/check-working-tree/download/@lerna/check-working-tree-3.16.5.tgz#b4f8ae61bb4523561dfb9f8f8d874dd46bb44baa" + integrity sha1-tPiuYbtFI1Yd+5+PjYdN1Gu0S6o= + dependencies: + "@lerna/collect-uncommitted" "3.16.5" + "@lerna/describe-ref" "3.16.5" + "@lerna/validation-error" "3.13.0" + +"@lerna/child-process@3.16.5": + version "3.16.5" + resolved "https://registry.npm.taobao.org/@lerna/child-process/download/@lerna/child-process-3.16.5.tgz#38fa3c18064aa4ac0754ad80114776a7b36a69b2" + integrity sha1-OPo8GAZKpKwHVK2AEUd2p7NqabI= + dependencies: + chalk "^2.3.1" + execa "^1.0.0" + strong-log-transformer "^2.0.0" + +"@lerna/clean@3.21.0": + version "3.21.0" + resolved "https://registry.npm.taobao.org/@lerna/clean/download/@lerna/clean-3.21.0.tgz#c0b46b5300cc3dae2cda3bec14b803082da3856d" + integrity sha1-wLRrUwDMPa4s2jvsFLgDCC2jhW0= + dependencies: + "@lerna/command" "3.21.0" + "@lerna/filter-options" "3.20.0" + "@lerna/prompt" "3.18.5" + "@lerna/pulse-till-done" "3.13.0" + "@lerna/rimraf-dir" "3.16.5" + p-map "^2.1.0" + p-map-series "^1.0.0" + p-waterfall "^1.0.0" + +"@lerna/cli@3.18.5": + version "3.18.5" + resolved "https://registry.npm.taobao.org/@lerna/cli/download/@lerna/cli-3.18.5.tgz#c90c461542fcd35b6d5b015a290fb0dbfb41d242" + integrity sha1-yQxGFUL801ttWwFaKQ+w2/tB0kI= + dependencies: + "@lerna/global-options" "3.13.0" + dedent "^0.7.0" + npmlog "^4.1.2" + yargs "^14.2.2" + +"@lerna/collect-uncommitted@3.16.5": + version "3.16.5" + resolved "https://registry.npm.taobao.org/@lerna/collect-uncommitted/download/@lerna/collect-uncommitted-3.16.5.tgz#a494d61aac31cdc7aec4bbe52c96550274132e63" + integrity sha1-pJTWGqwxzceuxLvlLJZVAnQTLmM= + dependencies: + "@lerna/child-process" "3.16.5" + chalk "^2.3.1" + figgy-pudding "^3.5.1" + npmlog "^4.1.2" + +"@lerna/collect-updates@3.20.0": + version "3.20.0" + resolved "https://registry.npm.taobao.org/@lerna/collect-updates/download/@lerna/collect-updates-3.20.0.tgz#62f9d76ba21a25b7d9fbf31c02de88744a564bd1" + integrity sha1-YvnXa6IaJbfZ+/McAt6IdEpWS9E= + dependencies: + "@lerna/child-process" "3.16.5" + "@lerna/describe-ref" "3.16.5" + minimatch "^3.0.4" + npmlog "^4.1.2" + slash "^2.0.0" + +"@lerna/command@3.21.0": + version "3.21.0" + resolved "https://registry.npm.taobao.org/@lerna/command/download/@lerna/command-3.21.0.tgz#9a2383759dc7b700dacfa8a22b2f3a6e190121f7" + integrity sha1-miODdZ3HtwDaz6iiKy86bhkBIfc= + dependencies: + "@lerna/child-process" "3.16.5" + "@lerna/package-graph" "3.18.5" + "@lerna/project" "3.21.0" + "@lerna/validation-error" "3.13.0" + "@lerna/write-log-file" "3.13.0" + clone-deep "^4.0.1" + dedent "^0.7.0" + execa "^1.0.0" + is-ci "^2.0.0" + npmlog "^4.1.2" + +"@lerna/conventional-commits@3.22.0": + version "3.22.0" + resolved "https://registry.npm.taobao.org/@lerna/conventional-commits/download/@lerna/conventional-commits-3.22.0.tgz#2798f4881ee2ef457bdae027ab7d0bf0af6f1e09" + integrity sha1-J5j0iB7i70V72uAnq30L8K9vHgk= + dependencies: + "@lerna/validation-error" "3.13.0" + conventional-changelog-angular "^5.0.3" + conventional-changelog-core "^3.1.6" + conventional-recommended-bump "^5.0.0" + fs-extra "^8.1.0" + get-stream "^4.0.0" + lodash.template "^4.5.0" + npm-package-arg "^6.1.0" + npmlog "^4.1.2" + pify "^4.0.1" + semver "^6.2.0" + +"@lerna/create-symlink@3.16.2": + version "3.16.2" + resolved "https://registry.npm.taobao.org/@lerna/create-symlink/download/@lerna/create-symlink-3.16.2.tgz#412cb8e59a72f5a7d9463e4e4721ad2070149967" + integrity sha1-QSy45Zpy9afZRj5ORyGtIHAUmWc= + dependencies: + "@zkochan/cmd-shim" "^3.1.0" + fs-extra "^8.1.0" + npmlog "^4.1.2" + +"@lerna/create@3.22.0": + version "3.22.0" + resolved "https://registry.npm.taobao.org/@lerna/create/download/@lerna/create-3.22.0.tgz#d6bbd037c3dc5b425fe5f6d1b817057c278f7619" + integrity sha1-1rvQN8PcW0Jf5fbRuBcFfCePdhk= + dependencies: + "@evocateur/pacote" "^9.6.3" + "@lerna/child-process" "3.16.5" + "@lerna/command" "3.21.0" + "@lerna/npm-conf" "3.16.0" + "@lerna/validation-error" "3.13.0" + camelcase "^5.0.0" + dedent "^0.7.0" + fs-extra "^8.1.0" + globby "^9.2.0" + init-package-json "^1.10.3" + npm-package-arg "^6.1.0" + p-reduce "^1.0.0" + pify "^4.0.1" + semver "^6.2.0" + slash "^2.0.0" + validate-npm-package-license "^3.0.3" + validate-npm-package-name "^3.0.0" + whatwg-url "^7.0.0" + +"@lerna/describe-ref@3.16.5": + version "3.16.5" + resolved "https://registry.npm.taobao.org/@lerna/describe-ref/download/@lerna/describe-ref-3.16.5.tgz#a338c25aaed837d3dc70b8a72c447c5c66346ac0" + integrity sha1-ozjCWq7YN9PccLinLER8XGY0asA= + dependencies: + "@lerna/child-process" "3.16.5" + npmlog "^4.1.2" + +"@lerna/diff@3.21.0": + version "3.21.0" + resolved "https://registry.npm.taobao.org/@lerna/diff/download/@lerna/diff-3.21.0.tgz#e6df0d8b9916167ff5a49fcb02ac06424280a68d" + integrity sha1-5t8Ni5kWFn/1pJ/LAqwGQkKApo0= + dependencies: + "@lerna/child-process" "3.16.5" + "@lerna/command" "3.21.0" + "@lerna/validation-error" "3.13.0" + npmlog "^4.1.2" + +"@lerna/exec@3.21.0": + version "3.21.0" + resolved "https://registry.npm.taobao.org/@lerna/exec/download/@lerna/exec-3.21.0.tgz#17f07533893cb918a17b41bcc566dc437016db26" + integrity sha1-F/B1M4k8uRihe0G8xWbcQ3AW2yY= + dependencies: + "@lerna/child-process" "3.16.5" + "@lerna/command" "3.21.0" + "@lerna/filter-options" "3.20.0" + "@lerna/profiler" "3.20.0" + "@lerna/run-topologically" "3.18.5" + "@lerna/validation-error" "3.13.0" + p-map "^2.1.0" + +"@lerna/filter-options@3.20.0": + version "3.20.0" + resolved "https://registry.npm.taobao.org/@lerna/filter-options/download/@lerna/filter-options-3.20.0.tgz#0f0f5d5a4783856eece4204708cc902cbc8af59b" + integrity sha1-Dw9dWkeDhW7s5CBHCMyQLLyK9Zs= + dependencies: + "@lerna/collect-updates" "3.20.0" + "@lerna/filter-packages" "3.18.0" + dedent "^0.7.0" + figgy-pudding "^3.5.1" + npmlog "^4.1.2" + +"@lerna/filter-packages@3.18.0": + version "3.18.0" + resolved "https://registry.npm.taobao.org/@lerna/filter-packages/download/@lerna/filter-packages-3.18.0.tgz#6a7a376d285208db03a82958cfb8172e179b4e70" + integrity sha1-ano3bShSCNsDqClYz7gXLhebTnA= + dependencies: + "@lerna/validation-error" "3.13.0" + multimatch "^3.0.0" + npmlog "^4.1.2" + +"@lerna/get-npm-exec-opts@3.13.0": + version "3.13.0" + resolved "https://registry.npm.taobao.org/@lerna/get-npm-exec-opts/download/@lerna/get-npm-exec-opts-3.13.0.tgz#d1b552cb0088199fc3e7e126f914e39a08df9ea5" + integrity sha1-0bVSywCIGZ/D5+Em+RTjmgjfnqU= + dependencies: + npmlog "^4.1.2" + +"@lerna/get-packed@3.16.0": + version "3.16.0" + resolved "https://registry.npm.taobao.org/@lerna/get-packed/download/@lerna/get-packed-3.16.0.tgz#1b316b706dcee86c7baa55e50b087959447852ff" + integrity sha1-GzFrcG3O6Gx7qlXlCwh5WUR4Uv8= + dependencies: + fs-extra "^8.1.0" + ssri "^6.0.1" + tar "^4.4.8" + +"@lerna/github-client@3.22.0": + version "3.22.0" + resolved "https://registry.npm.taobao.org/@lerna/github-client/download/@lerna/github-client-3.22.0.tgz#5d816aa4f76747ed736ae64ff962b8f15c354d95" + integrity sha1-XYFqpPdnR+1zauZP+WK48Vw1TZU= + dependencies: + "@lerna/child-process" "3.16.5" + "@octokit/plugin-enterprise-rest" "^6.0.1" + "@octokit/rest" "^16.28.4" + git-url-parse "^11.1.2" + npmlog "^4.1.2" + +"@lerna/gitlab-client@3.15.0": + version "3.15.0" + resolved "https://registry.npm.taobao.org/@lerna/gitlab-client/download/@lerna/gitlab-client-3.15.0.tgz#91f4ec8c697b5ac57f7f25bd50fe659d24aa96a6" + integrity sha1-kfTsjGl7WsV/fyW9UP5lnSSqlqY= + dependencies: + node-fetch "^2.5.0" + npmlog "^4.1.2" + whatwg-url "^7.0.0" + +"@lerna/global-options@3.13.0": + version "3.13.0" + resolved "https://registry.npm.taobao.org/@lerna/global-options/download/@lerna/global-options-3.13.0.tgz#217662290db06ad9cf2c49d8e3100ee28eaebae1" + integrity sha1-IXZiKQ2watnPLEnY4xAO4o6uuuE= + +"@lerna/has-npm-version@3.16.5": + version "3.16.5" + resolved "https://registry.npm.taobao.org/@lerna/has-npm-version/download/@lerna/has-npm-version-3.16.5.tgz#ab83956f211d8923ea6afe9b979b38cc73b15326" + integrity sha1-q4OVbyEdiSPqav6bl5s4zHOxUyY= + dependencies: + "@lerna/child-process" "3.16.5" + semver "^6.2.0" + +"@lerna/import@3.22.0": + version "3.22.0" + resolved "https://registry.npm.taobao.org/@lerna/import/download/@lerna/import-3.22.0.tgz#1a5f0394f38e23c4f642a123e5e1517e70d068d2" + integrity sha1-Gl8DlPOOI8T2QqEj5eFRfnDQaNI= + dependencies: + "@lerna/child-process" "3.16.5" + "@lerna/command" "3.21.0" + "@lerna/prompt" "3.18.5" + "@lerna/pulse-till-done" "3.13.0" + "@lerna/validation-error" "3.13.0" + dedent "^0.7.0" + fs-extra "^8.1.0" + p-map-series "^1.0.0" + +"@lerna/info@3.21.0": + version "3.21.0" + resolved "https://registry.npm.taobao.org/@lerna/info/download/@lerna/info-3.21.0.tgz#76696b676fdb0f35d48c83c63c1e32bb5e37814f" + integrity sha1-dmlrZ2/bDzXUjIPGPB4yu143gU8= + dependencies: + "@lerna/command" "3.21.0" + "@lerna/output" "3.13.0" + envinfo "^7.3.1" + +"@lerna/init@3.21.0": + version "3.21.0" + resolved "https://registry.npm.taobao.org/@lerna/init/download/@lerna/init-3.21.0.tgz#1e810934dc8bf4e5386c031041881d3b4096aa5c" + integrity sha1-HoEJNNyL9OU4bAMQQYgdO0CWqlw= + dependencies: + "@lerna/child-process" "3.16.5" + "@lerna/command" "3.21.0" + fs-extra "^8.1.0" + p-map "^2.1.0" + write-json-file "^3.2.0" + +"@lerna/link@3.21.0": + version "3.21.0" + resolved "https://registry.npm.taobao.org/@lerna/link/download/@lerna/link-3.21.0.tgz#8be68ff0ccee104b174b5bbd606302c2f06e9d9b" + integrity sha1-i+aP8MzuEEsXS1u9YGMCwvBunZs= + dependencies: + "@lerna/command" "3.21.0" + "@lerna/package-graph" "3.18.5" + "@lerna/symlink-dependencies" "3.17.0" + p-map "^2.1.0" + slash "^2.0.0" + +"@lerna/list@3.21.0": + version "3.21.0" + resolved "https://registry.npm.taobao.org/@lerna/list/download/@lerna/list-3.21.0.tgz#42f76fafa56dea13b691ec8cab13832691d61da2" + integrity sha1-Qvdvr6Vt6hO2keyMqxODJpHWHaI= + dependencies: + "@lerna/command" "3.21.0" + "@lerna/filter-options" "3.20.0" + "@lerna/listable" "3.18.5" + "@lerna/output" "3.13.0" + +"@lerna/listable@3.18.5": + version "3.18.5" + resolved "https://registry.npm.taobao.org/@lerna/listable/download/@lerna/listable-3.18.5.tgz#e82798405b5ed8fc51843c8ef1e7a0e497388a1a" + integrity sha1-6CeYQFte2PxRhDyO8eeg5Jc4iho= + dependencies: + "@lerna/query-graph" "3.18.5" + chalk "^2.3.1" + columnify "^1.5.4" + +"@lerna/log-packed@3.16.0": + version "3.16.0" + resolved "https://registry.npm.taobao.org/@lerna/log-packed/download/@lerna/log-packed-3.16.0.tgz#f83991041ee77b2495634e14470b42259fd2bc16" + integrity sha1-+DmRBB7neySVY04URwtCJZ/SvBY= + dependencies: + byte-size "^5.0.1" + columnify "^1.5.4" + has-unicode "^2.0.1" + npmlog "^4.1.2" + +"@lerna/npm-conf@3.16.0": + version "3.16.0" + resolved "https://registry.npm.taobao.org/@lerna/npm-conf/download/@lerna/npm-conf-3.16.0.tgz#1c10a89ae2f6c2ee96962557738685300d376827" + integrity sha1-HBComuL2wu6WliVXc4aFMA03aCc= + dependencies: + config-chain "^1.1.11" + pify "^4.0.1" + +"@lerna/npm-dist-tag@3.18.5": + version "3.18.5" + resolved "https://registry.npm.taobao.org/@lerna/npm-dist-tag/download/@lerna/npm-dist-tag-3.18.5.tgz#9ef9abb7c104077b31f6fab22cc73b314d54ac55" + integrity sha1-nvmrt8EEB3sx9vqyLMc7MU1UrFU= + dependencies: + "@evocateur/npm-registry-fetch" "^4.0.0" + "@lerna/otplease" "3.18.5" + figgy-pudding "^3.5.1" + npm-package-arg "^6.1.0" + npmlog "^4.1.2" + +"@lerna/npm-install@3.16.5": + version "3.16.5" + resolved "https://registry.npm.taobao.org/@lerna/npm-install/download/@lerna/npm-install-3.16.5.tgz#d6bfdc16f81285da66515ae47924d6e278d637d3" + integrity sha1-1r/cFvgShdpmUVrkeSTW4njWN9M= + dependencies: + "@lerna/child-process" "3.16.5" + "@lerna/get-npm-exec-opts" "3.13.0" + fs-extra "^8.1.0" + npm-package-arg "^6.1.0" + npmlog "^4.1.2" + signal-exit "^3.0.2" + write-pkg "^3.1.0" + +"@lerna/npm-publish@3.18.5": + version "3.18.5" + resolved "https://registry.npm.taobao.org/@lerna/npm-publish/download/@lerna/npm-publish-3.18.5.tgz#240e4039959fd9816b49c5b07421e11b5cb000af" + integrity sha1-JA5AOZWf2YFrScWwdCHhG1ywAK8= + dependencies: + "@evocateur/libnpmpublish" "^1.2.2" + "@lerna/otplease" "3.18.5" + "@lerna/run-lifecycle" "3.16.2" + figgy-pudding "^3.5.1" + fs-extra "^8.1.0" + npm-package-arg "^6.1.0" + npmlog "^4.1.2" + pify "^4.0.1" + read-package-json "^2.0.13" + +"@lerna/npm-run-script@3.16.5": + version "3.16.5" + resolved "https://registry.npm.taobao.org/@lerna/npm-run-script/download/@lerna/npm-run-script-3.16.5.tgz#9c2ec82453a26c0b46edc0bb7c15816c821f5c15" + integrity sha1-nC7IJFOibAtG7cC7fBWBbIIfXBU= + dependencies: + "@lerna/child-process" "3.16.5" + "@lerna/get-npm-exec-opts" "3.13.0" + npmlog "^4.1.2" + +"@lerna/otplease@3.18.5": + version "3.18.5" + resolved "https://registry.npm.taobao.org/@lerna/otplease/download/@lerna/otplease-3.18.5.tgz#b77b8e760b40abad9f7658d988f3ea77d4fd0231" + integrity sha1-t3uOdgtAq62fdljZiPPqd9T9AjE= + dependencies: + "@lerna/prompt" "3.18.5" + figgy-pudding "^3.5.1" + +"@lerna/output@3.13.0": + version "3.13.0" + resolved "https://registry.npm.taobao.org/@lerna/output/download/@lerna/output-3.13.0.tgz#3ded7cc908b27a9872228a630d950aedae7a4989" + integrity sha1-Pe18yQiyephyIopjDZUK7a56SYk= + dependencies: + npmlog "^4.1.2" + +"@lerna/pack-directory@3.16.4": + version "3.16.4" + resolved "https://registry.npm.taobao.org/@lerna/pack-directory/download/@lerna/pack-directory-3.16.4.tgz#3eae5f91bdf5acfe0384510ed53faddc4c074693" + integrity sha1-Pq5fkb31rP4DhFEO1T+t3EwHRpM= + dependencies: + "@lerna/get-packed" "3.16.0" + "@lerna/package" "3.16.0" + "@lerna/run-lifecycle" "3.16.2" + figgy-pudding "^3.5.1" + npm-packlist "^1.4.4" + npmlog "^4.1.2" + tar "^4.4.10" + temp-write "^3.4.0" + +"@lerna/package-graph@3.18.5": + version "3.18.5" + resolved "https://registry.npm.taobao.org/@lerna/package-graph/download/@lerna/package-graph-3.18.5.tgz#c740e2ea3578d059e551633e950690831b941f6b" + integrity sha1-x0Di6jV40FnlUWM+lQaQgxuUH2s= + dependencies: + "@lerna/prerelease-id-from-version" "3.16.0" + "@lerna/validation-error" "3.13.0" + npm-package-arg "^6.1.0" + npmlog "^4.1.2" + semver "^6.2.0" + +"@lerna/package@3.16.0": + version "3.16.0" + resolved "https://registry.npm.taobao.org/@lerna/package/download/@lerna/package-3.16.0.tgz#7e0a46e4697ed8b8a9c14d59c7f890e0d38ba13c" + integrity sha1-fgpG5Gl+2LipwU1Zx/iQ4NOLoTw= + dependencies: + load-json-file "^5.3.0" + npm-package-arg "^6.1.0" + write-pkg "^3.1.0" + +"@lerna/prerelease-id-from-version@3.16.0": + version "3.16.0" + resolved "https://registry.npm.taobao.org/@lerna/prerelease-id-from-version/download/@lerna/prerelease-id-from-version-3.16.0.tgz#b24bfa789f5e1baab914d7b08baae9b7bd7d83a1" + integrity sha1-skv6eJ9eG6q5FNewi6rpt719g6E= + dependencies: + semver "^6.2.0" + +"@lerna/profiler@3.20.0": + version "3.20.0" + resolved "https://registry.npm.taobao.org/@lerna/profiler/download/@lerna/profiler-3.20.0.tgz#0f6dc236f4ea8f9ea5f358c6703305a4f32ad051" + integrity sha1-D23CNvTqj56l81jGcDMFpPMq0FE= + dependencies: + figgy-pudding "^3.5.1" + fs-extra "^8.1.0" + npmlog "^4.1.2" + upath "^1.2.0" + +"@lerna/project@3.21.0": + version "3.21.0" + resolved "https://registry.npm.taobao.org/@lerna/project/download/@lerna/project-3.21.0.tgz#5d784d2d10c561a00f20320bcdb040997c10502d" + integrity sha1-XXhNLRDFYaAPIDILzbBAmXwQUC0= + dependencies: + "@lerna/package" "3.16.0" + "@lerna/validation-error" "3.13.0" + cosmiconfig "^5.1.0" + dedent "^0.7.0" + dot-prop "^4.2.0" + glob-parent "^5.0.0" + globby "^9.2.0" + load-json-file "^5.3.0" + npmlog "^4.1.2" + p-map "^2.1.0" + resolve-from "^4.0.0" + write-json-file "^3.2.0" + +"@lerna/prompt@3.18.5": + version "3.18.5" + resolved "https://registry.npm.taobao.org/@lerna/prompt/download/@lerna/prompt-3.18.5.tgz#628cd545f225887d060491ab95df899cfc5218a1" + integrity sha1-YozVRfIliH0GBJGrld+JnPxSGKE= + dependencies: + inquirer "^6.2.0" + npmlog "^4.1.2" + +"@lerna/publish@3.22.1": + version "3.22.1" + resolved "https://registry.npm.taobao.org/@lerna/publish/download/@lerna/publish-3.22.1.tgz#b4f7ce3fba1e9afb28be4a1f3d88222269ba9519" + integrity sha1-tPfOP7oemvsovkofPYgiImm6lRk= + dependencies: + "@evocateur/libnpmaccess" "^3.1.2" + "@evocateur/npm-registry-fetch" "^4.0.0" + "@evocateur/pacote" "^9.6.3" + "@lerna/check-working-tree" "3.16.5" + "@lerna/child-process" "3.16.5" + "@lerna/collect-updates" "3.20.0" + "@lerna/command" "3.21.0" + "@lerna/describe-ref" "3.16.5" + "@lerna/log-packed" "3.16.0" + "@lerna/npm-conf" "3.16.0" + "@lerna/npm-dist-tag" "3.18.5" + "@lerna/npm-publish" "3.18.5" + "@lerna/otplease" "3.18.5" + "@lerna/output" "3.13.0" + "@lerna/pack-directory" "3.16.4" + "@lerna/prerelease-id-from-version" "3.16.0" + "@lerna/prompt" "3.18.5" + "@lerna/pulse-till-done" "3.13.0" + "@lerna/run-lifecycle" "3.16.2" + "@lerna/run-topologically" "3.18.5" + "@lerna/validation-error" "3.13.0" + "@lerna/version" "3.22.1" + figgy-pudding "^3.5.1" + fs-extra "^8.1.0" + npm-package-arg "^6.1.0" + npmlog "^4.1.2" + p-finally "^1.0.0" + p-map "^2.1.0" + p-pipe "^1.2.0" + semver "^6.2.0" + +"@lerna/pulse-till-done@3.13.0": + version "3.13.0" + resolved "https://registry.npm.taobao.org/@lerna/pulse-till-done/download/@lerna/pulse-till-done-3.13.0.tgz#c8e9ce5bafaf10d930a67d7ed0ccb5d958fe0110" + integrity sha1-yOnOW6+vENkwpn1+0My12Vj+ARA= + dependencies: + npmlog "^4.1.2" + +"@lerna/query-graph@3.18.5": + version "3.18.5" + resolved "https://registry.npm.taobao.org/@lerna/query-graph/download/@lerna/query-graph-3.18.5.tgz#df4830bb5155273003bf35e8dda1c32d0927bd86" + integrity sha1-30gwu1FVJzADvzXo3aHDLQknvYY= + dependencies: + "@lerna/package-graph" "3.18.5" + figgy-pudding "^3.5.1" + +"@lerna/resolve-symlink@3.16.0": + version "3.16.0" + resolved "https://registry.npm.taobao.org/@lerna/resolve-symlink/download/@lerna/resolve-symlink-3.16.0.tgz#37fc7095fabdbcf317c26eb74e0d0bde8efd2386" + integrity sha1-N/xwlfq9vPMXwm63Tg0L3o79I4Y= + dependencies: + fs-extra "^8.1.0" + npmlog "^4.1.2" + read-cmd-shim "^1.0.1" + +"@lerna/rimraf-dir@3.16.5": + version "3.16.5" + resolved "https://registry.npm.taobao.org/@lerna/rimraf-dir/download/@lerna/rimraf-dir-3.16.5.tgz#04316ab5ffd2909657aaf388ea502cb8c2f20a09" + integrity sha1-BDFqtf/SkJZXqvOI6lAsuMLyCgk= + dependencies: + "@lerna/child-process" "3.16.5" + npmlog "^4.1.2" + path-exists "^3.0.0" + rimraf "^2.6.2" + +"@lerna/run-lifecycle@3.16.2": + version "3.16.2" + resolved "https://registry.npm.taobao.org/@lerna/run-lifecycle/download/@lerna/run-lifecycle-3.16.2.tgz#67b288f8ea964db9ea4fb1fbc7715d5bbb0bce00" + integrity sha1-Z7KI+OqWTbnqT7H7x3FdW7sLzgA= + dependencies: + "@lerna/npm-conf" "3.16.0" + figgy-pudding "^3.5.1" + npm-lifecycle "^3.1.2" + npmlog "^4.1.2" + +"@lerna/run-topologically@3.18.5": + version "3.18.5" + resolved "https://registry.npm.taobao.org/@lerna/run-topologically/download/@lerna/run-topologically-3.18.5.tgz#3cd639da20e967d7672cb88db0f756b92f2fdfc3" + integrity sha1-PNY52iDpZ9dnLLiNsPdWuS8v38M= + dependencies: + "@lerna/query-graph" "3.18.5" + figgy-pudding "^3.5.1" + p-queue "^4.0.0" + +"@lerna/run@3.21.0": + version "3.21.0" + resolved "https://registry.npm.taobao.org/@lerna/run/download/@lerna/run-3.21.0.tgz#2a35ec84979e4d6e42474fe148d32e5de1cac891" + integrity sha1-KjXshJeeTW5CR0/hSNMuXeHKyJE= + dependencies: + "@lerna/command" "3.21.0" + "@lerna/filter-options" "3.20.0" + "@lerna/npm-run-script" "3.16.5" + "@lerna/output" "3.13.0" + "@lerna/profiler" "3.20.0" + "@lerna/run-topologically" "3.18.5" + "@lerna/timer" "3.13.0" + "@lerna/validation-error" "3.13.0" + p-map "^2.1.0" + +"@lerna/symlink-binary@3.17.0": + version "3.17.0" + resolved "https://registry.npm.taobao.org/@lerna/symlink-binary/download/@lerna/symlink-binary-3.17.0.tgz#8f8031b309863814883d3f009877f82e38aef45a" + integrity sha1-j4AxswmGOBSIPT8AmHf4Ljiu9Fo= + dependencies: + "@lerna/create-symlink" "3.16.2" + "@lerna/package" "3.16.0" + fs-extra "^8.1.0" + p-map "^2.1.0" + +"@lerna/symlink-dependencies@3.17.0": + version "3.17.0" + resolved "https://registry.npm.taobao.org/@lerna/symlink-dependencies/download/@lerna/symlink-dependencies-3.17.0.tgz#48d6360e985865a0e56cd8b51b308a526308784a" + integrity sha1-SNY2DphYZaDlbNi1GzCKUmMIeEo= + dependencies: + "@lerna/create-symlink" "3.16.2" + "@lerna/resolve-symlink" "3.16.0" + "@lerna/symlink-binary" "3.17.0" + fs-extra "^8.1.0" + p-finally "^1.0.0" + p-map "^2.1.0" + p-map-series "^1.0.0" + +"@lerna/timer@3.13.0": + version "3.13.0" + resolved "https://registry.npm.taobao.org/@lerna/timer/download/@lerna/timer-3.13.0.tgz#bcd0904551db16e08364d6c18e5e2160fc870781" + integrity sha1-vNCQRVHbFuCDZNbBjl4hYPyHB4E= + +"@lerna/validation-error@3.13.0": + version "3.13.0" + resolved "https://registry.npm.taobao.org/@lerna/validation-error/download/@lerna/validation-error-3.13.0.tgz#c86b8f07c5ab9539f775bd8a54976e926f3759c3" + integrity sha1-yGuPB8WrlTn3db2KVJdukm83WcM= + dependencies: + npmlog "^4.1.2" + +"@lerna/version@3.22.1": + version "3.22.1" + resolved "https://registry.npm.taobao.org/@lerna/version/download/@lerna/version-3.22.1.tgz#9805a9247a47ee62d6b81bd9fa5fb728b24b59e2" + integrity sha1-mAWpJHpH7mLWuBvZ+l+3KLJLWeI= + dependencies: + "@lerna/check-working-tree" "3.16.5" + "@lerna/child-process" "3.16.5" + "@lerna/collect-updates" "3.20.0" + "@lerna/command" "3.21.0" + "@lerna/conventional-commits" "3.22.0" + "@lerna/github-client" "3.22.0" + "@lerna/gitlab-client" "3.15.0" + "@lerna/output" "3.13.0" + "@lerna/prerelease-id-from-version" "3.16.0" + "@lerna/prompt" "3.18.5" + "@lerna/run-lifecycle" "3.16.2" + "@lerna/run-topologically" "3.18.5" + "@lerna/validation-error" "3.13.0" + chalk "^2.3.1" + dedent "^0.7.0" + load-json-file "^5.3.0" + minimatch "^3.0.4" + npmlog "^4.1.2" + p-map "^2.1.0" + p-pipe "^1.2.0" + p-reduce "^1.0.0" + p-waterfall "^1.0.0" + semver "^6.2.0" + slash "^2.0.0" + temp-write "^3.4.0" + write-json-file "^3.2.0" + +"@lerna/write-log-file@3.13.0": + version "3.13.0" + resolved "https://registry.npm.taobao.org/@lerna/write-log-file/download/@lerna/write-log-file-3.13.0.tgz#b78d9e4cfc1349a8be64d91324c4c8199e822a26" + integrity sha1-t42eTPwTSai+ZNkTJMTIGZ6CKiY= + dependencies: + npmlog "^4.1.2" + write-file-atomic "^2.3.0" + "@mdx-js/loader@^1.5.1": version "1.6.19" resolved "https://registry.npm.taobao.org/@mdx-js/loader/download/@mdx-js/loader-1.6.19.tgz?cache=0&sync_timestamp=1603247111146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40mdx-js%2Floader%2Fdownload%2F%40mdx-js%2Floader-1.6.19.tgz#2b90dee54b6f959539f310776f18fe24e1f15cc5" @@ -1877,6 +2652,121 @@ dependencies: mkdirp "^1.0.4" +"@octokit/auth-token@^2.4.0": + version "2.4.4" + resolved "https://registry.npm.taobao.org/@octokit/auth-token/download/@octokit/auth-token-2.4.4.tgz?cache=0&sync_timestamp=1606801555951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40octokit%2Fauth-token%2Fdownload%2F%40octokit%2Fauth-token-2.4.4.tgz#ee31c69b01d0378c12fd3ffe406030f3d94d3b56" + integrity sha1-7jHGmwHQN4wS/T/+QGAw89lNO1Y= + dependencies: + "@octokit/types" "^6.0.0" + +"@octokit/endpoint@^6.0.1": + version "6.0.10" + resolved "https://registry.npm.taobao.org/@octokit/endpoint/download/@octokit/endpoint-6.0.10.tgz?cache=0&sync_timestamp=1606801555397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40octokit%2Fendpoint%2Fdownload%2F%40octokit%2Fendpoint-6.0.10.tgz#741ce1fa2f4fb77ce8ebe0c6eaf5ce63f565f8e8" + integrity sha1-dBzh+i9Pt3zo6+DG6vXOY/Vl+Og= + dependencies: + "@octokit/types" "^6.0.0" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^1.2.0": + version "1.2.2" + resolved "https://registry.npm.taobao.org/@octokit/openapi-types/download/@octokit/openapi-types-1.2.2.tgz#55d927436c07ef148ec927fbf4d55580a19bd68e" + integrity sha1-VdknQ2wH7xSOySf79NVVgKGb1o4= + +"@octokit/plugin-enterprise-rest@^6.0.1": + version "6.0.1" + resolved "https://registry.npm.taobao.org/@octokit/plugin-enterprise-rest/download/@octokit/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437" + integrity sha1-4HiWc5YY2rjafUB3xlgAN3X5VDc= + +"@octokit/plugin-paginate-rest@^1.1.1": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@octokit/plugin-paginate-rest/download/@octokit/plugin-paginate-rest-1.1.2.tgz?cache=0&sync_timestamp=1606856238243&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40octokit%2Fplugin-paginate-rest%2Fdownload%2F%40octokit%2Fplugin-paginate-rest-1.1.2.tgz#004170acf8c2be535aba26727867d692f7b488fc" + integrity sha1-AEFwrPjCvlNauiZyeGfWkve0iPw= + dependencies: + "@octokit/types" "^2.0.1" + +"@octokit/plugin-request-log@^1.0.0": + version "1.0.2" + resolved "https://registry.npm.taobao.org/@octokit/plugin-request-log/download/@octokit/plugin-request-log-1.0.2.tgz#394d59ec734cd2f122431fbaf05099861ece3c44" + integrity sha1-OU1Z7HNM0vEiQx+68FCZhh7OPEQ= + +"@octokit/plugin-rest-endpoint-methods@2.4.0": + version "2.4.0" + resolved "https://registry.npm.taobao.org/@octokit/plugin-rest-endpoint-methods/download/@octokit/plugin-rest-endpoint-methods-2.4.0.tgz#3288ecf5481f68c494dd0602fc15407a59faf61e" + integrity sha1-Mojs9UgfaMSU3QYC/BVAeln69h4= + dependencies: + "@octokit/types" "^2.0.1" + deprecation "^2.3.1" + +"@octokit/request-error@^1.0.2": + version "1.2.1" + resolved "https://registry.npm.taobao.org/@octokit/request-error/download/@octokit/request-error-1.2.1.tgz#ede0714c773f32347576c25649dc013ae6b31801" + integrity sha1-7eBxTHc/MjR1dsJWSdwBOuazGAE= + dependencies: + "@octokit/types" "^2.0.0" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request-error@^2.0.0": + version "2.0.4" + resolved "https://registry.npm.taobao.org/@octokit/request-error/download/@octokit/request-error-2.0.4.tgz#07dd5c0521d2ee975201274c472a127917741262" + integrity sha1-B91cBSHS7pdSASdMRyoSeRd0EmI= + dependencies: + "@octokit/types" "^6.0.0" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^5.2.0": + version "5.4.11" + resolved "https://registry.npm.taobao.org/@octokit/request/download/@octokit/request-5.4.11.tgz?cache=0&sync_timestamp=1606801891824&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40octokit%2Frequest%2Fdownload%2F%40octokit%2Frequest-5.4.11.tgz#2536e9095f7e90c9d22a14fed7bb7299a22050c5" + integrity sha1-JTbpCV9+kMnSKhT+17tymaIgUMU= + dependencies: + "@octokit/endpoint" "^6.0.1" + "@octokit/request-error" "^2.0.0" + "@octokit/types" "^6.0.0" + deprecation "^2.0.0" + is-plain-object "^5.0.0" + node-fetch "^2.6.1" + once "^1.4.0" + universal-user-agent "^6.0.0" + +"@octokit/rest@^16.28.4": + version "16.43.2" + resolved "https://registry.npm.taobao.org/@octokit/rest/download/@octokit/rest-16.43.2.tgz#c53426f1e1d1044dee967023e3279c50993dd91b" + integrity sha1-xTQm8eHRBE3ulnAj4yecUJk92Rs= + dependencies: + "@octokit/auth-token" "^2.4.0" + "@octokit/plugin-paginate-rest" "^1.1.1" + "@octokit/plugin-request-log" "^1.0.0" + "@octokit/plugin-rest-endpoint-methods" "2.4.0" + "@octokit/request" "^5.2.0" + "@octokit/request-error" "^1.0.2" + atob-lite "^2.0.0" + before-after-hook "^2.0.0" + btoa-lite "^1.0.0" + deprecation "^2.0.0" + lodash.get "^4.4.2" + lodash.set "^4.3.2" + lodash.uniq "^4.5.0" + octokit-pagination-methods "^1.1.0" + once "^1.4.0" + universal-user-agent "^4.0.0" + +"@octokit/types@^2.0.0", "@octokit/types@^2.0.1": + version "2.16.2" + resolved "https://registry.npm.taobao.org/@octokit/types/download/@octokit/types-2.16.2.tgz#4c5f8da3c6fecf3da1811aef678fda03edac35d2" + integrity sha1-TF+No8b+zz2hgRrvZ4/aA+2sNdI= + dependencies: + "@types/node" ">= 8" + +"@octokit/types@^6.0.0": + version "6.0.1" + resolved "https://registry.npm.taobao.org/@octokit/types/download/@octokit/types-6.0.1.tgz#a43a667ac8fff45012d23b771b7c3199f4491910" + integrity sha1-pDpmesj/9FAS0jt3G3wxmfRJGRA= + dependencies: + "@octokit/openapi-types" "^1.2.0" + "@types/node" ">= 8" + "@popperjs/core@^2.4.4": version "2.5.4" resolved "https://registry.npm.taobao.org/@popperjs/core/download/@popperjs/core-2.5.4.tgz?cache=0&sync_timestamp=1604053905119&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40popperjs%2Fcore%2Fdownload%2F%40popperjs%2Fcore-2.5.4.tgz#de25b5da9f727985a3757fd59b5d028aba75841a" @@ -2487,6 +3377,11 @@ dependencies: defer-to-connect "^2.0.0" +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@tootallnate/once/download/@tootallnate/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha1-zLkURTYBeaBOf+av94wA/8Hur4I= + "@types/anymatch@*": version "1.3.1" resolved "https://registry.npm.taobao.org/@types/anymatch/download/@types/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" @@ -2779,6 +3674,16 @@ resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-14.14.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.14.6.tgz#146d3da57b3c636cc0d1769396ce1cfa8991147f" integrity sha1-FG09pXs8Y2zA0XaTls4c+omRFH8= +"@types/node@14.11.10": + version "14.11.10" + resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-14.11.10.tgz?cache=0&sync_timestamp=1606763117372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.11.10.tgz#8c102aba13bf5253f35146affbf8b26275069bef" + integrity sha1-jBAquhO/UlPzUUav+/iyYnUGm+8= + +"@types/node@>= 8": + version "14.14.10" + resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-14.14.10.tgz?cache=0&sync_timestamp=1606763117372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.14.10.tgz#5958a82e41863cfc71f2307b3748e3491ba03785" + integrity sha1-WVioLkGGPPxx8jB7N0jjSRugN4U= + "@types/node@^12.0.12": version "12.19.3" resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-12.19.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.19.3.tgz#a6e252973214079155f749e8bef99cc80af182fa" @@ -2979,6 +3884,19 @@ dependencies: "@types/node" "*" +"@typescript-eslint/eslint-plugin@4.4.1": + version "4.4.1" + resolved "https://registry.npm.taobao.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.4.1.tgz#b8acea0373bd2a388ac47df44652f00bf8b368f5" + integrity sha1-uKzqA3O9KjiKxH30RlLwC/izaPU= + dependencies: + "@typescript-eslint/experimental-utils" "4.4.1" + "@typescript-eslint/scope-manager" "4.4.1" + debug "^4.1.1" + functional-red-black-tree "^1.0.1" + regexpp "^3.0.0" + semver "^7.3.2" + tsutils "^3.17.1" + "@typescript-eslint/eslint-plugin@^2.33.0": version "2.34.0" resolved "https://registry.npm.taobao.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" @@ -2999,6 +3917,28 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" +"@typescript-eslint/experimental-utils@4.4.1": + version "4.4.1" + resolved "https://registry.npm.taobao.org/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.4.1.tgz?cache=0&sync_timestamp=1606859672092&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fexperimental-utils%2Fdownload%2F%40typescript-eslint%2Fexperimental-utils-4.4.1.tgz#40613b9757fa0170de3e0043254dbb077cafac0c" + integrity sha1-QGE7l1f6AXDePgBDJU27B3yvrAw= + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/scope-manager" "4.4.1" + "@typescript-eslint/types" "4.4.1" + "@typescript-eslint/typescript-estree" "4.4.1" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@4.4.1": + version "4.4.1" + resolved "https://registry.npm.taobao.org/@typescript-eslint/parser/download/@typescript-eslint/parser-4.4.1.tgz?cache=0&sync_timestamp=1606859672878&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fparser%2Fdownload%2F%40typescript-eslint%2Fparser-4.4.1.tgz#25fde9c080611f303f2f33cedb145d2c59915b80" + integrity sha1-Jf3pwIBhHzA/LzPO2xRdLFmRW4A= + dependencies: + "@typescript-eslint/scope-manager" "4.4.1" + "@typescript-eslint/types" "4.4.1" + "@typescript-eslint/typescript-estree" "4.4.1" + debug "^4.1.1" + "@typescript-eslint/parser@^2.33.0": version "2.34.0" resolved "https://registry.npm.taobao.org/@typescript-eslint/parser/download/@typescript-eslint/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" @@ -3009,6 +3949,19 @@ "@typescript-eslint/typescript-estree" "2.34.0" eslint-visitor-keys "^1.1.0" +"@typescript-eslint/scope-manager@4.4.1": + version "4.4.1" + resolved "https://registry.npm.taobao.org/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.4.1.tgz?cache=0&sync_timestamp=1606859669940&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fscope-manager%2Fdownload%2F%40typescript-eslint%2Fscope-manager-4.4.1.tgz#d19447e60db2ce9c425898d62fa03b2cce8ea3f9" + integrity sha1-0ZRH5g2yzpxCWJjWL6A7LM6Oo/k= + dependencies: + "@typescript-eslint/types" "4.4.1" + "@typescript-eslint/visitor-keys" "4.4.1" + +"@typescript-eslint/types@4.4.1": + version "4.4.1" + resolved "https://registry.npm.taobao.org/@typescript-eslint/types/download/@typescript-eslint/types-4.4.1.tgz#c507b35cf523bc7ba00aae5f75ee9b810cdabbc1" + integrity sha1-xQezXPUjvHugCq5fde6bgQzau8E= + "@typescript-eslint/typescript-estree@2.34.0": version "2.34.0" resolved "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-2.34.0.tgz?cache=0&sync_timestamp=1604341227379&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" @@ -3022,6 +3975,33 @@ semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/typescript-estree@4.4.1": + version "4.4.1" + resolved "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.4.1.tgz?cache=0&sync_timestamp=1606859670765&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-4.4.1.tgz#598f6de488106c2587d47ca2462c60f6e2797cb8" + integrity sha1-WY9t5IgQbCWH1HyiRixg9uJ5fLg= + dependencies: + "@typescript-eslint/types" "4.4.1" + "@typescript-eslint/visitor-keys" "4.4.1" + debug "^4.1.1" + globby "^11.0.1" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/visitor-keys@4.4.1": + version "4.4.1" + resolved "https://registry.npm.taobao.org/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.4.1.tgz?cache=0&sync_timestamp=1606859669405&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fvisitor-keys%2Fdownload%2F%40typescript-eslint%2Fvisitor-keys-4.4.1.tgz#1769dc7a9e2d7d2cfd3318b77ed8249187aed5c3" + integrity sha1-F2ncep4tfSz9Mxi3ftgkkYeu1cM= + dependencies: + "@typescript-eslint/types" "4.4.1" + eslint-visitor-keys "^2.0.0" + +"@ungap/promise-all-settled@1.1.2": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@ungap/promise-all-settled/download/@ungap/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha1-qlgEJxHW4ydd033Fl+XTHowpCkQ= + "@vant/icons@1.4.0": version "1.4.0" resolved "https://registry.npmjs.org/@vant/icons/-/icons-1.4.0.tgz#a91f7894f2f34356f78a5d6f8b9d4f1a46add0c5" @@ -3621,7 +4601,16 @@ resolved "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0= -JSONStream@^1.0.4: +"@zkochan/cmd-shim@^3.1.0": + version "3.1.0" + resolved "https://registry.npm.taobao.org/@zkochan/cmd-shim/download/@zkochan/cmd-shim-3.1.0.tgz#2ab8ed81f5bb5452a85f25758eb9b8681982fd2e" + integrity sha1-KrjtgfW7VFKoXyV1jrm4aBmC/S4= + dependencies: + is-windows "^1.0.0" + mkdirp-promise "^5.0.1" + mz "^2.5.0" + +JSONStream@^1.0.4, JSONStream@^1.3.4: version "1.3.5" resolved "https://registry.npm.taobao.org/JSONStream/download/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" integrity sha1-MgjB8I06TZkmGrZPkjArwV4RHKA= @@ -3634,6 +4623,11 @@ abab@^2.0.0: resolved "https://registry.npm.taobao.org/abab/download/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" integrity sha1-wLZ4+zLWD8EhnHhNaoJv44Wut5o= +abbrev@1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg= + accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -3642,6 +4636,11 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: mime-types "~2.1.24" negotiator "0.6.2" +acorn-es7-plugin@^1.0.10, acorn-es7-plugin@^1.0.12: + version "1.1.7" + resolved "https://registry.npm.taobao.org/acorn-es7-plugin/download/acorn-es7-plugin-1.1.7.tgz#f2ee1f3228a90eead1245f9ab1922eb2e71d336b" + integrity sha1-8u4fMiipDurRJF+asZIusucdM2s= + acorn-globals@^4.3.2: version "4.3.4" resolved "https://registry.npm.taobao.org/acorn-globals/download/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" @@ -3665,6 +4664,11 @@ acorn-walk@^7.0.0, acorn-walk@^7.1.1: resolved "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w= +acorn@^5.0.0: + version "5.7.4" + resolved "https://registry.npm.taobao.org/acorn/download/acorn-5.7.4.tgz?cache=0&sync_timestamp=1602534280466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" + integrity sha1-Po2KmUfQWZoXltECJddDL0pKz14= + acorn@^6.0.1, acorn@^6.4.1: version "6.4.2" resolved "https://registry.npm.taobao.org/acorn/download/acorn-6.4.2.tgz?cache=0&sync_timestamp=1602534280466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" @@ -3692,11 +4696,39 @@ address@1.1.2, address@^1.0.1, address@^1.1.2: resolved "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" integrity sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY= +agent-base@4, agent-base@^4.3.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-4.3.0.tgz?cache=0&sync_timestamp=1603479872755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagent-base%2Fdownload%2Fagent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" + integrity sha1-gWXwHENgCbzK0LHRIvBe13Dvxu4= + dependencies: + es6-promisify "^5.0.0" + agent-base@5: version "5.1.1" resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-5.1.1.tgz?cache=0&sync_timestamp=1603479872755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagent-base%2Fdownload%2Fagent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c" integrity sha1-6Ps/JClZ20TWO+Zl23qOc5U3oyw= +agent-base@6: + version "6.0.2" + resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-6.0.2.tgz?cache=0&sync_timestamp=1603479872755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagent-base%2Fdownload%2Fagent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c= + dependencies: + debug "4" + +agent-base@~4.2.1: + version "4.2.1" + resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-4.2.1.tgz?cache=0&sync_timestamp=1603479872755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagent-base%2Fdownload%2Fagent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" + integrity sha1-2J5ZmfeXh1Z0wH2H8mD8Qeg+jKk= + dependencies: + es6-promisify "^5.0.0" + +agentkeepalive@^3.4.1: + version "3.5.2" + resolved "https://registry.npm.taobao.org/agentkeepalive/download/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67" + integrity sha1-oROSTdP6JKC8O3gQjEUMKr7gD2c= + dependencies: + humanize-ms "^1.2.1" + aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -3753,6 +4785,11 @@ alphanum-sort@^1.0.0: resolved "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= + ansi-align@^3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/ansi-align/download/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" @@ -3765,17 +4802,22 @@ ansi-colors@3.2.3: resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" integrity sha1-V9NbhoboUeLMBMQD8cACA5dqGBM= +ansi-colors@4.1.1, ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha1-y7muJWv3UK8eqzRPIpqif+lLo0g= + ansi-colors@^3.0.0: version "3.2.4" resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" integrity sha1-46PaS/uubIapwoViXeEkojQCb78= -ansi-escapes@^3.0.0: +ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: version "3.2.0" resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s= -ansi-escapes@^4.2.1: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: version "4.3.1" resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" integrity sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE= @@ -3941,6 +4983,11 @@ aproba@^1.0.3, aproba@^1.1.1: resolved "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= +aproba@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/aproba/download/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha1-UlILiuW1aSFbNU78DKo/4eRaitw= + arch@^2.1.1: version "2.2.0" resolved "https://registry.npm.taobao.org/arch/download/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" @@ -4015,16 +5062,31 @@ arr-union@^3.1.0: resolved "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +array-differ@^2.0.3: + version "2.1.0" + resolved "https://registry.npm.taobao.org/array-differ/download/array-differ-2.1.0.tgz#4b9c1c3f14b906757082925769e8ab904f4801b1" + integrity sha1-S5wcPxS5BnVwgpJXaeirkE9IAbE= + array-equal@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/array-equal/download/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= +array-filter@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/array-filter/download/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" + integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= + array-find-index@^1.0.1: version "1.0.2" resolved "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= +array-find@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/array-find/download/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8" + integrity sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg= + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -4108,7 +5170,7 @@ arrify@^1.0.1: resolved "https://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -asap@~2.0.3: +asap@^2.0.0, asap@~2.0.3: version "2.0.6" resolved "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= @@ -4163,6 +5225,13 @@ ast-types@0.13.3: resolved "https://registry.npm.taobao.org/ast-types/download/ast-types-0.13.3.tgz#50da3f28d17bdbc7969a3a2d83a0e4a72ae755a7" integrity sha1-UNo/KNF728eWmjotg6DkpyrnVac= +ast-types@^0.13.2: + version "0.13.4" + resolved "https://registry.npm.taobao.org/ast-types/download/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" + integrity sha1-7g13s0MmOWXsw/ti2hbnIisrZ4I= + dependencies: + tslib "^2.0.1" + astral-regex@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" @@ -4220,6 +5289,11 @@ at-least-node@^1.0.0: resolved "https://registry.npm.taobao.org/at-least-node/download/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha1-YCzUtG6EStTv/JKoARo8RuAjjcI= +atob-lite@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/atob-lite/download/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696" + integrity sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY= + atob@^2.1.2: version "2.1.2" resolved "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" @@ -4607,6 +5681,11 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" +before-after-hook@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/before-after-hook/download/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" + integrity sha1-tsA0h/ROJCAN0wyl5qGXnF0vtjU= + better-opn@^2.0.0: version "2.1.1" resolved "https://registry.npm.taobao.org/better-opn/download/better-opn-2.1.1.tgz#94a55b4695dc79288f31d7d0e5f658320759f7c6" @@ -4667,7 +5746,7 @@ bluebird-lst@^1.0.9: dependencies: bluebird "^3.5.5" -bluebird@^3.1.1, bluebird@^3.3.5, bluebird@^3.5.5, bluebird@^3.7.2: +bluebird@^3.1.1, bluebird@^3.3.5, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha1-nyKcFb4nJFT/qXOs4NvueaGww28= @@ -4873,6 +5952,11 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" +btoa-lite@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/btoa-lite/download/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" + integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc= + buffer-crc32@^0.2.1, buffer-crc32@^0.2.13, buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" @@ -4958,6 +6042,28 @@ builtin-status-codes@^3.0.0: resolved "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= +builtins@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/builtins/download/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" + integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= + +busboy@^0.3.1: + version "0.3.1" + resolved "https://registry.npm.taobao.org/busboy/download/busboy-0.3.1.tgz#170899274c5bf38aae27d5c62b71268cd585fd1b" + integrity sha1-FwiZJ0xb84quJ9XGK3EmjNWF/Rs= + dependencies: + dicer "0.3.0" + +byline@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/byline/download/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" + integrity sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE= + +byte-size@^5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/byte-size/download/byte-size-5.0.1.tgz#4b651039a5ecd96767e71a3d7ed380e48bed4191" + integrity sha1-S2UQOaXs2Wdn5xo9ftOA5IvtQZE= + bytes@3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -4968,7 +6074,7 @@ bytes@3.1.0: resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY= -cacache@^12.0.2, cacache@^12.0.3: +cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: version "12.0.4" resolved "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" integrity sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw= @@ -5102,11 +6208,26 @@ call-bind@^1.0.0: function-bind "^1.1.1" get-intrinsic "^1.0.0" +call-matcher@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/call-matcher/download/call-matcher-1.1.0.tgz#23b2c1bc7a8394c8be28609d77ddbd5786680432" + integrity sha1-I7LBvHqDlMi+KGCdd929V4ZoBDI= + dependencies: + core-js "^2.0.0" + deep-equal "^1.0.0" + espurify "^1.6.0" + estraverse "^4.0.0" + call-me-maybe@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= +call-signature@0.0.2: + version "0.0.2" + resolved "https://registry.npm.taobao.org/call-signature/download/call-signature-0.0.2.tgz#a84abc825a55ef4cb2b028bd74e205a65b9a4996" + integrity sha1-qEq8glpV70yysCi9dOIFpluaSZY= + caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" @@ -5264,7 +6385,7 @@ chai@^4.1.2: pathval "^1.1.0" type-detect "^4.0.5" -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= @@ -5347,6 +6468,21 @@ check-types@^8.0.3: resolved "https://registry.npm.taobao.org/check-types/download/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" integrity sha1-M1bMoZyIlUTy16le1JzlCKDs9VI= +chokidar@3.4.3, chokidar@^3.0.2, chokidar@^3.3.0, chokidar@^3.4.1: + version "3.4.3" + resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-3.4.3.tgz?cache=0&sync_timestamp=1602585366200&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" + integrity sha1-wd84IxRI5FykrFiObHlXO6alfVs= + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.1.2" + chokidar@^2.0.0, chokidar@^2.1.8: version "2.1.8" resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1602585366200&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -5366,21 +6502,6 @@ chokidar@^2.0.0, chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chokidar@^3.0.2, chokidar@^3.3.0, chokidar@^3.4.1: - version "3.4.3" - resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-3.4.3.tgz?cache=0&sync_timestamp=1602585366200&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" - integrity sha1-wd84IxRI5FykrFiObHlXO6alfVs= - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.5.0" - optionalDependencies: - fsevents "~2.1.2" - chownr@^1.1.1, chownr@^1.1.2: version "1.1.4" resolved "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" @@ -5511,8 +6632,16 @@ cli-truncate@^0.2.1: resolved "https://registry.npm.taobao.org/cli-truncate/download/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= dependencies: - slice-ansi "0.0.4" - string-width "^1.0.1" + slice-ansi "0.0.4" + string-width "^1.0.1" + +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/cli-truncate/download/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha1-w54ovwXtzeW+O5iZKiLe7Vork8c= + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" cli-width@^2.0.0: version "2.2.1" @@ -5578,6 +6707,15 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/clone-deep/download/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c= + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + clone-regexp@^2.1.0: version "2.2.0" resolved "https://registry.npm.taobao.org/clone-regexp/download/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f" @@ -5679,6 +6817,14 @@ colors@^1.1.2: resolved "https://registry.npm.taobao.org/colors/download/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha1-xQSRR51MG9rtLJztMs98fcI2D3g= +columnify@^1.5.4: + version "1.5.4" + resolved "https://registry.npm.taobao.org/columnify/download/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" + integrity sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs= + dependencies: + strip-ansi "^3.0.0" + wcwidth "^1.0.0" + combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -5711,6 +6857,11 @@ commander@^5.0.0: resolved "https://registry.npm.taobao.org/commander/download/commander-5.1.0.tgz?cache=0&sync_timestamp=1603599581184&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha1-Rqu9FlL44Fm92u+Zu9yyrZzxea4= +commander@^6.0.0: + version "6.2.0" + resolved "https://registry.npm.taobao.org/commander/download/commander-6.2.0.tgz?cache=0&sync_timestamp=1605992478790&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75" + integrity sha1-uZC/uKwDCu3G0RvATRSI/+9W23U= + commander@~2.19.0: version "2.19.0" resolved "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1603599581184&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" @@ -5801,6 +6952,16 @@ concat-stream@^1.5.0, concat-stream@^1.6.2: readable-stream "^2.2.2" typedarray "^0.0.6" +concat-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/concat-stream/download/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" + integrity sha1-QUz1r3kKSMYKub5FJ9VtXkETPLE= + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.0.2" + typedarray "^0.0.6" + concurrently@^5.3.0: version "5.3.0" resolved "https://registry.npm.taobao.org/concurrently/download/concurrently-5.3.0.tgz#7500de6410d043c912b2da27de3202cb489b1e7b" @@ -5890,7 +7051,7 @@ content-type@~1.0.4: resolved "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha1-4TjMdeBAxyexlm/l5fjJruJW/js= -conventional-changelog-angular@^5.0.0, conventional-changelog-angular@^5.0.12: +conventional-changelog-angular@^5.0.0, conventional-changelog-angular@^5.0.12, conventional-changelog-angular@^5.0.3: version "5.0.12" resolved "https://registry.npm.taobao.org/conventional-changelog-angular/download/conventional-changelog-angular-5.0.12.tgz?cache=0&sync_timestamp=1604539522350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-changelog-angular%2Fdownload%2Fconventional-changelog-angular-5.0.12.tgz#c979b8b921cbfe26402eb3da5bbfda02d865a2b9" integrity sha1-yXm4uSHL/iZALrPaW7/aAthlork= @@ -5932,6 +7093,25 @@ conventional-changelog-conventionalcommits@^4.3.1, conventional-changelog-conven lodash "^4.17.15" q "^1.5.1" +conventional-changelog-core@^3.1.6: + version "3.2.3" + resolved "https://registry.npm.taobao.org/conventional-changelog-core/download/conventional-changelog-core-3.2.3.tgz?cache=0&sync_timestamp=1604539582288&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-changelog-core%2Fdownload%2Fconventional-changelog-core-3.2.3.tgz#b31410856f431c847086a7dcb4d2ca184a7d88fb" + integrity sha1-sxQQhW9DHIRwhqfctNLKGEp9iPs= + dependencies: + conventional-changelog-writer "^4.0.6" + conventional-commits-parser "^3.0.3" + dateformat "^3.0.0" + get-pkg-repo "^1.0.0" + git-raw-commits "2.0.0" + git-remote-origin-url "^2.0.0" + git-semver-tags "^2.0.3" + lodash "^4.2.1" + normalize-package-data "^2.3.5" + q "^1.5.1" + read-pkg "^3.0.0" + read-pkg-up "^3.0.0" + through2 "^3.0.0" + conventional-changelog-core@^4.2.1: version "4.2.1" resolved "https://registry.npm.taobao.org/conventional-changelog-core/download/conventional-changelog-core-4.2.1.tgz?cache=0&sync_timestamp=1604539605189&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-changelog-core%2Fdownload%2Fconventional-changelog-core-4.2.1.tgz#f811ad98ab2ff080becafc61407509420c9b447d" @@ -5989,12 +7169,12 @@ conventional-changelog-jshint@^2.0.9: compare-func "^2.0.0" q "^1.5.1" -conventional-changelog-preset-loader@^2.3.4: +conventional-changelog-preset-loader@^2.1.1, conventional-changelog-preset-loader@^2.3.4: version "2.3.4" resolved "https://registry.npm.taobao.org/conventional-changelog-preset-loader/download/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" integrity sha1-FKhVq7/9WQJ/1gJYHx802YYupEw= -conventional-changelog-writer@^4.0.18: +conventional-changelog-writer@^4.0.18, conventional-changelog-writer@^4.0.6: version "4.0.18" resolved "https://registry.npm.taobao.org/conventional-changelog-writer/download/conventional-changelog-writer-4.0.18.tgz?cache=0&sync_timestamp=1604539606284&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-changelog-writer%2Fdownload%2Fconventional-changelog-writer-4.0.18.tgz#10b73baa59c7befc69b360562f8b9cd19e63daf8" integrity sha1-ELc7qlnHvvxps2BWL4uc0Z5j2vg= @@ -6027,7 +7207,7 @@ conventional-changelog@^3.1.24: conventional-changelog-jshint "^2.0.9" conventional-changelog-preset-loader "^2.3.4" -conventional-commits-filter@^2.0.7: +conventional-commits-filter@^2.0.2, conventional-commits-filter@^2.0.7: version "2.0.7" resolved "https://registry.npm.taobao.org/conventional-commits-filter/download/conventional-commits-filter-2.0.7.tgz?cache=0&sync_timestamp=1604539605921&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-commits-filter%2Fdownload%2Fconventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" integrity sha1-+Nm08YL84Aya9xOdpJNlsTbIoLM= @@ -6035,7 +7215,7 @@ conventional-commits-filter@^2.0.7: lodash.ismatch "^4.4.0" modify-values "^1.0.0" -conventional-commits-parser@^3.0.0, conventional-commits-parser@^3.2.0: +conventional-commits-parser@^3.0.0, conventional-commits-parser@^3.0.3, conventional-commits-parser@^3.2.0: version "3.2.0" resolved "https://registry.npm.taobao.org/conventional-commits-parser/download/conventional-commits-parser-3.2.0.tgz?cache=0&sync_timestamp=1604539565501&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-commits-parser%2Fdownload%2Fconventional-commits-parser-3.2.0.tgz#9e261b139ca4b7b29bcebbc54460da36894004ca" integrity sha1-niYbE5ykt7KbzrvFRGDaNolABMo= @@ -6048,7 +7228,21 @@ conventional-commits-parser@^3.0.0, conventional-commits-parser@^3.2.0: through2 "^4.0.0" trim-off-newlines "^1.0.0" -convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.7.0: +conventional-recommended-bump@^5.0.0: + version "5.0.1" + resolved "https://registry.npm.taobao.org/conventional-recommended-bump/download/conventional-recommended-bump-5.0.1.tgz?cache=0&sync_timestamp=1604539581319&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-recommended-bump%2Fdownload%2Fconventional-recommended-bump-5.0.1.tgz#5af63903947b6e089e77767601cb592cabb106ba" + integrity sha1-WvY5A5R7bgied3Z2ActZLKuxBro= + dependencies: + concat-stream "^2.0.0" + conventional-changelog-preset-loader "^2.1.1" + conventional-commits-filter "^2.0.2" + conventional-commits-parser "^3.0.3" + git-raw-commits "2.0.0" + git-semver-tags "^2.0.3" + meow "^4.0.0" + q "^1.5.1" + +convert-source-map@^1.1.0, convert-source-map@^1.1.1, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI= @@ -6120,6 +7314,11 @@ core-js-pure@^3.0.1: resolved "https://registry.npm.taobao.org/core-js-pure/download/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" integrity sha1-x5519eONvIWmYtke6lK4JW1TuBM= +core-js@^2.0.0: + version "2.6.12" + resolved "https://registry.npm.taobao.org/core-js/download/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw= + core-js@^2.6.5: version "2.6.11" resolved "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" @@ -6135,7 +7334,7 @@ core-util-is@1.0.2, core-util-is@~1.0.0: resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cosmiconfig@^5.0.0, cosmiconfig@^5.2.1: +cosmiconfig@^5.0.0, cosmiconfig@^5.1.0, cosmiconfig@^5.2.1: version "5.2.1" resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo= @@ -6257,7 +7456,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0, cross-spawn@^7.0.1: +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY= @@ -6500,6 +7699,14 @@ cyclist@^1.0.1: resolved "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/d/download/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha1-hpgJU3LVjb7jRv/Qxwk/mfj561o= + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + dargs@^4.0.1: version "4.1.0" resolved "https://registry.npm.taobao.org/dargs/download/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" @@ -6519,6 +7726,11 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" +data-uri-to-buffer@3: + version "3.0.1" + resolved "https://registry.npm.taobao.org/data-uri-to-buffer/download/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" + integrity sha1-WUuJc5OMW8LDMEZTV4U0GrxPNjY= + data-urls@^1.1.0: version "1.1.0" resolved "https://registry.npm.taobao.org/data-urls/download/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" @@ -6555,6 +7767,13 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8, debug@^2.6. dependencies: ms "2.0.0" +debug@3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz?cache=0&sync_timestamp=1606566568533&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE= + dependencies: + ms "2.0.0" + debug@3.2.6, debug@^3.0.0, debug@^3.1.1, debug@^3.2.5: version "3.2.6" resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&sync_timestamp=1600502826356&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" @@ -6562,13 +7781,20 @@ debug@3.2.6, debug@^3.0.0, debug@^3.1.1, debug@^3.2.5: dependencies: ms "^2.1.1" -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: +debug@4, debug@4.2.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.2.0" resolved "https://registry.npm.taobao.org/debug/download/debug-4.2.0.tgz?cache=0&sync_timestamp=1600502826356&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" integrity sha1-fxUPk5IOlMWPVXTC/QGjEQ7/5/E= dependencies: ms "2.1.2" +debug@^3.1.0: + version "3.2.7" + resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1606566568533&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o= + dependencies: + ms "^2.1.1" + debug@^4.3.0: version "4.3.0" resolved "https://registry.npm.taobao.org/debug/download/debug-4.3.0.tgz?cache=0&sync_timestamp=1600502826356&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.0.tgz#efa41cbf14fc9448075367fdaaddf82376da211e" @@ -6576,6 +7802,11 @@ debug@^4.3.0: dependencies: ms "2.1.2" +debuglog@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/debuglog/download/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" + integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= + decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.npm.taobao.org/decamelize-keys/download/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -6589,6 +7820,11 @@ decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha1-qkcte/Zg6xXzSU79UxyrfypwmDc= + decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" @@ -6620,7 +7856,7 @@ deep-eql@^3.0.1: dependencies: type-detect "^4.0.0" -deep-equal@^1.0.1, deep-equal@^1.1.1: +deep-equal@^1.0.0, deep-equal@^1.0.1, deep-equal@^1.1.1: version "1.1.1" resolved "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz?cache=0&sync_timestamp=1601612573471&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeep-equal%2Fdownload%2Fdeep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" integrity sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o= @@ -6637,7 +7873,7 @@ deep-extend@^0.6.0: resolved "https://registry.npm.taobao.org/deep-extend/download/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw= -deep-is@~0.1.3: +deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.3" resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= @@ -6723,6 +7959,15 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" +degenerator@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/degenerator/download/degenerator-2.2.0.tgz#49e98c11fa0293c5b26edfbb52f15729afcdb254" + integrity sha1-SemMEfoCk8Wybt+7UvFXKa/NslQ= + dependencies: + ast-types "^0.13.2" + escodegen "^1.8.1" + esprima "^4.0.0" + del@^3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/del/download/del-3.0.0.tgz?cache=0&sync_timestamp=1601076741536&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdel%2Fdownload%2Fdel-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" @@ -6782,6 +8027,11 @@ depd@~1.1.2: resolved "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= +deprecation@^2.0.0, deprecation@^2.3.1: + version "2.3.1" + resolved "https://registry.npm.taobao.org/deprecation/download/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha1-Y2jL20Cr8zc7UlrIfkomDDpwCRk= + des.js@^1.0.0: version "1.0.1" resolved "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" @@ -6802,6 +8052,11 @@ detab@2.0.3: dependencies: repeat-string "^1.5.4" +detect-indent@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/detect-indent/download/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= + detect-node@^2.0.4: version "2.0.4" resolved "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" @@ -6848,12 +8103,32 @@ devtools@6.7.0: ua-parser-js "^0.7.21" uuid "^8.0.0" +dezalgo@^1.0.0: + version "1.0.3" + resolved "https://registry.npm.taobao.org/dezalgo/download/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" + integrity sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY= + dependencies: + asap "^2.0.0" + wrappy "1" + +dicer@0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/dicer/download/dicer-0.3.0.tgz#eacd98b3bfbf92e8ab5c2fdb71aaac44bb06b872" + integrity sha1-6s2Ys7+/kuirXC/bcaqsRLsGuHI= + dependencies: + streamsearch "0.1.2" + +diff-match-patch@^1.0.0: + version "1.0.5" + resolved "https://registry.npm.taobao.org/diff-match-patch/download/diff-match-patch-1.0.5.tgz?cache=0&sync_timestamp=1600349125335&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff-match-patch%2Fdownload%2Fdiff-match-patch-1.0.5.tgz#abb584d5f10cd1196dfc55aa03701592ae3f7b37" + integrity sha1-q7WE1fEM0Rlt/FWqA3AVkq4/ezc= + diff@3.5.0: version "3.5.0" resolved "https://registry.npm.taobao.org/diff/download/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" integrity sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI= -diff@^4.0.1: +diff@4.0.2, diff@^4.0.1: version "4.0.2" resolved "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= @@ -6970,6 +8245,15 @@ dom-serializer@0: domelementtype "^2.0.1" entities "^2.0.0" +dom-serializer@^1.0.1: + version "1.1.0" + resolved "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-1.1.0.tgz?cache=0&sync_timestamp=1600026603144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-serializer%2Fdownload%2Fdom-serializer-1.1.0.tgz#5f7c828f1bfc44887dc2a315ab5c45691d544b58" + integrity sha1-X3yCjxv8RIh9wqMVq1xFaR1US1g= + dependencies: + domelementtype "^2.0.1" + domhandler "^3.0.0" + entities "^2.0.0" + dom-walk@^0.1.0: version "0.1.2" resolved "https://registry.npm.taobao.org/dom-walk/download/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" @@ -7004,6 +8288,13 @@ domhandler@^2.3.0: dependencies: domelementtype "1" +domhandler@^3.0.0, domhandler@^3.3.0: + version "3.3.0" + resolved "https://registry.npm.taobao.org/domhandler/download/domhandler-3.3.0.tgz?cache=0&sync_timestamp=1606872259940&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomhandler%2Fdownload%2Fdomhandler-3.3.0.tgz#6db7ea46e4617eb15cf875df68b2b8524ce0037a" + integrity sha1-bbfqRuRhfrFc+HXfaLK4UkzgA3o= + dependencies: + domelementtype "^2.0.1" + domutils@1.5.1: version "1.5.1" resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" @@ -7020,6 +8311,15 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" +domutils@^2.0.0: + version "2.4.2" + resolved "https://registry.npm.taobao.org/domutils/download/domutils-2.4.2.tgz#7ee5be261944e1ad487d9aa0616720010123922b" + integrity sha1-fuW+JhlE4a1IfZqgYWcgAQEjkis= + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.0.1" + domhandler "^3.3.0" + dot-case@^3.0.3: version "3.0.3" resolved "https://registry.npm.taobao.org/dot-case/download/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa" @@ -7028,6 +8328,13 @@ dot-case@^3.0.3: no-case "^3.0.3" tslib "^1.10.0" +dot-prop@^4.2.0: + version "4.2.1" + resolved "https://registry.npm.taobao.org/dot-prop/download/dot-prop-4.2.1.tgz?cache=0&sync_timestamp=1605778245141&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" + integrity sha1-RYhBlKcfws2nHLtLzrOk3S9DO6Q= + dependencies: + is-obj "^1.0.0" + dot-prop@^5.1.0, dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" @@ -7094,6 +8401,11 @@ duplexify@^4.1.1: readable-stream "^3.1.1" stream-shift "^1.0.0" +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/eastasianwidth/download/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha1-aWzi7Aqg5uqTo5f/zySqeEDIJ8s= + easy-stack@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/easy-stack/download/easy-stack-1.0.0.tgz#12c91b3085a37f0baa336e9486eac4bf94e3e788" @@ -7262,11 +8574,41 @@ emotion-theming@^10.0.19: "@emotion/weak-memoize" "0.2.5" hoist-non-react-statics "^3.3.0" +empower-assert@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/empower-assert/download/empower-assert-1.1.0.tgz#8d327fbe69a88af90dda98d1bfc9829d2a24fd62" + integrity sha1-jTJ/vmmoivkN2pjRv8mCnSok/WI= + dependencies: + estraverse "^4.2.0" + +empower-core@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/empower-core/download/empower-core-1.2.0.tgz#ce3fb2484d5187fa29c23fba8344b0b2fdf5601c" + integrity sha1-zj+ySE1Rh/opwj+6g0Swsv31YBw= + dependencies: + call-signature "0.0.2" + core-js "^2.0.0" + +empower@^1.3.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/empower/download/empower-1.3.1.tgz#768979cbbb36d71d8f5edaab663deacb9dab916c" + integrity sha1-dol5y7s21x2PXtqrZj3qy52rkWw= + dependencies: + core-js "^2.0.0" + empower-core "^1.2.0" + encodeurl@^1.0.2, encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= +encoding@^0.1.11: + version "0.1.13" + resolved "https://registry.npm.taobao.org/encoding/download/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha1-VldK/deR9UqOmyeFwFgqLSYhD6k= + dependencies: + iconv-lite "^0.6.2" + end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -7283,6 +8625,13 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.3.0: memory-fs "^0.5.0" tapable "^1.0.0" +enquirer@^2.3.5, enquirer@^2.3.6: + version "2.3.6" + resolved "https://registry.npm.taobao.org/enquirer/download/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00= + dependencies: + ansi-colors "^4.1.1" + entities@^1.1.1, entities@^1.1.2: version "1.1.2" resolved "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1602898797807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" @@ -7298,6 +8647,16 @@ env-paths@^2.2.0: resolved "https://registry.npm.taobao.org/env-paths/download/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" integrity sha1-zcpVfcAJFSkX1hZuL+vh8DloXkM= +envinfo@^7.3.1: + version "7.7.3" + resolved "https://registry.npm.taobao.org/envinfo/download/envinfo-7.7.3.tgz#4b2d8622e3e7366afb8091b23ed95569ea0208cc" + integrity sha1-Sy2GIuPnNmr7gJGyPtlVaeoCCMw= + +err-code@^1.0.0: + version "1.1.2" + resolved "https://registry.npm.taobao.org/err-code/download/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" + integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= + errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -7381,6 +8740,15 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14: + version "0.10.53" + resolved "https://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" + integrity sha1-k8WjrP2+8nUiCtcmRK0C7hg2jeE= + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.3" + next-tick "~1.0.0" + es5-shim@^4.5.13: version "4.5.14" resolved "https://registry.npm.taobao.org/es5-shim/download/es5-shim-4.5.14.tgz#90009e1019d0ea327447cb523deaff8fe45697ef" @@ -7391,21 +8759,94 @@ es6-error@^4.1.1: resolved "https://registry.npm.taobao.org/es6-error/download/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" integrity sha1-njr0B0Wd7tR+mpH5uIWoTrBcVh0= +es6-iterator@^2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-map@^0.1.3: + version "0.1.5" + resolved "https://registry.npm.taobao.org/es6-map/download/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA= + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-set "~0.1.5" + es6-symbol "~3.1.1" + event-emitter "~0.3.5" + es6-promise@^4.0.3: version "4.2.8" resolved "https://registry.npm.taobao.org/es6-promise/download/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" integrity sha1-TrIVlMlyvEBVPSduUQU5FD21Pgo= +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/es6-promisify/download/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= + dependencies: + es6-promise "^4.0.3" + +es6-set@~0.1.5: + version "0.1.5" + resolved "https://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE= + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-symbol "3.1.1" + event-emitter "~0.3.5" + es6-shim@^0.35.5: version "0.35.6" resolved "https://registry.npm.taobao.org/es6-shim/download/es6-shim-0.35.6.tgz?cache=0&sync_timestamp=1602743017567&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes6-shim%2Fdownload%2Fes6-shim-0.35.6.tgz#d10578301a83af2de58b9eadb7c2c9945f7388a0" integrity sha1-0QV4MBqDry3li56tt8LJlF9ziKA= +es6-symbol@3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-symbol@^3.1.1, es6-symbol@~3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha1-utXTwbzawoJp9MszHkMceKxwXRg= + dependencies: + d "^1.0.1" + ext "^1.1.2" + +es6-weak-map@^2.0.1: + version "2.0.3" + resolved "https://registry.npm.taobao.org/es6-weak-map/download/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + integrity sha1-ttofFswswNm+Q+a9v8Xn383zHVM= + dependencies: + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602567230854&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA= +escallmatch@^1.5.0: + version "1.5.0" + resolved "https://registry.npm.taobao.org/escallmatch/download/escallmatch-1.5.0.tgz#50099d86e8091b092df8ddfbc3f9a6fb05a024d0" + integrity sha1-UAmdhugJGwkt+N37w/mm+wWgJNA= + dependencies: + call-matcher "^1.0.0" + esprima "^2.0.0" + escape-goat@^2.0.0: version "2.1.1" resolved "https://registry.npm.taobao.org/escape-goat/download/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" @@ -7426,12 +8867,12 @@ escape-string-regexp@2.0.0: resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha1-owME6Z2qMuI7L9IPUbq9B8/8o0Q= -escape-string-regexp@^4.0.0: +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ= -escodegen@^1.11.1, escodegen@^1.12.0: +escodegen@^1.10.0, escodegen@^1.11.1, escodegen@^1.12.0, escodegen@^1.7.0, escodegen@^1.8.1: version "1.14.3" resolved "https://registry.npm.taobao.org/escodegen/download/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" integrity sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM= @@ -7443,6 +8884,23 @@ escodegen@^1.11.1, escodegen@^1.12.0: optionalDependencies: source-map "~0.6.1" +escope@^3.3.0: + version "3.6.0" + resolved "https://registry.npm.taobao.org/escope/download/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM= + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-config-prettier@6.13.0: + version "6.13.0" + resolved "https://registry.npm.taobao.org/eslint-config-prettier/download/eslint-config-prettier-6.13.0.tgz?cache=0&sync_timestamp=1603818865312&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-config-prettier%2Fdownload%2Feslint-config-prettier-6.13.0.tgz#207d88796b5624e5bb815bbbdfc5891ceb9ebffa" + integrity sha1-IH2IeWtWJOW7gVu738WJHOuev/o= + dependencies: + get-stdin "^6.0.0" + eslint-config-prettier@^6.0.0: version "6.15.0" resolved "https://registry.npm.taobao.org/eslint-config-prettier/download/eslint-config-prettier-6.15.0.tgz?cache=0&sync_timestamp=1603818865312&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-config-prettier%2Fdownload%2Feslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" @@ -7461,7 +8919,14 @@ eslint-loader@^2.2.1: object-hash "^1.1.4" rimraf "^2.6.1" -eslint-plugin-prettier@^3.1.3: +eslint-plugin-html@6.0.3: + version "6.0.3" + resolved "https://registry.npm.taobao.org/eslint-plugin-html/download/eslint-plugin-html-6.0.3.tgz?cache=0&sync_timestamp=1605105148578&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-html%2Fdownload%2Feslint-plugin-html-6.0.3.tgz#8d9d2c187d1a48ed78d84f45e29820f102425e51" + integrity sha1-jZ0sGH0aSO142E9F4pgg8QJCXlE= + dependencies: + htmlparser2 "^4.1.0" + +eslint-plugin-prettier@3.1.4, eslint-plugin-prettier@^3.1.3: version "3.1.4" resolved "https://registry.npm.taobao.org/eslint-plugin-prettier/download/eslint-plugin-prettier-3.1.4.tgz#168ab43154e2ea57db992a2cd097c828171f75c2" integrity sha1-Foq0MVTi6lfbmSos0JfIKBcfdcI= @@ -7486,7 +8951,7 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^5.0.0: +eslint-scope@^5.0.0, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1600070417656&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw= @@ -7508,11 +8973,59 @@ eslint-utils@^2.0.0, eslint-utils@^2.1.0: dependencies: eslint-visitor-keys "^1.1.0" -eslint-visitor-keys@^1.1.0: +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: version "1.3.0" resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1599829544231&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4= +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-2.0.0.tgz?cache=0&sync_timestamp=1599829544231&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha1-If3I+82ceVzAMh8FY3AglXUVEag= + +eslint@7.12.0: + version "7.12.0" + resolved "https://registry.npm.taobao.org/eslint/download/eslint-7.12.0.tgz#7b6a85f87a9adc239e979bb721cde5ce0dc27da6" + integrity sha1-e2qF+Hqa3COel5u3Ic3lzg3CfaY= + dependencies: + "@babel/code-frame" "^7.0.0" + "@eslint/eslintrc" "^0.2.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.0" + esquery "^1.2.0" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash "^4.17.19" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + eslint@^6.7.2: version "6.8.0" resolved "https://registry.npm.taobao.org/eslint/download/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" @@ -7556,6 +9069,59 @@ eslint@^6.7.2: text-table "^0.2.0" v8-compile-cache "^2.0.3" +espower-loader@^1.0.0: + version "1.2.2" + resolved "https://registry.npm.taobao.org/espower-loader/download/espower-loader-1.2.2.tgz#edb46c3c59a06bac8ea73a695c86e5c5a0bc82da" + integrity sha1-7bRsPFmga6yOpzppXIblxaC8gto= + dependencies: + convert-source-map "^1.1.0" + espower-source "^2.0.0" + minimatch "^3.0.0" + source-map-support "^0.4.0" + xtend "^4.0.0" + +espower-location-detector@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/espower-location-detector/download/espower-location-detector-1.0.0.tgz#a17b7ecc59d30e179e2bef73fb4137704cb331b5" + integrity sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU= + dependencies: + is-url "^1.2.1" + path-is-absolute "^1.0.0" + source-map "^0.5.0" + xtend "^4.0.0" + +espower-source@^2.0.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/espower-source/download/espower-source-2.3.0.tgz#43e93b2c18af50018bdb1bea7a1271f4a1c125f4" + integrity sha1-Q+k7LBivUAGL2xvqehJx9KHBJfQ= + dependencies: + acorn "^5.0.0" + acorn-es7-plugin "^1.0.10" + convert-source-map "^1.1.1" + empower-assert "^1.0.0" + escodegen "^1.10.0" + espower "^2.1.1" + estraverse "^4.0.0" + merge-estraverse-visitors "^1.0.0" + multi-stage-sourcemap "^0.2.1" + path-is-absolute "^1.0.0" + xtend "^4.0.0" + +espower@^2.1.1: + version "2.1.2" + resolved "https://registry.npm.taobao.org/espower/download/espower-2.1.2.tgz#824f88788f9fedf4cf0f928f5e11bb907ce9b918" + integrity sha1-gk+IeI+f7fTPD5KPXhG7kHzpuRg= + dependencies: + array-find "^1.0.0" + escallmatch "^1.5.0" + escodegen "^1.7.0" + escope "^3.3.0" + espower-location-detector "^1.0.0" + espurify "^1.3.0" + estraverse "^4.1.0" + source-map "^0.5.0" + type-name "^2.0.0" + espree@^6.1.2, espree@^6.2.1: version "6.2.1" resolved "https://registry.npm.taobao.org/espree/download/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" @@ -7565,12 +9131,33 @@ espree@^6.1.2, espree@^6.2.1: acorn-jsx "^5.2.0" eslint-visitor-keys "^1.1.0" +espree@^7.3.0: + version "7.3.0" + resolved "https://registry.npm.taobao.org/espree/download/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348" + integrity sha1-3DBDfPZ5R89XYSHr14DxXurHI0g= + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.3.0" + +esprima@^2.0.0: + version "2.7.3" + resolved "https://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= + esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: version "4.0.1" resolved "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= -esquery@^1.0.1: +espurify@^1.3.0, espurify@^1.6.0: + version "1.8.1" + resolved "https://registry.npm.taobao.org/espurify/download/espurify-1.8.1.tgz#5746c6c1ab42d302de10bd1d5bf7f0e8c0515056" + integrity sha1-V0bGwatC0wLeEL0dW/fw6MBRUFY= + dependencies: + core-js "^2.0.0" + +esquery@^1.0.1, esquery@^1.2.0: version "1.3.1" resolved "https://registry.npm.taobao.org/esquery/download/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" integrity sha1-t4tYKKqOIU4p+3TE1bdS4cAz2lc= @@ -7584,7 +9171,7 @@ esrecurse@^4.1.0, esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.3.0" resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= @@ -7609,11 +9196,24 @@ etag@~1.8.1: resolved "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= +event-emitter@~0.3.5: + version "0.3.5" + resolved "https://registry.npm.taobao.org/event-emitter/download/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= + dependencies: + d "1" + es5-ext "~0.10.14" + event-pubsub@4.3.0: version "4.3.0" resolved "https://registry.npm.taobao.org/event-pubsub/download/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e" integrity sha1-9o2Ba8KfHsAsU53FjI3UDOcss24= +eventemitter3@^3.1.0: + version "3.1.2" + resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" + integrity sha1-LT1I+cNGaY/Og6hdfWZOmFNd9uc= + eventemitter3@^4.0.0: version "4.0.7" resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" @@ -7701,7 +9301,7 @@ execa@^3.3.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" -execa@^4.0.0: +execa@^4.0.0, execa@^4.0.3: version "4.1.0" resolved "https://registry.npm.taobao.org/execa/download/execa-4.1.0.tgz?cache=0&sync_timestamp=1603882924514&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" integrity sha1-TlSRrRVy8vF6d9OIxshXE1sihHo= @@ -7741,6 +9341,13 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" +express-fileupload@^1.1.9: + version "1.2.0" + resolved "https://registry.npm.taobao.org/express-fileupload/download/express-fileupload-1.2.0.tgz#356c4dfd645be71ab9fb2f4e6d84eeb00d247979" + integrity sha1-NWxN/WRb5xq5+y9ObYTusA0keXk= + dependencies: + busboy "^0.3.1" + express@^4.16.3, express@^4.17.0, express@^4.17.1: version "4.17.1" resolved "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" @@ -7777,6 +9384,13 @@ express@^4.16.3, express@^4.17.0, express@^4.17.1: utils-merge "1.0.1" vary "~1.1.2" +ext@^1.1.2: + version "1.4.0" + resolved "https://registry.npm.taobao.org/ext/download/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" + integrity sha1-ia56BxWPedNVF4gpBDJAd+Q3kkQ= + dependencies: + type "^2.0.0" + extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -7895,7 +9509,7 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= -fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= @@ -7947,7 +9561,7 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" -figgy-pudding@^3.5.1: +figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" integrity sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4= @@ -7967,7 +9581,7 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -figures@^3.0.0: +figures@^3.0.0, figures@^3.2.0: version "3.2.0" resolved "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz?cache=0&sync_timestamp=1600349107095&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffigures%2Fdownload%2Ffigures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8= @@ -8016,6 +9630,11 @@ file-uri-to-path@1.0.0: resolved "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90= +file-uri-to-path@2: + version "2.0.0" + resolved "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba" + integrity sha1-e0Fa66In1XWFHgpbDGQNdlZAP7o= + file-url@^2.0.0: version "2.0.2" resolved "https://registry.npm.taobao.org/file-url/download/file-url-2.0.2.tgz#e951784d79095127d3713029ab063f40818ca2ae" @@ -8115,6 +9734,14 @@ find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" +find-up@5.0.0, find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw= + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -8130,14 +9757,6 @@ find-up@^2.0.0: dependencies: locate-path "^2.0.0" -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npm.taobao.org/find-up/download/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw= - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - find-versions@^3.2.0: version "3.2.0" resolved "https://registry.npm.taobao.org/find-versions/download/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e" @@ -8161,6 +9780,11 @@ flat@^4.1.0: dependencies: is-buffer "~2.0.3" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.npm.taobao.org/flat/download/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha1-jKb+MyBp/6nTJMMnGYxZglnOskE= + flatted@^2.0.0: version "2.0.2" resolved "https://registry.npm.taobao.org/flatted/download/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" @@ -8348,6 +9972,13 @@ fs-extra@^9.0.0, fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^1.0.0" +fs-minipass@^1.2.5: + version "1.2.7" + resolved "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" + integrity sha1-zP+FcIQef+QmVpPaiJNsVa7X98c= + dependencies: + minipass "^2.6.0" + fs-minipass@^2.0.0: version "2.1.0" resolved "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -8393,6 +10024,14 @@ fsevents@~2.1.2: resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz?cache=0&sync_timestamp=1604409268160&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4= +ftp@^0.3.10: + version "0.3.10" + resolved "https://registry.npm.taobao.org/ftp/download/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d" + integrity sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0= + dependencies: + readable-stream "1.1.x" + xregexp "2.0.0" + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -8443,6 +10082,11 @@ generic-names@^2.0.1: dependencies: loader-utils "^1.1.0" +genfun@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/genfun/download/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537" + integrity sha1-ndlxCgaQClxKW/V6yl2k5S/nZTc= + gensync@^1.0.0-beta.1: version "1.0.0-beta.2" resolved "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.2.tgz?cache=0&sync_timestamp=1603830155677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgensync%2Fdownload%2Fgensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -8493,6 +10137,11 @@ get-pkg-repo@^1.0.0: parse-github-repo-url "^1.3.0" through2 "^2.0.0" +get-port@^4.2.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/get-port/download/get-port-4.2.0.tgz#e37368b1e863b7629c43c5a323625f95cf24b119" + integrity sha1-43Nosehjt2KcQ8WjI2Jflc8ksRk= + get-port@^5.1.1: version "5.1.1" resolved "https://registry.npm.taobao.org/get-port/download/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" @@ -8532,6 +10181,18 @@ get-stream@^5.0.0, get-stream@^5.1.0: dependencies: pump "^3.0.0" +get-uri@3: + version "3.0.2" + resolved "https://registry.npm.taobao.org/get-uri/download/get-uri-3.0.2.tgz#f0ef1356faabc70e1f9404fa3b66b2ba9bfc725c" + integrity sha1-8O8TVvqrxw4flAT6O2ayupv8clw= + dependencies: + "@tootallnate/once" "1" + data-uri-to-buffer "3" + debug "4" + file-uri-to-path "2" + fs-extra "^8.1.0" + ftp "^0.3.10" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -8574,6 +10235,14 @@ git-remote-origin-url@^2.0.0: gitconfiglocal "^1.0.0" pify "^2.3.0" +git-semver-tags@^2.0.3: + version "2.0.3" + resolved "https://registry.npm.taobao.org/git-semver-tags/download/git-semver-tags-2.0.3.tgz?cache=0&sync_timestamp=1604539581477&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgit-semver-tags%2Fdownload%2Fgit-semver-tags-2.0.3.tgz#48988a718acf593800f99622a952a77c405bfa34" + integrity sha1-SJiKcYrPWTgA+ZYiqVKnfEBb+jQ= + dependencies: + meow "^4.0.0" + semver "^6.0.0" + git-semver-tags@^4.1.1: version "4.1.1" resolved "https://registry.npm.taobao.org/git-semver-tags/download/git-semver-tags-4.1.1.tgz?cache=0&sync_timestamp=1604539606860&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgit-semver-tags%2Fdownload%2Fgit-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" @@ -8582,6 +10251,21 @@ git-semver-tags@^4.1.1: meow "^8.0.0" semver "^6.0.0" +git-up@^4.0.0: + version "4.0.2" + resolved "https://registry.npm.taobao.org/git-up/download/git-up-4.0.2.tgz#10c3d731051b366dc19d3df454bfca3f77913a7c" + integrity sha1-EMPXMQUbNm3BnT30VL/KP3eROnw= + dependencies: + is-ssh "^1.3.0" + parse-url "^5.0.0" + +git-url-parse@^11.1.2: + version "11.4.0" + resolved "https://registry.npm.taobao.org/git-url-parse/download/git-url-parse-11.4.0.tgz#f2bb1f2b00f05552540e95a62e31399a639a6aa6" + integrity sha1-8rsfKwDwVVJUDpWmLjE5mmOaaqY= + dependencies: + git-up "^4.0.0" + gitconfiglocal@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/gitconfiglocal/download/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" @@ -8657,7 +10341,7 @@ glob@7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@7.1.6, glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.6" resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY= @@ -8971,7 +10655,7 @@ has-symbols@^1.0.0, has-symbols@^1.0.1: resolved "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg= -has-unicode@^2.0.0: +has-unicode@^2.0.0, has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= @@ -9173,7 +10857,7 @@ hoopy@^0.1.4: resolved "https://registry.npm.taobao.org/hoopy/download/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" integrity sha1-YJIH1mEQADOpqUAq096mdzgcGx0= -hosted-git-info@^2.1.4: +hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: version "2.8.8" resolved "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" integrity sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg= @@ -9303,6 +10987,21 @@ htmlparser2@^3.10.0, htmlparser2@^3.3.0: inherits "^2.0.1" readable-stream "^3.1.1" +htmlparser2@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-4.1.0.tgz#9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78" + integrity sha1-mk7xYfLkYl6/ffvmwKL1LRilnng= + dependencies: + domelementtype "^2.0.1" + domhandler "^3.0.0" + domutils "^2.0.0" + entities "^2.0.0" + +http-cache-semantics@^3.8.1: + version "3.8.1" + resolved "https://registry.npm.taobao.org/http-cache-semantics/download/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" + integrity sha1-ObDhat2bYFvwqe89nar0hDtMrNI= + http-cache-semantics@^4.0.0: version "4.1.0" resolved "https://registry.npm.taobao.org/http-cache-semantics/download/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" @@ -9324,17 +11023,7 @@ http-errors@1.7.2: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-errors@~1.7.2: +http-errors@1.7.3, http-errors@~1.7.2: version "1.7.3" resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" integrity sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY= @@ -9345,11 +11034,38 @@ http-errors@~1.7.2: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + http-parser-js@>=0.5.1: version "0.5.2" resolved "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77" integrity sha1-2i4x0jezk6rnKs5DiC3X4nCo/3c= +http-proxy-agent@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/http-proxy-agent/download/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" + integrity sha1-5IIb7vWyFCogJr1zkm/lN2McVAU= + dependencies: + agent-base "4" + debug "3.1.0" + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/http-proxy-agent/download/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha1-ioyO9/WTLM+VPClsqCkblap0qjo= + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + http-proxy-middleware@0.19.1: version "0.19.1" resolved "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" @@ -9402,6 +11118,22 @@ https-browserify@^1.0.0: resolved "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= +https-proxy-agent@5: + version "5.0.0" + resolved "https://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha1-4qkFQqu2inYuCghQ9sntrf2FBrI= + dependencies: + agent-base "6" + debug "4" + +https-proxy-agent@^2.2.3: + version "2.2.4" + resolved "https://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" + integrity sha1-TuenN6vZJniik9mzShr00NCMeHs= + dependencies: + agent-base "^4.3.0" + debug "^3.1.0" + https-proxy-agent@^4.0.0: version "4.0.0" resolved "https://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" @@ -9415,6 +11147,29 @@ human-signals@^1.1.1: resolved "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha1-xbHNFPUK6uCatsWf5jujOV/k36M= +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.npm.taobao.org/humanize-ms/download/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= + dependencies: + ms "^2.0.0" + +husky@4.2.5: + version "4.2.5" + resolved "https://registry.npm.taobao.org/husky/download/husky-4.2.5.tgz?cache=0&sync_timestamp=1606817503997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhusky%2Fdownload%2Fhusky-4.2.5.tgz#2b4f7622673a71579f901d9885ed448394b5fa36" + integrity sha1-K092Imc6cVefkB2Yhe1Eg5S1+jY= + dependencies: + chalk "^4.0.0" + ci-info "^2.0.0" + compare-versions "^3.6.0" + cosmiconfig "^6.0.0" + find-versions "^3.2.0" + opencollective-postinstall "^2.0.2" + pkg-dir "^4.2.0" + please-upgrade-node "^3.2.0" + slash "^3.0.0" + which-pm-runs "^1.0.0" + husky@^4.3.0: version "4.3.0" resolved "https://registry.npm.taobao.org/husky/download/husky-4.3.0.tgz#0b2ec1d66424e9219d359e26a51c58ec5278f0de" @@ -9478,6 +11233,13 @@ iferr@^0.1.5: resolved "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= +ignore-walk@^3.0.1: + version "3.0.3" + resolved "https://registry.npm.taobao.org/ignore-walk/download/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" + integrity sha1-AX4kRxhL/q3nwjjkrv3R6PlbHjc= + dependencies: + minimatch "^3.0.4" + ignore@^3.3.5: version "3.3.10" resolved "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" @@ -9583,6 +11345,11 @@ indexes-of@^1.0.1: resolved "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= + infer-owner@^1.0.3, infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" @@ -9616,6 +11383,20 @@ ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: resolved "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc= +init-package-json@^1.10.3: + version "1.10.3" + resolved "https://registry.npm.taobao.org/init-package-json/download/init-package-json-1.10.3.tgz?cache=0&sync_timestamp=1602878803777&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finit-package-json%2Fdownload%2Finit-package-json-1.10.3.tgz#45ffe2f610a8ca134f2bd1db5637b235070f6cbe" + integrity sha1-Rf/i9hCoyhNPK9HbVjeyNQcPbL4= + dependencies: + glob "^7.1.1" + npm-package-arg "^4.0.0 || ^5.0.0 || ^6.0.0" + promzard "^0.3.0" + read "~1.0.1" + read-package-json "1 || 2" + semver "2.x || 3.x || 4 || 5" + validate-npm-package-license "^3.0.1" + validate-npm-package-name "^3.0.0" + inline-style-parser@0.1.1: version "0.1.1" resolved "https://registry.npm.taobao.org/inline-style-parser/download/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" @@ -9640,6 +11421,25 @@ inquirer@7.0.4: strip-ansi "^5.1.0" through "^2.3.6" +inquirer@^6.2.0: + version "6.5.2" + resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" + integrity sha1-rVCUI3XQNtMn/1KMCL1fqwiZKMo= + dependencies: + ansi-escapes "^3.2.0" + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^2.0.0" + lodash "^4.17.12" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^2.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + inquirer@^7.0.0, inquirer@^7.1.0: version "7.3.3" resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" @@ -9659,6 +11459,13 @@ inquirer@^7.0.0, inquirer@^7.1.0: strip-ansi "^6.0.0" through "^2.3.6" +intelli-espower-loader@1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/intelli-espower-loader/download/intelli-espower-loader-1.0.1.tgz#2c7b03146bc1d46bf210d0a0397c5c91ab4ca2b0" + integrity sha1-LHsDFGvB1GvyENCgOXxckatMorA= + dependencies: + espower-loader "^1.0.0" + internal-ip@^4.3.0: version "4.3.0" resolved "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" @@ -9708,7 +11515,7 @@ ip-regex@^2.1.0: resolved "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz?cache=0&sync_timestamp=1601334312409&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fip-regex%2Fdownload%2Fip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= -ip@^1.1.0, ip@^1.1.5: +ip@1.1.5, ip@^1.1.0, ip@^1.1.5: version "1.1.5" resolved "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= @@ -10020,7 +11827,7 @@ is-number@^7.0.0: resolved "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= -is-obj@^1.0.1: +is-obj@^1.0.0, is-obj@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= @@ -10090,7 +11897,7 @@ is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: resolved "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= -is-plain-obj@^2.0.0: +is-plain-obj@^2.0.0, is-plain-obj@^2.1.0: version "2.1.0" resolved "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha1-ReQuN/zPH0Dajl927iFRWEDAkoc= @@ -10107,6 +11914,11 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-5.0.0.tgz?cache=0&sync_timestamp=1600349132080&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-object%2Fdownload%2Fis-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha1-RCf1CrNCnpAl6n1S6QQ6nvQVk0Q= + is-promise@^2.0.0, is-promise@^2.1.0: version "2.2.2" resolved "https://registry.npm.taobao.org/is-promise/download/is-promise-2.2.2.tgz?cache=0&sync_timestamp=1600349070795&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-promise%2Fdownload%2Fis-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" @@ -10144,6 +11956,13 @@ is-set@^2.0.1: resolved "https://registry.npm.taobao.org/is-set/download/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43" integrity sha1-0WBK/asXJJhtMAkVdfVJRdp+X0M= +is-ssh@^1.3.0: + version "1.3.2" + resolved "https://registry.npm.taobao.org/is-ssh/download/is-ssh-1.3.2.tgz#a4b82ab63d73976fd8263cceee27f99a88bdae2b" + integrity sha1-pLgqtj1zl2/YJjzO7if5moi9ris= + dependencies: + protocols "^1.1.0" + is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -10185,6 +12004,11 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0: resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-url@^1.2.1: + version "1.2.4" + resolved "https://registry.npm.taobao.org/is-url/download/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" + integrity sha1-BKTfRtKMTP89c9Af8Gq+sxihqlI= + is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" @@ -10200,7 +12024,7 @@ is-window@^1.0.2: resolved "https://registry.npm.taobao.org/is-window/download/is-window-1.0.2.tgz#2c896ca53db97de45d3c33133a65d8c9f563480d" integrity sha1-LIlspT25feRdPDMTOmXYyfVjSA0= -is-windows@^1.0.2: +is-windows@^1.0.0, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= @@ -10227,6 +12051,11 @@ is-yarn-global@^0.3.0: resolved "https://registry.npm.taobao.org/is-yarn-global/download/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" integrity sha1-1QLTOCWQ6jAEiTdGdUyJE5lz4jI= +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -10442,7 +12271,7 @@ js-yaml@3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^3.13.1, js-yaml@^3.14.0: +js-yaml@3.14.0, js-yaml@^3.13.1, js-yaml@^3.14.0: version "3.14.0" resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" integrity sha1-p6NBcPJqIbsWJCTYray0ETpp5II= @@ -10536,7 +12365,7 @@ json-buffer@3.0.1: resolved "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha1-kziAKjDTtmBfvgYT4JQAjKjAWhM= -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= @@ -10765,6 +12594,30 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" +lerna@^3.22.1: + version "3.22.1" + resolved "https://registry.npm.taobao.org/lerna/download/lerna-3.22.1.tgz#82027ac3da9c627fd8bf02ccfeff806a98e65b62" + integrity sha1-ggJ6w9qcYn/YvwLM/v+AapjmW2I= + dependencies: + "@lerna/add" "3.21.0" + "@lerna/bootstrap" "3.21.0" + "@lerna/changed" "3.21.0" + "@lerna/clean" "3.21.0" + "@lerna/cli" "3.18.5" + "@lerna/create" "3.22.0" + "@lerna/diff" "3.21.0" + "@lerna/exec" "3.21.0" + "@lerna/import" "3.22.0" + "@lerna/info" "3.21.0" + "@lerna/init" "3.21.0" + "@lerna/link" "3.21.0" + "@lerna/list" "3.21.0" + "@lerna/publish" "3.22.1" + "@lerna/run" "3.21.0" + "@lerna/version" "3.22.1" + import-local "^2.0.0" + npmlog "^4.1.2" + less-loader@^5.0.0: version "5.0.0" resolved "https://registry.npm.taobao.org/less-loader/download/less-loader-5.0.0.tgz#498dde3a6c6c4f887458ee9ed3f086a12ad1b466" @@ -10802,6 +12655,14 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npm.taobao.org/levn/download/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha1-rkViwAdHO5MqYgDUAyaN0v/8at4= + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + lie@~3.3.0: version "3.3.0" resolved "https://registry.npm.taobao.org/lie/download/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" @@ -10822,6 +12683,27 @@ lines-and-columns@^1.1.6: resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= +lint-staged@10.4.0: + version "10.4.0" + resolved "https://registry.npm.taobao.org/lint-staged/download/lint-staged-10.4.0.tgz?cache=0&sync_timestamp=1606192268839&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flint-staged%2Fdownload%2Flint-staged-10.4.0.tgz#d18628f737328e0bbbf87d183f4020930e9a984e" + integrity sha1-0YYo9zcyjgu7+H0YP0Agkw6amE4= + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + commander "^6.0.0" + cosmiconfig "^7.0.0" + debug "^4.1.1" + dedent "^0.7.0" + enquirer "^2.3.6" + execa "^4.0.3" + listr2 "^2.6.0" + log-symbols "^4.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.2.0" + string-argv "0.3.1" + stringify-object "^3.3.0" + lint-staged@^9.5.0: version "9.5.0" resolved "https://registry.npm.taobao.org/lint-staged/download/lint-staged-9.5.0.tgz#290ec605252af646d9b74d73a0fa118362b05a33" @@ -10871,6 +12753,20 @@ listr-verbose-renderer@^0.5.0: date-fns "^1.27.2" figures "^2.0.0" +listr2@^2.6.0: + version "2.6.2" + resolved "https://registry.npm.taobao.org/listr2/download/listr2-2.6.2.tgz?cache=0&sync_timestamp=1606415208821&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flistr2%2Fdownload%2Flistr2-2.6.2.tgz#4912eb01e1e2dd72ec37f3895a56bf2622d6f36a" + integrity sha1-SRLrAeHi3XLsN/OJWla/JiLW82o= + dependencies: + chalk "^4.1.0" + cli-truncate "^2.1.0" + figures "^3.2.0" + indent-string "^4.0.0" + log-update "^4.0.0" + p-map "^4.0.0" + rxjs "^6.6.2" + through "^2.3.8" + listr@^0.14.3: version "0.14.3" resolved "https://registry.npm.taobao.org/listr/download/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" @@ -10921,6 +12817,17 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" +load-json-file@^5.3.0: + version "5.3.0" + resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-5.3.0.tgz#4d3c1e01fa1c03ea78a60ac7af932c9ce53403f3" + integrity sha1-TTweAfocA+p4pgrHr5MsnOU0A/M= + dependencies: + graceful-fs "^4.1.15" + parse-json "^4.0.0" + pify "^4.0.1" + strip-bom "^3.0.0" + type-fest "^0.3.0" + loader-fs-cache@^1.0.0: version "1.0.3" resolved "https://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9" @@ -11041,6 +12948,11 @@ lodash.flatten@^4.4.0: resolved "https://registry.npm.taobao.org/lodash.flatten/download/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.npm.taobao.org/lodash.get/download/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + lodash.ismatch@^4.4.0: version "4.4.0" resolved "https://registry.npm.taobao.org/lodash.ismatch/download/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" @@ -11076,12 +12988,17 @@ lodash.merge@^4.6.1: resolved "https://registry.npm.taobao.org/lodash.merge/download/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo= +lodash.set@^4.3.2: + version "4.3.2" + resolved "https://registry.npm.taobao.org/lodash.set/download/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" + integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= + lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.npm.taobao.org/lodash.sortby/download/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash.template@^4.0.2: +lodash.template@^4.0.2, lodash.template@^4.5.0: version "4.5.0" resolved "https://registry.npm.taobao.org/lodash.template/download/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" integrity sha1-+XYZXPPzR9DV9SSDVp/oAxzM6Ks= @@ -11121,7 +13038,7 @@ lodash.zip@^4.2.0: resolved "https://registry.npm.taobao.org/lodash.zip/download/lodash.zip-4.2.0.tgz#ec6662e4896408ed4ab6c542a3990b72cc080020" integrity sha1-7GZi5IlkCO1KtsVCo5kLcswIACA= -lodash@^4.0.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.3: +lodash@^4.0.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.3, lodash@^4.2.1: version "4.17.20" resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI= @@ -11133,6 +13050,13 @@ log-symbols@2.2.0, log-symbols@^2.2.0: dependencies: chalk "^2.0.1" +log-symbols@4.0.0, log-symbols@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/log-symbols/download/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha1-abPMRtIPRI7M23XqH6cz2eghySA= + dependencies: + chalk "^4.0.0" + log-symbols@^1.0.2: version "1.0.2" resolved "https://registry.npm.taobao.org/log-symbols/download/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" @@ -11147,13 +13071,6 @@ log-symbols@^3.0.0: dependencies: chalk "^2.4.2" -log-symbols@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/log-symbols/download/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha1-abPMRtIPRI7M23XqH6cz2eghySA= - dependencies: - chalk "^4.0.0" - log-update@^2.3.0: version "2.3.0" resolved "https://registry.npm.taobao.org/log-update/download/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" @@ -11163,6 +13080,16 @@ log-update@^2.3.0: cli-cursor "^2.0.0" wrap-ansi "^3.0.1" +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/log-update/download/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha1-WJ7NNSRx8qHAxXAodUOmTf0g4KE= + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + loglevel-plugin-prefix@^0.8.4: version "0.8.4" resolved "https://registry.npm.taobao.org/loglevel-plugin-prefix/download/loglevel-plugin-prefix-0.8.4.tgz#2fe0e05f1a820317d98d8c123e634c1bd84ff644" @@ -11245,6 +13172,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +macos-release@^2.2.0: + version "2.4.1" + resolved "https://registry.npm.taobao.org/macos-release/download/macos-release-2.4.1.tgz#64033d0ec6a5e6375155a74b1a1eba8e509820ac" + integrity sha1-ZAM9Dsal5jdRVadLGh66jlCYIKw= + magic-string@^0.25.7: version "0.25.7" resolved "https://registry.npm.taobao.org/magic-string/download/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" @@ -11252,6 +13184,13 @@ magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.4" +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha1-ecEDO4BRW9bSTsmTPoYMp17ifww= + dependencies: + pify "^3.0.0" + make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -11267,6 +13206,23 @@ make-dir@^3.0.0, make-dir@^3.0.2: dependencies: semver "^6.0.0" +make-fetch-happen@^5.0.0: + version "5.0.2" + resolved "https://registry.npm.taobao.org/make-fetch-happen/download/make-fetch-happen-5.0.2.tgz?cache=0&sync_timestamp=1602184632226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-fetch-happen%2Fdownload%2Fmake-fetch-happen-5.0.2.tgz#aa8387104f2687edca01c8687ee45013d02d19bd" + integrity sha1-qoOHEE8mh+3KAchofuRQE9AtGb0= + dependencies: + agentkeepalive "^3.4.1" + cacache "^12.0.0" + http-cache-semantics "^3.8.1" + http-proxy-agent "^2.1.0" + https-proxy-agent "^2.2.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + node-fetch-npm "^2.0.2" + promise-retry "^1.1.1" + socks-proxy-agent "^4.0.0" + ssri "^6.0.0" + makeerror@1.0.x: version "1.0.11" resolved "https://registry.npm.taobao.org/makeerror/download/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -11533,6 +13489,13 @@ merge-descriptors@1.0.1: resolved "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= +merge-estraverse-visitors@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/merge-estraverse-visitors/download/merge-estraverse-visitors-1.0.0.tgz#eb968338b5ded5ceed82cec0307decba2d8ea994" + integrity sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ= + dependencies: + estraverse "^4.0.0" + merge-source-map@^1.1.0: version "1.1.0" resolved "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" @@ -11674,7 +13637,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= @@ -11724,6 +13687,14 @@ minipass-pipeline@^1.2.2: dependencies: minipass "^3.0.0" +minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.npm.taobao.org/minipass/download/minipass-2.9.0.tgz?cache=0&sync_timestamp=1600349143244&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminipass%2Fdownload%2Fminipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha1-5xN2Ln0+Mv7YAxFc+T4EvKn8yaY= + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + minipass@^3.0.0, minipass@^3.1.1: version "3.1.3" resolved "https://registry.npm.taobao.org/minipass/download/minipass-3.1.3.tgz?cache=0&sync_timestamp=1600349143244&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminipass%2Fdownload%2Fminipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" @@ -11731,6 +13702,13 @@ minipass@^3.0.0, minipass@^3.1.1: dependencies: yallist "^4.0.0" +minizlib@^1.2.1: + version "1.3.3" + resolved "https://registry.npm.taobao.org/minizlib/download/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha1-IpDeloGKNMKVUcio0wEha9Zahh0= + dependencies: + minipass "^2.9.0" + minizlib@^2.1.1: version "2.1.2" resolved "https://registry.npm.taobao.org/minizlib/download/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" @@ -11768,6 +13746,18 @@ mkdirp-classic@^0.5.2: resolved "https://registry.npm.taobao.org/mkdirp-classic/download/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha1-+hDJEVzG2IZb4iG6R+6b7XhgERM= +mkdirp-promise@^5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/mkdirp-promise/download/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" + integrity sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE= + dependencies: + mkdirp "*" + +mkdirp@*, mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-1.0.4.tgz?cache=0&sync_timestamp=1600349118431&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha1-PrXtYmInVteaXw4qIh3+utdcL34= + mkdirp@0.5.4: version "0.5.4" resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.4.tgz?cache=0&sync_timestamp=1600349118431&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.4.tgz#fd01504a6797ec5c9be81ff43d204961ed64a512" @@ -11775,17 +13765,43 @@ mkdirp@0.5.4: dependencies: minimist "^1.2.5" -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.5, mkdirp@~0.5.1: +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.5, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1600349118431&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= dependencies: minimist "^1.2.5" -mkdirp@^1.0.3, mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-1.0.4.tgz?cache=0&sync_timestamp=1600349118431&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha1-PrXtYmInVteaXw4qIh3+utdcL34= +mocha@8.2.0: + version "8.2.0" + resolved "https://registry.npm.taobao.org/mocha/download/mocha-8.2.0.tgz?cache=0&sync_timestamp=1604356240866&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmocha%2Fdownload%2Fmocha-8.2.0.tgz#f8aa79110b4b5a6580c65d4dd8083c425282624e" + integrity sha1-+Kp5EQtLWmWAxl1N2Ag8QlKCYk4= + dependencies: + "@ungap/promise-all-settled" "1.1.2" + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.4.3" + debug "4.2.0" + diff "4.0.2" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.1.6" + growl "1.10.5" + he "1.2.0" + js-yaml "3.14.0" + log-symbols "4.0.0" + minimatch "3.0.4" + ms "2.1.2" + nanoid "3.1.12" + serialize-javascript "5.0.1" + strip-json-comments "3.1.1" + supports-color "7.2.0" + which "2.0.2" + wide-align "1.1.3" + workerpool "6.0.2" + yargs "13.3.2" + yargs-parser "13.1.2" + yargs-unparser "2.0.0" mocha@^6.2.2: version "6.2.3" @@ -11876,11 +13892,18 @@ ms@2.1.1: resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" integrity sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo= -ms@2.1.2, ms@^2.1.1: +ms@2.1.2, ms@^2.0.0, ms@^2.1.1: version "2.1.2" resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= +multi-stage-sourcemap@^0.2.1: + version "0.2.1" + resolved "https://registry.npm.taobao.org/multi-stage-sourcemap/download/multi-stage-sourcemap-0.2.1.tgz#b09fc8586eaa17f81d575c4ad02e0f7a3f6b1105" + integrity sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU= + dependencies: + source-map "^0.1.34" + multicast-dns-service-types@^1.1.0: version "1.1.0" resolved "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" @@ -11894,12 +13917,27 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" -mute-stream@0.0.8: +multimatch@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/multimatch/download/multimatch-3.0.0.tgz?cache=0&sync_timestamp=1602519380282&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmultimatch%2Fdownload%2Fmultimatch-3.0.0.tgz#0e2534cc6bc238d9ab67e1b9cd5fcd85a6dbf70b" + integrity sha1-DiU0zGvCONmrZ+G5zV/Nhabb9ws= + dependencies: + array-differ "^2.0.3" + array-union "^1.0.2" + arrify "^1.0.1" + minimatch "^3.0.4" + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= + +mute-stream@0.0.8, mute-stream@~0.0.4: version "0.0.8" resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0= -mz@^2.4.0: +mz@^2.4.0, mz@^2.5.0: version "2.7.0" resolved "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" integrity sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI= @@ -11913,6 +13951,11 @@ nan@^2.12.1: resolved "https://registry.npm.taobao.org/nan/download/nan-2.14.2.tgz?cache=0&sync_timestamp=1602591931869&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha1-9TdkAGlRaPTMaUrJOT0MlYXu6hk= +nanoid@3.1.12: + version "3.1.12" + resolved "https://registry.npm.taobao.org/nanoid/download/nanoid-3.1.12.tgz?cache=0&sync_timestamp=1606833976706&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnanoid%2Fdownload%2Fnanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654" + integrity sha1-b3c2xi6NOUIWAeSgx3YjqX6mllQ= + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -11955,6 +13998,16 @@ neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: resolved "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha1-tKr7k+OustgXTKU88WOrfXMIMF8= +netmask@^1.0.6: + version "1.0.6" + resolved "https://registry.npm.taobao.org/netmask/download/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35" + integrity sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU= + +next-tick@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + nice-try@^1.0.4: version "1.0.5" resolved "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" @@ -11997,7 +14050,16 @@ node-environment-flags@1.0.5: object.getownpropertydescriptors "^2.0.3" semver "^5.7.0" -node-fetch@^2.6.0, node-fetch@^2.6.1: +node-fetch-npm@^2.0.2: + version "2.0.4" + resolved "https://registry.npm.taobao.org/node-fetch-npm/download/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4" + integrity sha1-ZQfQ4XqewL477FFpWKSXzsVL9aQ= + dependencies: + encoding "^0.1.11" + json-parse-better-errors "^1.0.0" + safe-buffer "^5.1.1" + +node-fetch@^2.5.0, node-fetch@^2.6.0, node-fetch@^2.6.1: version "2.6.1" resolved "https://registry.npm.taobao.org/node-fetch/download/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha1-BFvTI2Mfdu0uK1VXM5RBa2OaAFI= @@ -12007,6 +14069,23 @@ node-forge@^0.10.0: resolved "https://registry.npm.taobao.org/node-forge/download/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" integrity sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M= +node-gyp@^5.0.2: + version "5.1.1" + resolved "https://registry.npm.taobao.org/node-gyp/download/node-gyp-5.1.1.tgz?cache=0&sync_timestamp=1602898478735&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-gyp%2Fdownload%2Fnode-gyp-5.1.1.tgz#eb915f7b631c937d282e33aed44cb7a025f62a3e" + integrity sha1-65Ffe2Mck30oLjOu1Ey3oCX2Kj4= + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.2" + mkdirp "^0.5.1" + nopt "^4.0.1" + npmlog "^4.1.2" + request "^2.88.0" + rimraf "^2.6.3" + semver "^5.7.1" + tar "^4.4.12" + which "^1.3.1" + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.npm.taobao.org/node-int64/download/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -12065,7 +14144,15 @@ nodent-runtime@^3.2.1: resolved "https://registry.npm.taobao.org/nodent-runtime/download/nodent-runtime-3.2.1.tgz#9e2755d85e39f764288f0d4752ebcfe3e541e00e" integrity sha1-nidV2F4592Qojw1HUuvP4+VB4A4= -normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: +nopt@^4.0.1: + version "4.0.3" + resolved "https://registry.npm.taobao.org/nopt/download/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" + integrity sha1-o3XK2dAv2SEnjZVMIlTVqlfhXkg= + dependencies: + abbrev "1" + osenv "^0.1.4" + +normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz?cache=0&sync_timestamp=1602547447569&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= @@ -12122,7 +14209,7 @@ normalize-url@1.9.1: query-string "^4.1.0" sort-keys "^1.0.0" -normalize-url@^3.0.0: +normalize-url@^3.0.0, normalize-url@^3.3.0: version "3.3.0" resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz?cache=0&sync_timestamp=1602432435724&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" integrity sha1-suHE3E98bVd0PfczpPWXjRhlBVk= @@ -12132,6 +14219,13 @@ normalize-url@^4.1.0: resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-4.5.0.tgz?cache=0&sync_timestamp=1602432435724&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" integrity sha1-RTNUCH5sqWlXvY9br3U/WYIUISk= +npm-bundled@^1.0.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/npm-bundled/download/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" + integrity sha1-Ht1XCGWpTNsbyCIHdeKUZsn7I0s= + dependencies: + npm-normalize-package-bin "^1.0.1" + npm-conf@^1.1.3: version "1.1.3" resolved "https://registry.npm.taobao.org/npm-conf/download/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" @@ -12140,6 +14234,53 @@ npm-conf@^1.1.3: config-chain "^1.1.11" pify "^3.0.0" +npm-lifecycle@^3.1.2: + version "3.1.5" + resolved "https://registry.npm.taobao.org/npm-lifecycle/download/npm-lifecycle-3.1.5.tgz#9882d3642b8c82c815782a12e6a1bfeed0026309" + integrity sha1-mILTZCuMgsgVeCoS5qG/7tACYwk= + dependencies: + byline "^5.0.0" + graceful-fs "^4.1.15" + node-gyp "^5.0.2" + resolve-from "^4.0.0" + slide "^1.1.6" + uid-number "0.0.6" + umask "^1.1.0" + which "^1.3.1" + +npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/npm-normalize-package-bin/download/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" + integrity sha1-bnmkHyP9I1wGIyGCKNp9nCO49uI= + +"npm-package-arg@^4.0.0 || ^5.0.0 || ^6.0.0", npm-package-arg@^6.0.0, npm-package-arg@^6.1.0: + version "6.1.1" + resolved "https://registry.npm.taobao.org/npm-package-arg/download/npm-package-arg-6.1.1.tgz?cache=0&sync_timestamp=1602550045019&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnpm-package-arg%2Fdownload%2Fnpm-package-arg-6.1.1.tgz#02168cb0a49a2b75bf988a28698de7b529df5cb7" + integrity sha1-AhaMsKSaK3W/mIooaY3ntSnfXLc= + dependencies: + hosted-git-info "^2.7.1" + osenv "^0.1.5" + semver "^5.6.0" + validate-npm-package-name "^3.0.0" + +npm-packlist@^1.4.4: + version "1.4.8" + resolved "https://registry.npm.taobao.org/npm-packlist/download/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" + integrity sha1-Vu5swTW5+YrT1Rwcldoiu7my7z4= + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + npm-normalize-package-bin "^1.0.1" + +npm-pick-manifest@^3.0.0: + version "3.0.2" + resolved "https://registry.npm.taobao.org/npm-pick-manifest/download/npm-pick-manifest-3.0.2.tgz#f4d9e5fd4be2153e5f4e5f9b7be8dc419a99abb7" + integrity sha1-9Nnl/UviFT5fTl+be+jcQZqZq7c= + dependencies: + figgy-pudding "^3.5.1" + npm-package-arg "^6.0.0" + semver "^5.4.1" + npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -12230,7 +14371,7 @@ object-is@^1.0.1: define-properties "^1.1.3" es-abstract "^1.18.0-next.1" -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: +object-keys@^1.0.0, object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= @@ -12311,6 +14452,11 @@ obuf@^1.0.0, obuf@^1.1.2: resolved "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4= +octokit-pagination-methods@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/octokit-pagination-methods/download/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4" + integrity sha1-z0cu3J1VEFX573P25CtNu0yAvqQ= + omggif@^1.0.9: version "1.0.10" resolved "https://registry.npm.taobao.org/omggif/download/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19" @@ -12398,6 +14544,18 @@ optionator@^0.8.1, optionator@^0.8.3: type-check "~0.3.2" word-wrap "~1.2.3" +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.npm.taobao.org/optionator/download/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk= + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + ora@^3.4.0: version "3.4.0" resolved "https://registry.npm.taobao.org/ora/download/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" @@ -12422,6 +14580,11 @@ os-browserify@^0.3.0: resolved "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + os-locale@^1.4.0: version "1.4.0" resolved "https://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" @@ -12429,11 +14592,27 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" -os-tmpdir@~1.0.2: +os-name@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/os-name/download/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" + integrity sha1-3sGdlmKW4c1i1wGlpm7h3ernCAE= + dependencies: + macos-release "^2.2.0" + windows-release "^3.1.0" + +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= +osenv@^0.1.4, osenv@^0.1.5: + version "0.1.5" + resolved "https://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha1-hc36+uso6Gd/QW4odZK18/SepBA= + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + overlayscrollbars@^1.10.2: version "1.13.0" resolved "https://registry.npm.taobao.org/overlayscrollbars/download/overlayscrollbars-1.13.0.tgz#1edb436328133b94877b558f77966d5497ca36a7" @@ -12508,12 +14687,19 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" +p-map-series@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-map-series/download/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca" + integrity sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco= + dependencies: + p-reduce "^1.0.0" + p-map@^1.1.1: version "1.2.0" resolved "https://registry.npm.taobao.org/p-map/download/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" integrity sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s= -p-map@^2.0.0: +p-map@^2.0.0, p-map@^2.1.0: version "2.1.0" resolved "https://registry.npm.taobao.org/p-map/download/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha1-MQko/u+cnsxltosXaTAYpmXOoXU= @@ -12527,10 +14713,27 @@ p-map@^3.0.0: p-map@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/p-map/download/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha1-uy+Vpe2i7BaOySdOBqdHw+KQTSs= + resolved "https://registry.npm.taobao.org/p-map/download/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha1-uy+Vpe2i7BaOySdOBqdHw+KQTSs= + dependencies: + aggregate-error "^3.0.0" + +p-pipe@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/p-pipe/download/p-pipe-1.2.0.tgz#4b1a11399a11520a67790ee5a0c1d5881d6befe9" + integrity sha1-SxoROZoRUgpneQ7loMHViB1r7+k= + +p-queue@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/p-queue/download/p-queue-4.0.0.tgz#ed0eee8798927ed6f2c2f5f5b77fdb2061a5d346" + integrity sha1-7Q7uh5iSftbywvX1t3/bIGGl00Y= dependencies: - aggregate-error "^3.0.0" + eventemitter3 "^3.1.0" + +p-reduce@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-reduce/download/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= p-retry@^3.0.1: version "3.0.1" @@ -12549,6 +14752,37 @@ p-try@^2.0.0: resolved "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= +p-waterfall@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-waterfall/download/p-waterfall-1.0.0.tgz#7ed94b3ceb3332782353af6aae11aa9fc235bb00" + integrity sha1-ftlLPOszMngjU69qrhGqn8I1uwA= + dependencies: + p-reduce "^1.0.0" + +pac-proxy-agent@^4.0.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/pac-proxy-agent/download/pac-proxy-agent-4.1.0.tgz#66883eeabadc915fc5e95457324cb0f0ac78defb" + integrity sha1-Zog+6rrckV/F6VRXMkyw8Kx43vs= + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + get-uri "3" + http-proxy-agent "^4.0.1" + https-proxy-agent "5" + pac-resolver "^4.1.0" + raw-body "^2.2.0" + socks-proxy-agent "5" + +pac-resolver@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/pac-resolver/download/pac-resolver-4.1.0.tgz#4b12e7d096b255a3b84e53f6831f32e9c7e5fe95" + integrity sha1-SxLn0JayVaO4TlP2gx8y6cfl/pU= + dependencies: + degenerator "^2.2.0" + ip "^1.1.5" + netmask "^1.0.6" + package-json@^6.3.0: version "6.5.0" resolved "https://registry.npm.taobao.org/package-json/download/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" @@ -12683,6 +14917,24 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" +parse-path@^4.0.0: + version "4.0.2" + resolved "https://registry.npm.taobao.org/parse-path/download/parse-path-4.0.2.tgz#ef14f0d3d77bae8dd4bc66563a4c151aac9e65aa" + integrity sha1-7xTw09d7ro3UvGZWOkwVGqyeZao= + dependencies: + is-ssh "^1.3.0" + protocols "^1.4.0" + +parse-url@^5.0.0: + version "5.0.2" + resolved "https://registry.npm.taobao.org/parse-url/download/parse-url-5.0.2.tgz#856a3be1fcdf78dc93fc8b3791f169072d898b59" + integrity sha1-hWo74fzfeNyT/Is3kfFpBy2Ji1k= + dependencies: + is-ssh "^1.3.0" + normalize-url "^3.3.0" + parse-path "^4.0.0" + protocols "^1.4.0" + parse5-htmlparser2-tree-adapter@^5.1.1: version "5.1.1" resolved "https://registry.npm.taobao.org/parse5-htmlparser2-tree-adapter/download/parse5-htmlparser2-tree-adapter-5.1.1.tgz#e8c743d4e92194d5293ecde2b08be31e67461cbc" @@ -13393,6 +15645,110 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2 source-map "^0.6.1" supports-color "^6.1.0" +power-assert-context-formatter@^1.0.7: + version "1.2.0" + resolved "https://registry.npm.taobao.org/power-assert-context-formatter/download/power-assert-context-formatter-1.2.0.tgz#8fbe72692288ec5a7203cdf215c8b838a6061d2a" + integrity sha1-j75yaSKI7FpyA83yFci4OKYGHSo= + dependencies: + core-js "^2.0.0" + power-assert-context-traversal "^1.2.0" + +power-assert-context-reducer-ast@^1.0.7: + version "1.2.0" + resolved "https://registry.npm.taobao.org/power-assert-context-reducer-ast/download/power-assert-context-reducer-ast-1.2.0.tgz#c7ca1c9e39a6fb717f7ac5fe9e76e192bf525df3" + integrity sha1-x8ocnjmm+3F/esX+nnbhkr9SXfM= + dependencies: + acorn "^5.0.0" + acorn-es7-plugin "^1.0.12" + core-js "^2.0.0" + espurify "^1.6.0" + estraverse "^4.2.0" + +power-assert-context-traversal@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/power-assert-context-traversal/download/power-assert-context-traversal-1.2.0.tgz#f6e71454baf640de5c1c9c270349f5c9ab0b2e94" + integrity sha1-9ucUVLr2QN5cHJwnA0n1yasLLpQ= + dependencies: + core-js "^2.0.0" + estraverse "^4.1.0" + +power-assert-formatter@^1.4.1: + version "1.4.1" + resolved "https://registry.npm.taobao.org/power-assert-formatter/download/power-assert-formatter-1.4.1.tgz#5dc125ed50a3dfb1dda26c19347f3bf58ec2884a" + integrity sha1-XcEl7VCj37HdomwZNH879Y7CiEo= + dependencies: + core-js "^2.0.0" + power-assert-context-formatter "^1.0.7" + power-assert-context-reducer-ast "^1.0.7" + power-assert-renderer-assertion "^1.0.7" + power-assert-renderer-comparison "^1.0.7" + power-assert-renderer-diagram "^1.0.7" + power-assert-renderer-file "^1.0.7" + +power-assert-renderer-assertion@^1.0.7: + version "1.2.0" + resolved "https://registry.npm.taobao.org/power-assert-renderer-assertion/download/power-assert-renderer-assertion-1.2.0.tgz#3db6ffcda106b37bc1e06432ad0d748a682b147a" + integrity sha1-Pbb/zaEGs3vB4GQyrQ10imgrFHo= + dependencies: + power-assert-renderer-base "^1.1.1" + power-assert-util-string-width "^1.2.0" + +power-assert-renderer-base@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/power-assert-renderer-base/download/power-assert-renderer-base-1.1.1.tgz#96a650c6fd05ee1bc1f66b54ad61442c8b3f63eb" + integrity sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s= + +power-assert-renderer-comparison@^1.0.7: + version "1.2.0" + resolved "https://registry.npm.taobao.org/power-assert-renderer-comparison/download/power-assert-renderer-comparison-1.2.0.tgz#e4f88113225a69be8aa586ead05aef99462c0495" + integrity sha1-5PiBEyJaab6KpYbq0FrvmUYsBJU= + dependencies: + core-js "^2.0.0" + diff-match-patch "^1.0.0" + power-assert-renderer-base "^1.1.1" + stringifier "^1.3.0" + type-name "^2.0.1" + +power-assert-renderer-diagram@^1.0.7: + version "1.2.0" + resolved "https://registry.npm.taobao.org/power-assert-renderer-diagram/download/power-assert-renderer-diagram-1.2.0.tgz#37f66e8542e5677c5b58e6d72b01c0d9a30e2219" + integrity sha1-N/ZuhULlZ3xbWObXKwHA2aMOIhk= + dependencies: + core-js "^2.0.0" + power-assert-renderer-base "^1.1.1" + power-assert-util-string-width "^1.2.0" + stringifier "^1.3.0" + +power-assert-renderer-file@^1.0.7: + version "1.2.0" + resolved "https://registry.npm.taobao.org/power-assert-renderer-file/download/power-assert-renderer-file-1.2.0.tgz#3f4bebd9e1455d75cf2ac541e7bb515a87d4ce4b" + integrity sha1-P0vr2eFFXXXPKsVB57tRWofUzks= + dependencies: + power-assert-renderer-base "^1.1.1" + +power-assert-util-string-width@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/power-assert-util-string-width/download/power-assert-util-string-width-1.2.0.tgz#6e06d5e3581bb876c5d377c53109fffa95bd91a0" + integrity sha1-bgbV41gbuHbF03fFMQn/+pW9kaA= + dependencies: + eastasianwidth "^0.2.0" + +power-assert@1.6.1: + version "1.6.1" + resolved "https://registry.npm.taobao.org/power-assert/download/power-assert-1.6.1.tgz#b28cbc02ae808afd1431d0cd5093a39ac5a5b1fe" + integrity sha1-soy8Aq6Aiv0UMdDNUJOjmsWlsf4= + dependencies: + define-properties "^1.1.2" + empower "^1.3.1" + power-assert-formatter "^1.4.1" + universal-deep-strict-equal "^1.2.1" + xtend "^4.0.0" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha1-3rxkidem5rDnYRiIzsiAM30xY5Y= + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -13415,6 +15771,11 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" +prettier@2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/prettier/download/prettier-2.1.2.tgz?cache=0&sync_timestamp=1606523097359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprettier%2Fdownload%2Fprettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" + integrity sha1-MFBwDa4uTItnxMP2Zs24r0BeHOU= + prettier@^1.18.2, prettier@^1.19.1: version "1.19.1" resolved "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" @@ -13487,6 +15848,14 @@ promise-inflight@^1.0.1: resolved "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= +promise-retry@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/promise-retry/download/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d" + integrity sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0= + dependencies: + err-code "^1.0.0" + retry "^0.10.0" + promise.allsettled@^1.0.0: version "1.0.2" resolved "https://registry.npm.taobao.org/promise.allsettled/download/promise.allsettled-1.0.2.tgz#d66f78fbb600e83e863d893e98b3d4376a9c47c9" @@ -13514,6 +15883,13 @@ promise@^7.0.1: dependencies: asap "~2.0.3" +promzard@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/promzard/download/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" + integrity sha1-JqXW7ox97kyxIggwWs+5O6OCqe4= + dependencies: + read "1" + prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.npm.taobao.org/prop-types/download/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" @@ -13535,6 +15911,18 @@ proto-list@~1.2.1: resolved "https://registry.npm.taobao.org/proto-list/download/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= +protocols@^1.1.0, protocols@^1.4.0: + version "1.4.8" + resolved "https://registry.npm.taobao.org/protocols/download/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" + integrity sha1-SO6i2PWNlkSkoyyq5dXbKQoHXOg= + +protoduck@^5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/protoduck/download/protoduck-5.0.1.tgz#03c3659ca18007b69a50fd82a7ebcc516261151f" + integrity sha1-A8NlnKGAB7aaUP2Cp+vMUWJhFR8= + dependencies: + genfun "^5.0.0" + proxy-addr@~2.0.5: version "2.0.6" resolved "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" @@ -13852,6 +16240,16 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" +raw-body@^2.2.0: + version "2.4.1" + resolved "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" + integrity sha1-MKyC+Yu1rowVLmcUnayNVRU7Fow= + dependencies: + bytes "3.1.0" + http-errors "1.7.3" + iconv-lite "0.4.24" + unpipe "1.0.0" + raw-loader@^4.0.1: version "4.0.2" resolved "https://registry.npm.taobao.org/raw-loader/download/raw-loader-4.0.2.tgz?cache=0&sync_timestamp=1602255313867&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fraw-loader%2Fdownload%2Fraw-loader-4.0.2.tgz#1aac6b7d1ad1501e66efdac1522c73e59a584eb6" @@ -14053,6 +16451,13 @@ reactcss@^1.2.0: dependencies: lodash "^4.0.1" +read-cmd-shim@^1.0.1: + version "1.0.5" + resolved "https://registry.npm.taobao.org/read-cmd-shim/download/read-cmd-shim-1.0.5.tgz#87e43eba50098ba5a32d0ceb583ab8e43b961c16" + integrity sha1-h+Q+ulAJi6WjLQzrWDq45DuWHBY= + dependencies: + graceful-fs "^4.1.2" + read-config-file@6.0.0: version "6.0.0" resolved "https://registry.npm.taobao.org/read-config-file/download/read-config-file-6.0.0.tgz#224b5dca6a5bdc1fb19e63f89f342680efdb9299" @@ -14064,6 +16469,25 @@ read-config-file@6.0.0: json5 "^2.1.2" lazy-val "^1.0.4" +"read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13: + version "2.1.2" + resolved "https://registry.npm.taobao.org/read-package-json/download/read-package-json-2.1.2.tgz?cache=0&sync_timestamp=1602552313200&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-package-json%2Fdownload%2Fread-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" + integrity sha1-aZKytmxxdyWf646qxzw6zSi5Iio= + dependencies: + glob "^7.1.1" + json-parse-even-better-errors "^2.3.0" + normalize-package-data "^2.0.0" + npm-normalize-package-bin "^1.0.0" + +read-package-tree@^5.1.6: + version "5.3.1" + resolved "https://registry.npm.taobao.org/read-package-tree/download/read-package-tree-5.3.1.tgz#a32cb64c7f31eb8a6f31ef06f9cedf74068fe636" + integrity sha1-oyy2TH8x64pvMe8G+c7fdAaP5jY= + dependencies: + read-package-json "^2.0.0" + readdir-scoped-modules "^1.0.0" + util-promisify "^2.1.0" + read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -14126,6 +16550,13 @@ read-pkg@^5.1.1, read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" +read@1, read@~1.0.1: + version "1.0.7" + resolved "https://registry.npm.taobao.org/read/download/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= + dependencies: + mute-stream "~0.0.4" + "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" @@ -14139,7 +16570,17 @@ read-pkg@^5.1.1, read-pkg@^5.2.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +readable-stream@1.1.x: + version "1.1.14" + resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= @@ -14155,6 +16596,16 @@ readdir-glob@^1.0.0: dependencies: minimatch "^3.0.4" +readdir-scoped-modules@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/readdir-scoped-modules/download/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" + integrity sha1-jUVAe0+HCg3K68DihnDRjnRRQwk= + dependencies: + debuglog "^1.0.1" + dezalgo "^1.0.0" + graceful-fs "^4.1.2" + once "^1.3.0" + readdirp@^2.2.1: version "2.2.1" resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" @@ -14283,7 +16734,7 @@ regexpp@^2.0.1: resolved "https://registry.npm.taobao.org/regexpp/download/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha1-jRnTHPYySCtYkEn4KB+T28uk0H8= -regexpp@^3.0.0: +regexpp@^3.0.0, regexpp@^3.1.0: version "3.1.0" resolved "https://registry.npm.taobao.org/regexpp/download/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" integrity sha1-IG0K0KVkjP+9uK5GQ489xRyfeOI= @@ -14629,6 +17080,11 @@ ret@~0.1.10: resolved "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= +retry@^0.10.0: + version "0.10.1" + resolved "https://registry.npm.taobao.org/retry/download/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" + integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= + retry@^0.12.0: version "0.12.0" resolved "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" @@ -14661,7 +17117,7 @@ rimraf@2.6.3, rimraf@~2.6.2: dependencies: glob "^7.1.3" -rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3, rimraf@^2.7.1: +rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: version "2.7.1" resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= @@ -14717,7 +17173,7 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs@^6.3.3, rxjs@^6.5.2, rxjs@^6.5.3, rxjs@^6.6.0: +rxjs@^6.3.3, rxjs@^6.4.0, rxjs@^6.5.2, rxjs@^6.5.3, rxjs@^6.6.0, rxjs@^6.6.2: version "6.6.3" resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.6.3.tgz?cache=0&sync_timestamp=1602770934889&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" integrity sha1-jKhGNcTaqQDA05Z6buesYCce5VI= @@ -14875,7 +17331,7 @@ semver-regex@^2.0.0: resolved "https://registry.npm.taobao.org/semver-regex/download/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" integrity sha1-qTwsWERTmncCMzeRB7OMe0rJ0zg= -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0: +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1599828351539&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= @@ -14921,6 +17377,13 @@ serialize-error@^7.0.0, serialize-error@^7.0.1: dependencies: type-fest "^0.13.1" +serialize-javascript@5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha1-eIbshIBJpGJGepfT2Rjrsqr5NPQ= + dependencies: + randombytes "^2.1.0" + serialize-javascript@^4.0.0: version "4.0.0" resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" @@ -15005,6 +17468,13 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/shallow-clone/download/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha1-jymBrZJTH1UDWwH7IwdppA4C76M= + dependencies: + kind-of "^6.0.2" + shallow-equal@^1.0.0: version "1.2.1" resolved "https://registry.npm.taobao.org/shallow-equal/download/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da" @@ -15107,6 +17577,15 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha1-Md3BCTCht+C2ewjJbC9Jt3p4l4c= + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + slice-ansi@^4.0.0: version "4.0.0" resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" @@ -15116,6 +17595,16 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" +slide@^1.1.6: + version "1.1.6" + resolved "https://registry.npm.taobao.org/slide/download/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= + +smart-buffer@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/smart-buffer/download/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" + integrity sha1-kWBcJdkWUvRmHqacz0XxszHKIbo= + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -15167,6 +17656,39 @@ sockjs@0.3.20: uuid "^3.4.0" websocket-driver "0.6.5" +socks-proxy-agent@5: + version "5.0.0" + resolved "https://registry.npm.taobao.org/socks-proxy-agent/download/socks-proxy-agent-5.0.0.tgz#7c0f364e7b1cf4a7a437e71253bed72e9004be60" + integrity sha1-fA82Tnsc9KekN+cSU77XLpAEvmA= + dependencies: + agent-base "6" + debug "4" + socks "^2.3.3" + +socks-proxy-agent@^4.0.0: + version "4.0.2" + resolved "https://registry.npm.taobao.org/socks-proxy-agent/download/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386" + integrity sha1-PImR8xRbJ5nnDhG9X7yLGWMRY4Y= + dependencies: + agent-base "~4.2.1" + socks "~2.3.2" + +socks@^2.3.3: + version "2.5.0" + resolved "https://registry.npm.taobao.org/socks/download/socks-2.5.0.tgz#3a7c286db114f67864a4bd8b4207a91d1db3d6db" + integrity sha1-OnwobbEU9nhkpL2LQgepHR2z1ts= + dependencies: + ip "^1.1.5" + smart-buffer "^4.1.0" + +socks@~2.3.2: + version "2.3.3" + resolved "https://registry.npm.taobao.org/socks/download/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3" + integrity sha1-ARKfCl1TTSuJdxLtis6rfuZdeOM= + dependencies: + ip "1.1.5" + smart-buffer "^4.1.0" + sort-keys@^1.0.0: version "1.1.2" resolved "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz?cache=0&sync_timestamp=1602621924510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsort-keys%2Fdownload%2Fsort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" @@ -15174,6 +17696,13 @@ sort-keys@^1.0.0: dependencies: is-plain-obj "^1.0.0" +sort-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/sort-keys/download/sort-keys-2.0.0.tgz?cache=0&sync_timestamp=1602621924510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsort-keys%2Fdownload%2Fsort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" + integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= + dependencies: + is-plain-obj "^1.0.0" + source-list-map@^2.0.0: version "2.0.1" resolved "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" @@ -15190,6 +17719,13 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" +source-map-support@^0.4.0: + version "0.4.18" + resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + integrity sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8= + dependencies: + source-map "^0.5.6" + source-map-support@^0.5.13, source-map-support@^0.5.16, source-map-support@^0.5.19, source-map-support@~0.5.12: version "0.5.19" resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" @@ -15203,6 +17739,13 @@ source-map-url@^0.4.0: resolved "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= +source-map@^0.1.34: + version "0.1.43" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" + integrity sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y= + dependencies: + amdefine ">=0.0.4" + source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -15351,7 +17894,7 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -ssri@^6.0.1: +ssri@^6.0.0, ssri@^6.0.1: version "6.0.1" resolved "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" integrity sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg= @@ -15448,12 +17991,17 @@ stream-shift@^1.0.0: resolved "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz?cache=0&sync_timestamp=1576147145118&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-shift%2Fdownload%2Fstream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0= +streamsearch@0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/streamsearch/download/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" + integrity sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo= + strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= -string-argv@^0.3.0: +string-argv@0.3.1, string-argv@^0.3.0: version "0.3.1" resolved "https://registry.npm.taobao.org/string-argv/download/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" integrity sha1-leL77AQnrhkYSTX4FtdKqkxcGdo= @@ -15477,7 +18025,7 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= @@ -15554,6 +18102,11 @@ string_decoder@^1.0.0, string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -15561,6 +18114,15 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" +stringifier@^1.3.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/stringifier/download/stringifier-1.4.0.tgz#d704581567f4526265d00ed8ecb354a02c3fec28" + integrity sha1-1wRYFWf0UmJl0A7Y7LNUoCw/7Cg= + dependencies: + core-js "^2.0.0" + traverse "^0.6.6" + type-name "^2.0.1" + stringify-entities@^3.0.0: version "3.1.0" resolved "https://registry.npm.taobao.org/stringify-entities/download/stringify-entities-3.1.0.tgz?cache=0&sync_timestamp=1603096730414&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstringify-entities%2Fdownload%2Fstringify-entities-3.1.0.tgz#b8d3feac256d9ffcc9fa1fefdcf3ca70576ee903" @@ -15653,11 +18215,20 @@ strip-json-comments@2.0.1, strip-json-comments@~2.0.1: resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -strip-json-comments@^3.0.1: +strip-json-comments@3.1.1, strip-json-comments@^3.0.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY= +strong-log-transformer@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/strong-log-transformer/download/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" + integrity sha1-D17XjTJeBCGsb5D38Q5pHWrjrhA= + dependencies: + duplexer "^0.1.1" + minimist "^1.2.0" + through "^2.3.4" + style-loader@^1.2.1: version "1.3.0" resolved "https://registry.npm.taobao.org/style-loader/download/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e" @@ -15802,6 +18373,13 @@ supports-color@6.0.0: dependencies: has-flag "^3.0.0" +supports-color@7.2.0, supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1598611771865&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo= + dependencies: + has-flag "^4.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611771865&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -15821,13 +18399,6 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1598611771865&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo= - dependencies: - has-flag "^4.0.0" - svg-tags@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" @@ -15926,6 +18497,19 @@ tar-stream@^2.0.0, tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" +tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: + version "4.4.13" + resolved "https://registry.npm.taobao.org/tar/download/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" + integrity sha1-Q7NkvFKIjVVSmGN7ENYHkCVKtSU= + dependencies: + chownr "^1.1.1" + fs-minipass "^1.2.5" + minipass "^2.8.6" + minizlib "^1.2.1" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.3" + tar@^6.0.2: version "6.0.5" resolved "https://registry.npm.taobao.org/tar/download/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f" @@ -15952,6 +18536,11 @@ telejson@^5.0.2: lodash "^4.17.19" memoizerific "^1.11.3" +temp-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/temp-dir/download/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" + integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0= + temp-dir@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/temp-dir/download/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" @@ -15965,6 +18554,18 @@ temp-file@^3.3.7: async-exit-hook "^2.0.1" fs-extra "^8.1.0" +temp-write@^3.4.0: + version "3.4.0" + resolved "https://registry.npm.taobao.org/temp-write/download/temp-write-3.4.0.tgz#8cff630fb7e9da05f047c74ce4ce4d685457d492" + integrity sha1-jP9jD7fp2gXwR8dM5M5NaFRX1JI= + dependencies: + graceful-fs "^4.1.2" + is-stream "^1.1.0" + make-dir "^1.0.0" + pify "^3.0.0" + temp-dir "^1.0.0" + uuid "^3.0.1" + temp@^0.8.1: version "0.8.4" resolved "https://registry.npm.taobao.org/temp/download/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" @@ -16115,6 +18716,14 @@ through2@^2.0.0, through2@^2.0.2, through2@~2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" +through2@^3.0.0: + version "3.0.2" + resolved "https://registry.npm.taobao.org/through2/download/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" + integrity sha1-mfiJMc/HYex2eLQdXXM2tbage/Q= + dependencies: + inherits "^2.0.4" + readable-stream "2 || 3" + through2@^4.0.0: version "4.0.2" resolved "https://registry.npm.taobao.org/through2/download/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" @@ -16122,7 +18731,7 @@ through2@^4.0.0: dependencies: readable-stream "3" -through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8: +through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -16267,6 +18876,11 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" +traverse@^0.6.6: + version "0.6.6" + resolved "https://registry.npm.taobao.org/traverse/download/traverse-0.6.6.tgz?cache=0&sync_timestamp=1602049904142&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftraverse%2Fdownload%2Ftraverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" + integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc= + tree-kill@^1.2.2: version "1.2.2" resolved "https://registry.npm.taobao.org/tree-kill/download/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" @@ -16366,6 +18980,11 @@ tslib@^1.10.0, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha1-zy04vcNKE0vK8QkcQfZhni9nLQA= +tslib@^2.0.1: + version "2.0.3" + resolved "https://registry.npm.taobao.org/tslib/download/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" + integrity sha1-jgdBrEX8DCJuWKF7/D5kubxsphw= + tslint@^5.20.1: version "5.20.1" resolved "https://registry.npm.taobao.org/tslint/download/tslint-5.20.1.tgz?cache=0&sync_timestamp=1600702437217&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslint%2Fdownload%2Ftslint-5.20.1.tgz#e401e8aeda0152bc44dd07e614034f3f80c67b7d" @@ -16421,6 +19040,13 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/type-check/download/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE= + dependencies: + prelude-ls "^1.2.1" + type-check@~0.3.2: version "0.3.2" resolved "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -16448,6 +19074,11 @@ type-fest@^0.18.0: resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.18.0.tgz?cache=0&sync_timestamp=1602623928145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.18.0.tgz#2edfa6382d48653707344f7fccdb0443d460e8d6" integrity sha1-Lt+mOC1IZTcHNE9/zNsEQ9Rg6NY= +type-fest@^0.3.0: + version "0.3.1" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.3.1.tgz?cache=0&sync_timestamp=1606468796224&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" + integrity sha1-Y9ANIE4FlHT+Xht8ARESu9HcKeE= + type-fest@^0.6.0: version "0.6.0" resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.6.0.tgz?cache=0&sync_timestamp=1602623928145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" @@ -16466,6 +19097,21 @@ type-is@~1.6.17, type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" +type-name@^2.0.0, type-name@^2.0.1: + version "2.0.2" + resolved "https://registry.npm.taobao.org/type-name/download/type-name-2.0.2.tgz#efe7d4123d8ac52afff7f40c7e4dec5266008fb4" + integrity sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q= + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/type/download/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha1-hI3XaY2vo+VKbEeedZxLw/GIR6A= + +type@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/type/download/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f" + integrity sha1-m9wixkjPjPht0j0yM2pBz7ZHXj8= + typed-styles@^0.0.7: version "0.0.7" resolved "https://registry.npm.taobao.org/typed-styles/download/typed-styles-0.0.7.tgz#93392a008794c4595119ff62dde6809dbc40a3d9" @@ -16483,6 +19129,11 @@ typedarray@^0.0.6: resolved "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +typescript@4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/typescript/download/typescript-4.0.3.tgz?cache=0&sync_timestamp=1606805277614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftypescript%2Fdownload%2Ftypescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5" + integrity sha1-FTu9Ro7wdyXB35x36LRT+NNqu6U= + typescript@^4.0.3: version "4.0.5" resolved "https://registry.npm.taobao.org/typescript/download/typescript-4.0.5.tgz#ae9dddfd1069f1cb5beb3ef3b2170dd7c1332389" @@ -16506,6 +19157,16 @@ uglify-js@^3.1.4: resolved "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.11.5.tgz?cache=0&sync_timestamp=1604365973796&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.11.5.tgz#d6788bc83cf35ff18ea78a65763e480803409bc6" integrity sha1-1niLyDzzX/GOp4pldj5ICANAm8Y= +uid-number@0.0.6: + version "0.0.6" + resolved "https://registry.npm.taobao.org/uid-number/download/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE= + +umask@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/umask/download/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" + integrity sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0= + unbzip2-stream@^1.3.3: version "1.4.3" resolved "https://registry.npm.taobao.org/unbzip2-stream/download/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" @@ -16668,6 +19329,27 @@ unist-util-visit@2.0.3, unist-util-visit@^2.0.0: unist-util-is "^4.0.0" unist-util-visit-parents "^3.0.0" +universal-deep-strict-equal@^1.2.1: + version "1.2.2" + resolved "https://registry.npm.taobao.org/universal-deep-strict-equal/download/universal-deep-strict-equal-1.2.2.tgz#0da4ac2f73cff7924c81fa4de018ca562ca2b0a7" + integrity sha1-DaSsL3PP95JMgfpN4BjKViyisKc= + dependencies: + array-filter "^1.0.0" + indexof "0.0.1" + object-keys "^1.0.0" + +universal-user-agent@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/universal-user-agent/download/universal-user-agent-4.0.1.tgz#fd8d6cb773a679a709e967ef8288a31fcc03e557" + integrity sha1-/Y1st3OmeacJ6WfvgoijH8wD5Vc= + dependencies: + os-name "^3.1.0" + +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/universal-user-agent/download/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha1-M4H4UDslHA2c0hvB3pOeyd9UgO4= + universalify@^0.1.0: version "0.1.2" resolved "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -16719,7 +19401,7 @@ unzip-crx@^0.2.0: mkdirp "^0.5.1" yaku "^0.16.6" -upath@^1.1.1: +upath@^1.1.1, upath@^1.2.0: version "1.2.0" resolved "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ= @@ -16842,6 +19524,13 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= +util-promisify@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/util-promisify/download/util-promisify-2.1.0.tgz#3c2236476c4d32c5ff3c47002add7c13b9a82a53" + integrity sha1-PCI2R2xNMsX/PEcAKt18E7moKlM= + dependencies: + object.getownpropertydescriptors "^2.0.3" + util.promisify@1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" @@ -16884,7 +19573,7 @@ utils-merge@1.0.1: resolved "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@^3.3.2, uuid@^3.4.0: +uuid@^3.0.1, uuid@^3.3.2, uuid@^3.4.0: version "3.4.0" resolved "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1601826526166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4= @@ -16894,10 +19583,10 @@ uuid@^8.0.0: resolved "https://registry.npm.taobao.org/uuid/download/uuid-8.3.1.tgz?cache=0&sync_timestamp=1601826526166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31" integrity sha1-K6LmygANpg/OWhlpVKskETHgWjE= -v-easy-components@2.0.0-beta.13: - version "2.0.0-beta.13" - resolved "https://registry.npm.taobao.org/v-easy-components/download/v-easy-components-2.0.0-beta.13.tgz#a4cdd3dd9c35422718761e029d9b500ca45d4440" - integrity sha1-pM3T3Zw1QicYdh4CnZtQDKRdREA= +v-easy-components@2.0.0-beta.14: + version "2.0.0-beta.14" + resolved "https://registry.npmjs.org/v-easy-components/-/v-easy-components-2.0.0-beta.14.tgz#9ecc22d025b7a6e6cf6e867d76d165cd28f862fc" + integrity sha512-YQJgJ58Xu1ONSTNKUL3oS/tn5yrOPEtWqE7ngC7wye+4O+38ixuKbgibZ8rZo+cfTBk9gm6fyeEclFnIOufunw== dependencies: "@popperjs/core" "^2.4.4" core-js "^3.6.5" @@ -16910,7 +19599,7 @@ v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1: resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.2.0.tgz?cache=0&sync_timestamp=1603909372873&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" integrity sha1-lHHvo++RKNL3xqfKOcTda1BVsTI= -validate-npm-package-license@^3.0.1: +validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3: version "3.0.4" resolved "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= @@ -16918,6 +19607,13 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +validate-npm-package-name@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/validate-npm-package-name/download/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" + integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= + dependencies: + builtins "^1.0.3" + vant@^3.0.0-beta.7: version "3.0.0-beta.7" resolved "https://registry.npmjs.org/vant/-/vant-3.0.0-beta.7.tgz#413064034e36574323e84baa6ee68ba2b37b70aa" @@ -17177,7 +19873,7 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -wcwidth@^1.0.1: +wcwidth@^1.0.0, wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= @@ -17450,7 +20146,7 @@ which@1.3.1, which@^1.2.10, which@^1.2.9, which@^1.3.1: dependencies: isexe "^2.0.0" -which@^2.0.1: +which@2.0.2, which@^2.0.1: version "2.0.2" resolved "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= @@ -17471,6 +20167,13 @@ widest-line@^3.1.0: dependencies: string-width "^4.0.0" +windows-release@^3.1.0: + version "3.3.3" + resolved "https://registry.npm.taobao.org/windows-release/download/windows-release-3.3.3.tgz#1c10027c7225743eec6b89df160d64c2e0293999" + integrity sha1-HBACfHIldD7sa4nfFg1kwuApOZk= + dependencies: + execa "^1.0.0" + with@^7.0.0: version "7.0.2" resolved "https://registry.npm.taobao.org/with/download/with-7.0.2.tgz#ccee3ad542d25538a7a7a80aad212b9828495bac" @@ -17481,7 +20184,7 @@ with@^7.0.0: assert-never "^1.2.1" babel-walk "3.0.0-canary-5" -word-wrap@~1.2.3: +word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= @@ -17505,6 +20208,11 @@ worker-rpc@^0.1.0: dependencies: microevent.ts "~0.1.1" +workerpool@6.0.2: + version "6.0.2" + resolved "https://registry.npm.taobao.org/workerpool/download/workerpool-6.0.2.tgz?cache=0&sync_timestamp=1603880807459&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkerpool%2Fdownload%2Fworkerpool-6.0.2.tgz#e241b43d8d033f1beb52c7851069456039d1d438" + integrity sha1-4kG0PY0DPxvrUseFEGlFYDnR1Dg= + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -17553,7 +20261,7 @@ wrappy@1: resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^2.3.0: +write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: version "2.4.3" resolved "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" integrity sha1-H9Lprh3z51uNjDZ0Q8aS1MqB9IE= @@ -17572,6 +20280,38 @@ write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" +write-json-file@^2.2.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/write-json-file/download/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f" + integrity sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8= + dependencies: + detect-indent "^5.0.0" + graceful-fs "^4.1.2" + make-dir "^1.0.0" + pify "^3.0.0" + sort-keys "^2.0.0" + write-file-atomic "^2.0.0" + +write-json-file@^3.2.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/write-json-file/download/write-json-file-3.2.0.tgz#65bbdc9ecd8a1458e15952770ccbadfcff5fe62a" + integrity sha1-Zbvcns2KFFjhWVJ3DMut/P9f5io= + dependencies: + detect-indent "^5.0.0" + graceful-fs "^4.1.15" + make-dir "^2.1.0" + pify "^4.0.1" + sort-keys "^2.0.0" + write-file-atomic "^2.4.2" + +write-pkg@^3.1.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/write-pkg/download/write-pkg-3.2.0.tgz#0e178fe97820d389a8928bc79535dbe68c2cff21" + integrity sha1-DheP6Xgg04mokovHlTXb5ows/yE= + dependencies: + sort-keys "^2.0.0" + write-json-file "^2.2.0" + write@1.0.3: version "1.0.3" resolved "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" @@ -17634,6 +20374,11 @@ xmlchars@^2.1.1: resolved "https://registry.npm.taobao.org/xmlchars/download/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha1-Bg/hvLf5x2/ioX24apvDq4lCEMs= +xregexp@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/xregexp/download/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" + integrity sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM= + xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -17664,7 +20409,7 @@ yallist@^2.1.2: resolved "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yallist@^3.0.2: +yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: version "3.1.1" resolved "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0= @@ -17687,6 +20432,14 @@ yargs-parser@13.1.2, yargs-parser@^13.1.1, yargs-parser@^13.1.2: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^15.0.1: + version "15.0.1" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-15.0.1.tgz?cache=0&sync_timestamp=1604886709178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" + integrity sha1-VHhq9AuCDcsvuAJbEbTWWddjI7M= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^18.1.2, yargs-parser@^18.1.3: version "18.1.3" resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" @@ -17716,6 +20469,16 @@ yargs-unparser@1.6.0: lodash "^4.17.15" yargs "^13.3.0" +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/yargs-unparser/download/yargs-unparser-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-unparser%2Fdownload%2Fyargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha1-8TH5ImkRrl2a04xDL+gJNmwjJes= + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + yargs@13.3.2, yargs@^13.3.0, yargs@^13.3.2: version "13.3.2" resolved "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1602820925422&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" @@ -17749,6 +20512,23 @@ yargs@14.0.0: y18n "^4.0.0" yargs-parser "^13.1.1" +yargs@^14.2.2: + version "14.2.3" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-14.2.3.tgz?cache=0&sync_timestamp=1605465967295&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" + integrity sha1-Ghw+3O0a+yov6jNgS8bR2NaIpBQ= + dependencies: + cliui "^5.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^15.0.1" + yargs@^15.0.0, yargs@^15.1.0, yargs@^15.3.1: version "15.4.1" resolved "https://registry.npm.taobao.org/yargs/download/yargs-15.4.1.tgz?cache=0&sync_timestamp=1602820925422&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"