mirror of
https://github.com/qier222/YesPlayMusic.git
synced 2024-11-22 04:09:16 +08:00
refactor: organize codes
This commit is contained in:
parent
df799cbf84
commit
bc0de620c1
18
package.json
18
package.json
|
@ -9,26 +9,28 @@
|
|||
"build": "vue-cli-service build",
|
||||
"lint": "vue-cli-service lint",
|
||||
"electron:build": "vue-cli-service electron:build -mwl -p never",
|
||||
"electron:build-mac": "vue-cli-service electron:build -m -p never",
|
||||
"electron:build-win": "vue-cli-service electron:build -w -p never",
|
||||
"electron:build-linux": "vue-cli-service electron:build -l -p never",
|
||||
"electron:serve": "vue-cli-service electron:serve",
|
||||
"electron:buildicon": "electron-icon-builder --input=./public/img/icons/android-chrome-512x512.png --output=build --flatten",
|
||||
"electron:publish": "vue-cli-service electron:build -p always",
|
||||
"electron:buildicon": "electron-icon-builder --input=./build/icons/icon.png --output=build --flatten",
|
||||
"electron:publish": "vue-cli-service electron:build -mwl -p always",
|
||||
"postinstall": "electron-builder install-app-deps",
|
||||
"postuninstall": "electron-builder install-app-deps",
|
||||
"prettier": "npx prettier --write ./src ./script",
|
||||
"napi:run": "cd ./napi && npm run start",
|
||||
"napi:pull": "node script/pull.js",
|
||||
"napi:install": "cd ./napi && npm install",
|
||||
"napi:setup": "npm run napi:pull && npm run napi:install"
|
||||
"netease_api:run": "cd ./netease_api && npm run start",
|
||||
"netease_api:pull": "node script/pull.js",
|
||||
"netease_api:install": "cd ./netease_api && npm install",
|
||||
"netease_api:setup": "npm run netease_api:pull && npm run netease_api:install"
|
||||
},
|
||||
"main": "background.js",
|
||||
"dependencies": {
|
||||
"apicache": "^1.5.3",
|
||||
"axios": "^0.21.0",
|
||||
"big-integer": "^1.6.48",
|
||||
"core-js": "^3.6.5",
|
||||
"crypto-js": "^4.0.0",
|
||||
"dayjs": "^1.8.36",
|
||||
"electron": "^10.1.4",
|
||||
"electron": "11.0.2",
|
||||
"electron-context-menu": "^2.3.0",
|
||||
"electron-debug": "^3.1.0",
|
||||
"electron-devtools-installer": "^3.1.1",
|
||||
|
|
51
src/App.vue
51
src/App.vue
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div id="app">
|
||||
<Navbar ref="navbar"/>
|
||||
<Navbar ref="navbar" />
|
||||
<main>
|
||||
<keep-alive>
|
||||
<router-view v-if="$route.meta.keepAlive"></router-view>
|
||||
|
@ -25,6 +25,7 @@
|
|||
import Navbar from "./components/Navbar.vue";
|
||||
import Player from "./components/Player.vue";
|
||||
import GlobalEvents from "vue-global-events";
|
||||
import { ipcRenderer } from "./electron/ipcRenderer";
|
||||
|
||||
export default {
|
||||
name: "App",
|
||||
|
@ -40,53 +41,7 @@ export default {
|
|||
},
|
||||
created() {
|
||||
if (this.isElectron) {
|
||||
const self = this
|
||||
// 添加专有的类名
|
||||
document.body.classList.add("is-electron");
|
||||
// ipc message channel
|
||||
const electron = window.require("electron");
|
||||
const ipcRenderer = electron.ipcRenderer;
|
||||
// listens to the main process 'changeRouteTo' event and changes the route from
|
||||
// inside this Vue instance, according to what path the main process requires.
|
||||
// responds to Menu click() events at the main process and changes the route accordingly.
|
||||
ipcRenderer.on("changeRouteTo", (event, path) => {
|
||||
self.$router.push(path);
|
||||
});
|
||||
ipcRenderer.on("search", () => {
|
||||
// 触发数据响应
|
||||
self.$refs.navbar.$refs.searchInput.focus()
|
||||
self.$refs.navbar.inputFocus = true
|
||||
})
|
||||
ipcRenderer.on("play", () => {
|
||||
self.$refs.player.play();
|
||||
});
|
||||
ipcRenderer.on("next", () => {
|
||||
self.$refs.player.next();
|
||||
});
|
||||
ipcRenderer.on("previous", () => {
|
||||
self.$refs.player.previous();
|
||||
});
|
||||
ipcRenderer.on("increaseVolume", () => {
|
||||
if (self.$refs.player.volume + 0.1 >= 1) {
|
||||
return (self.$refs.player.volume = 1);
|
||||
}
|
||||
self.$refs.player.volume += 0.1;
|
||||
});
|
||||
ipcRenderer.on("decreaseVolume", () => {
|
||||
if (self.$refs.player.volume - 0.1 <= 0) {
|
||||
return (self.$refs.player.volume = 0);
|
||||
}
|
||||
self.$refs.player.volume -= 0.1;
|
||||
});
|
||||
ipcRenderer.on("like", () => {
|
||||
self.$refs.player.likeCurrentSong();
|
||||
});
|
||||
ipcRenderer.on("repeat", () => {
|
||||
self.$refs.player.repeat();
|
||||
});
|
||||
ipcRenderer.on("shuffle", () => {
|
||||
self.$refs.player.shuffle();
|
||||
});
|
||||
ipcRenderer(this);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
|
@ -1,74 +1,44 @@
|
|||
"use strict";
|
||||
const path = require('path')
|
||||
// import { autoUpdater } from "electron-updater"
|
||||
import {
|
||||
app,
|
||||
protocol,
|
||||
BrowserWindow,
|
||||
ipcMain,
|
||||
globalShortcut
|
||||
} from "electron";
|
||||
|
||||
import { app, protocol, BrowserWindow, globalShortcut } from "electron";
|
||||
import { createProtocol } from "vue-cli-plugin-electron-builder/lib";
|
||||
import installExtension, { VUEJS_DEVTOOLS } from "electron-devtools-installer";
|
||||
import { startNeteaseMusicApi } from "./electron/services";
|
||||
import { initIpcMain } from "./electron/ipcMain.js";
|
||||
import { createMenu } from "./electron/menu";
|
||||
import { createTouchBar } from "./electron/touchBar";
|
||||
import { createDockMenu } from "./electron/dockMenu";
|
||||
import { createTray } from "./electron/tray.js";
|
||||
// import { autoUpdater } from "electron-updater"
|
||||
|
||||
const isDevelopment = process.env.NODE_ENV !== "production";
|
||||
const { createTouchBar } = require("./electron/touchbar");
|
||||
const { createMenu } = require("./electron/menu");
|
||||
const { setAppBounced } = require("./electron/bounced")
|
||||
const { setIcon } = require("./electron/setIcon")
|
||||
|
||||
// Keep a global reference of the window object, if you don't, the window will
|
||||
// be closed automatically when the JavaScript object is garbage collected.
|
||||
let win;
|
||||
let touchbar
|
||||
|
||||
const iconString = path.join(__static, "img/icons/apple-touch-icon.png");
|
||||
|
||||
// Make vuex copy for electron.
|
||||
global.vuexCopy = null
|
||||
// 同步 vuex 状态,由于 player 有循环引用问题,拷贝部分属性
|
||||
ipcMain.on('vuex-state', (e, state) => {
|
||||
global.vuexCopy = state
|
||||
})
|
||||
ipcMain.on("close", () => {
|
||||
win.close();
|
||||
app.quit();
|
||||
});
|
||||
ipcMain.on("minimize", () => {
|
||||
win.minimize();
|
||||
});
|
||||
// ipcMain
|
||||
initIpcMain(win);
|
||||
|
||||
// Scheme must be registered before the app is ready
|
||||
protocol.registerSchemesAsPrivileged([
|
||||
{ scheme: "app", privileges: { secure: true, standard: true } },
|
||||
]);
|
||||
|
||||
setAppBounced(app)
|
||||
setIcon(app, iconString)
|
||||
|
||||
function createWindow() {
|
||||
const tray = require("./electron/tray.js");
|
||||
win = new BrowserWindow({
|
||||
width: 1440,
|
||||
height: 768,
|
||||
icon: iconString,
|
||||
backgroundColor: '#2e2c29',
|
||||
titleBarStyle: "default",
|
||||
height: 840,
|
||||
titleBarStyle: "hiddenInset",
|
||||
webPreferences: {
|
||||
webSecurity: false,
|
||||
nodeIntegration: true,
|
||||
},
|
||||
preload: path.join(__dirname, "./electron/preload.js"),
|
||||
});
|
||||
win.setMenuBarVisibility(false);
|
||||
|
||||
tray.on("click", () => {
|
||||
if (win && win.isVisible()) {
|
||||
win.hide();
|
||||
} else {
|
||||
win.show();
|
||||
}
|
||||
});
|
||||
if (process.platform !== "darwin") {
|
||||
createTray(win);
|
||||
}
|
||||
|
||||
if (process.env.WEBPACK_DEV_SERVER_URL) {
|
||||
// Load the url of the dev server if in development mode
|
||||
|
@ -83,7 +53,7 @@ function createWindow() {
|
|||
win.on("closed", () => {
|
||||
win = null;
|
||||
});
|
||||
return win
|
||||
return win;
|
||||
}
|
||||
|
||||
// Quit when all windows are closed.
|
||||
|
@ -107,27 +77,38 @@ app.on("activate", () => {
|
|||
// initialization and is ready to create browser windows.
|
||||
// Some APIs can only be used after this event occurs.
|
||||
app.on("ready", async () => {
|
||||
// 启动 api 服务器
|
||||
require("./electron/services.js");
|
||||
// start netease music api
|
||||
startNeteaseMusicApi();
|
||||
|
||||
// Install Vue Devtools xtension
|
||||
if (isDevelopment && !process.env.IS_TEST) {
|
||||
// Install Vue Devtools
|
||||
try {
|
||||
await installExtension(VUEJS_DEVTOOLS);
|
||||
} catch (e) {
|
||||
console.error("Vue Devtools failed to install:", e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
// Register shortcut for debug
|
||||
globalShortcut.register("CommandOrControl+K", function () {
|
||||
win.webContents.openDevTools();
|
||||
});
|
||||
|
||||
// create window
|
||||
createWindow();
|
||||
win.once("ready-to-show", () => {
|
||||
win.show()
|
||||
})
|
||||
win.show();
|
||||
});
|
||||
|
||||
// create menu
|
||||
createMenu(win);
|
||||
touchbar = createTouchBar(win)
|
||||
win.setTouchBar(touchbar);
|
||||
|
||||
// create dock menu for macOS
|
||||
app.dock.setMenu(createDockMenu(win));
|
||||
|
||||
// create touchbar
|
||||
win.setTouchBar(createTouchBar(win));
|
||||
|
||||
// autoUpdater.checkForUpdatesAndNotify()
|
||||
});
|
||||
|
||||
|
|
|
@ -109,6 +109,7 @@ nav {
|
|||
// background-color: rgba(255, 255, 255, 0.86);
|
||||
background-color: var(--color-navbar-bg);
|
||||
z-index: 100;
|
||||
-webkit-app-region: drag;
|
||||
}
|
||||
|
||||
.navigation-buttons {
|
||||
|
|
|
@ -173,9 +173,9 @@ export default {
|
|||
this.updatePlayerState({ key: "playing", value: true });
|
||||
return true;
|
||||
}
|
||||
const status = this.howler.playing()
|
||||
const status = this.howler.playing();
|
||||
this.updatePlayerState({ key: "playing", value: status });
|
||||
return status
|
||||
return status;
|
||||
},
|
||||
progressMax() {
|
||||
let max = ~~(this.currentTrack.dt / 1000);
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
export function setAppBounced(app) {
|
||||
let bounceId = app.dock.bounce();
|
||||
app.on('ready', () => {
|
||||
app.dock.cancelBounce(bounceId);
|
||||
})
|
||||
};
|
25
src/electron/dockMenu.js
Normal file
25
src/electron/dockMenu.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
const { Menu } = require("electron");
|
||||
|
||||
export function createDockMenu(win) {
|
||||
return Menu.buildFromTemplate([
|
||||
{
|
||||
label: "Play",
|
||||
click() {
|
||||
win.webContents.send("play");
|
||||
},
|
||||
},
|
||||
{ type: "separator" },
|
||||
{
|
||||
label: "Next",
|
||||
click() {
|
||||
win.webContents.send("next");
|
||||
},
|
||||
},
|
||||
{
|
||||
label: "Previous",
|
||||
click() {
|
||||
win.webContents.send("previous");
|
||||
},
|
||||
},
|
||||
]);
|
||||
}
|
19
src/electron/ipcMain.js
Normal file
19
src/electron/ipcMain.js
Normal file
|
@ -0,0 +1,19 @@
|
|||
import { app, ipcMain } from "electron";
|
||||
|
||||
export function initIpcMain(win) {
|
||||
// Make vuex copy for electron.
|
||||
global.vuexCopy = null;
|
||||
// 同步 vuex 状态,由于 player 有循环引用问题,拷贝部分属性
|
||||
ipcMain.on("vuex-state", (e, state) => {
|
||||
global.vuexCopy = state;
|
||||
});
|
||||
|
||||
ipcMain.on("close", () => {
|
||||
win.close();
|
||||
app.quit();
|
||||
});
|
||||
|
||||
ipcMain.on("minimize", () => {
|
||||
win.minimize();
|
||||
});
|
||||
}
|
49
src/electron/ipcRenderer.js
Normal file
49
src/electron/ipcRenderer.js
Normal file
|
@ -0,0 +1,49 @@
|
|||
export function ipcRenderer(vueInstance) {
|
||||
const self = vueInstance;
|
||||
// 添加专有的类名
|
||||
document.body.classList.add("is-electron");
|
||||
// ipc message channel
|
||||
const electron = window.require("electron");
|
||||
const ipcRenderer = electron.ipcRenderer;
|
||||
// listens to the main process 'changeRouteTo' event and changes the route from
|
||||
// inside this Vue instance, according to what path the main process requires.
|
||||
// responds to Menu click() events at the main process and changes the route accordingly.
|
||||
ipcRenderer.on("changeRouteTo", (event, path) => {
|
||||
self.$router.push(path);
|
||||
});
|
||||
ipcRenderer.on("search", () => {
|
||||
// 触发数据响应
|
||||
self.$refs.navbar.$refs.searchInput.focus();
|
||||
self.$refs.navbar.inputFocus = true;
|
||||
});
|
||||
ipcRenderer.on("play", () => {
|
||||
self.$refs.player.play();
|
||||
});
|
||||
ipcRenderer.on("next", () => {
|
||||
self.$refs.player.next();
|
||||
});
|
||||
ipcRenderer.on("previous", () => {
|
||||
self.$refs.player.previous();
|
||||
});
|
||||
ipcRenderer.on("increaseVolume", () => {
|
||||
if (self.$refs.player.volume + 0.1 >= 1) {
|
||||
return (self.$refs.player.volume = 1);
|
||||
}
|
||||
self.$refs.player.volume += 0.1;
|
||||
});
|
||||
ipcRenderer.on("decreaseVolume", () => {
|
||||
if (self.$refs.player.volume - 0.1 <= 0) {
|
||||
return (self.$refs.player.volume = 0);
|
||||
}
|
||||
self.$refs.player.volume -= 0.1;
|
||||
});
|
||||
ipcRenderer.on("like", () => {
|
||||
self.$refs.player.likeCurrentSong();
|
||||
});
|
||||
ipcRenderer.on("repeat", () => {
|
||||
self.$refs.player.repeat();
|
||||
});
|
||||
ipcRenderer.on("shuffle", () => {
|
||||
self.$refs.player.shuffle();
|
||||
});
|
||||
}
|
|
@ -55,6 +55,13 @@ export function createMenu(win) {
|
|||
},
|
||||
]
|
||||
: [{ role: "delete" }, { type: "separator" }, { role: "selectAll" }]),
|
||||
{
|
||||
label: "Search",
|
||||
accelerator: "CmdOrCtrl+F",
|
||||
click: () => {
|
||||
win.webContents.send("search");
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
|
@ -136,7 +143,7 @@ export function createMenu(win) {
|
|||
{
|
||||
role: "window",
|
||||
id: "window",
|
||||
label: "Yes Play Music",
|
||||
label: "YesPlayMusic",
|
||||
type: "checkbox",
|
||||
checked: true,
|
||||
click: () => {
|
||||
|
|
|
@ -1,57 +1,58 @@
|
|||
const express = require("express");
|
||||
const bodyParser = require("body-parser");
|
||||
const cache = require("../../napi/util/apicache").middleware;
|
||||
const cache = require("../../netease_api/util/apicache").middleware;
|
||||
const fileUpload = require("express-fileupload");
|
||||
import routes from "../../netease_api/routes";
|
||||
|
||||
import routes from "../../napi/routes";
|
||||
export function startNeteaseMusicApi() {
|
||||
// Integrate API
|
||||
const app = express();
|
||||
|
||||
// Integrate API
|
||||
const app = express();
|
||||
|
||||
// CORS & Preflight request
|
||||
app.use((req, res, next) => {
|
||||
if (req.path !== "/" && !req.path.includes(".")) {
|
||||
res.set({
|
||||
"Access-Control-Allow-Credentials": true,
|
||||
"Access-Control-Allow-Origin": req.headers.origin || "*",
|
||||
"Access-Control-Allow-Headers": "X-Requested-With,Content-Type",
|
||||
"Access-Control-Allow-Methods": "PUT,POST,GET,DELETE,OPTIONS",
|
||||
"Content-Type": "application/json; charset=utf-8",
|
||||
});
|
||||
}
|
||||
req.method === "OPTIONS" ? res.status(204).end() : next();
|
||||
});
|
||||
|
||||
// cookie parser
|
||||
app.use((req, res, next) => {
|
||||
req.cookies = {};
|
||||
(req.headers.cookie || "").split(/\s*;\s*/).forEach((pair) => {
|
||||
let crack = pair.indexOf("=");
|
||||
if (crack < 1 || crack == pair.length - 1) return;
|
||||
req.cookies[
|
||||
decodeURIComponent(pair.slice(0, crack)).trim()
|
||||
] = decodeURIComponent(pair.slice(crack + 1)).trim();
|
||||
// CORS & Preflight request
|
||||
app.use((req, res, next) => {
|
||||
if (req.path !== "/" && !req.path.includes(".")) {
|
||||
res.set({
|
||||
"Access-Control-Allow-Credentials": true,
|
||||
"Access-Control-Allow-Origin": req.headers.origin || "*",
|
||||
"Access-Control-Allow-Headers": "X-Requested-With,Content-Type",
|
||||
"Access-Control-Allow-Methods": "PUT,POST,GET,DELETE,OPTIONS",
|
||||
"Content-Type": "application/json; charset=utf-8",
|
||||
});
|
||||
}
|
||||
req.method === "OPTIONS" ? res.status(204).end() : next();
|
||||
});
|
||||
next();
|
||||
});
|
||||
|
||||
// body parser
|
||||
app.use(bodyParser.json());
|
||||
app.use(bodyParser.urlencoded({ extended: false }));
|
||||
// cookie parser
|
||||
app.use((req, res, next) => {
|
||||
req.cookies = {};
|
||||
(req.headers.cookie || "").split(/\s*;\s*/).forEach((pair) => {
|
||||
let crack = pair.indexOf("=");
|
||||
if (crack < 1 || crack == pair.length - 1) return;
|
||||
req.cookies[
|
||||
decodeURIComponent(pair.slice(0, crack)).trim()
|
||||
] = decodeURIComponent(pair.slice(crack + 1)).trim();
|
||||
});
|
||||
next();
|
||||
});
|
||||
|
||||
app.use(fileUpload());
|
||||
// body parser
|
||||
app.use(bodyParser.json());
|
||||
app.use(bodyParser.urlencoded({ extended: false }));
|
||||
|
||||
// cache
|
||||
app.use(cache("2 minutes", (req, res) => res.statusCode === 200));
|
||||
// router
|
||||
app.use(fileUpload());
|
||||
|
||||
Object.keys(routes).forEach((route) => {
|
||||
app.use(route, routes[route]);
|
||||
});
|
||||
// cache
|
||||
app.use(cache("2 minutes", (req, res) => res.statusCode === 200));
|
||||
// router
|
||||
|
||||
const port = process.env.PORT || 10754;
|
||||
const host = process.env.HOST || "127.0.0.1";
|
||||
Object.keys(routes).forEach((route) => {
|
||||
app.use(route, routes[route]);
|
||||
});
|
||||
|
||||
app.server = app.listen(port, host, () => {
|
||||
console.log(`server running @ http://${host ? host : "localhost"}:${port}`);
|
||||
});
|
||||
const port = process.env.PORT || 10754;
|
||||
const host = process.env.HOST || "127.0.0.1";
|
||||
|
||||
app.server = app.listen(port, host, () => {
|
||||
console.log(`server running @ http://${host ? host : "localhost"}:${port}`);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
export function setIcon(app, iconString) {
|
||||
app.dock.setIcon(iconString);
|
||||
}
|
|
@ -1,26 +1,21 @@
|
|||
const path = require("path");
|
||||
const { nativeImage, Tray } = require("electron");
|
||||
import path from "path";
|
||||
import { nativeImage, Tray } from "electron";
|
||||
|
||||
function getNativeIcon(name, width = 24, height = 24) {
|
||||
return nativeImage.createFromPath(path.join(__static, 'img/icons/', name)).resize({
|
||||
width,
|
||||
height,
|
||||
})
|
||||
export function createTray(win) {
|
||||
let icon = nativeImage
|
||||
.createFromPath(path.join(__static, "img/icons/menu@88.png"))
|
||||
.resize({
|
||||
height: 20,
|
||||
width: 20,
|
||||
});
|
||||
let tray = new Tray(icon);
|
||||
|
||||
tray.on("click", () => {
|
||||
if (win && win.isVisible()) {
|
||||
win.hide();
|
||||
} else {
|
||||
win.show();
|
||||
}
|
||||
});
|
||||
return tray;
|
||||
}
|
||||
|
||||
let tray = new Tray(getNativeIcon('menu@88.png', 20, 20));;
|
||||
|
||||
// Temporary no need for menu.
|
||||
// const contextMenu = Menu.buildFromTemplate([
|
||||
// { label: 'Item1', type: 'radio' },
|
||||
// { label: 'Item2', type: 'radio' }
|
||||
// ])
|
||||
|
||||
// Make a change to the context menu
|
||||
// contextMenu.items[1].checked = false
|
||||
|
||||
// tray.setToolTip('Yes Play Music')
|
||||
|
||||
// Call this again for Linux because we modified the context menu
|
||||
// tray.setContextMenu(contextMenu)
|
||||
module.exports = tray;
|
||||
|
|
|
@ -56,7 +56,7 @@ export default {
|
|||
} else {
|
||||
commitMP3(t.mp3);
|
||||
// cacheTrack(`${track.id}`).then((t) => {
|
||||
// commitMP3(URL.createObjectURL(t.mp3));
|
||||
// commitMP3(URL.createObjectURL(t.mp3));
|
||||
// });
|
||||
}
|
||||
});
|
||||
|
|
|
@ -9,8 +9,8 @@ import { changeAppearance } from "@/utils/common";
|
|||
import updateApp from "@/utils/updateApp";
|
||||
import pkg from "../../package.json";
|
||||
// vuex 自定义插件
|
||||
import vuexBroadCast from './plugins/broadcast'
|
||||
import saveToLocalStorage from './plugins/localStorage'
|
||||
import vuexBroadCast from "./plugins/broadcast";
|
||||
import saveToLocalStorage from "./plugins/localStorage";
|
||||
|
||||
if (localStorage.getItem("appVersion") === null) {
|
||||
localStorage.setItem("player", JSON.stringify(initLocalStorage.player));
|
||||
|
@ -28,11 +28,8 @@ const options = {
|
|||
state,
|
||||
mutations,
|
||||
actions,
|
||||
plugins: [
|
||||
saveToLocalStorage,
|
||||
vuexBroadCast,
|
||||
],
|
||||
}
|
||||
plugins: [saveToLocalStorage, vuexBroadCast],
|
||||
};
|
||||
|
||||
const store = new Vuex.Store(options);
|
||||
|
||||
|
|
|
@ -2,16 +2,21 @@
|
|||
const electron = window.require("electron");
|
||||
const ipcRenderer = electron.ipcRenderer;
|
||||
|
||||
export default store => {
|
||||
export default (store) => {
|
||||
// 第一行初始化第一次的状态
|
||||
ipcRenderer.send('vuex-state', store.state)
|
||||
store.subscribe((mutation, { data = '', settings = '', player = {}, contextMenu = {}, liked = {} }) => {
|
||||
const copyState = { data, settings, player, contextMenu, liked }
|
||||
ipcRenderer.send('vuex-state', copyState)
|
||||
})
|
||||
store.subscribe((mutation, state) => {
|
||||
if (mutation.type === 'updateData') {
|
||||
ipcRenderer.send('updateData', state.data)
|
||||
ipcRenderer.send("vuex-state", store.state);
|
||||
store.subscribe(
|
||||
(
|
||||
mutation,
|
||||
{ data = "", settings = "", player = {}, contextMenu = {}, liked = {} }
|
||||
) => {
|
||||
const copyState = { data, settings, player, contextMenu, liked };
|
||||
ipcRenderer.send("vuex-state", copyState);
|
||||
}
|
||||
})
|
||||
}
|
||||
);
|
||||
store.subscribe((mutation, state) => {
|
||||
if (mutation.type === "updateData") {
|
||||
ipcRenderer.send("updateData", state.data);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
|
|
@ -5,4 +5,4 @@ export default (store) => {
|
|||
localStorage.setItem("settings", JSON.stringify(state.settings));
|
||||
localStorage.setItem("data", JSON.stringify(state.data));
|
||||
});
|
||||
};
|
||||
};
|
||||
|
|
|
@ -36,17 +36,17 @@ export function isLooseLoggedIn() {
|
|||
}
|
||||
|
||||
export function getMusicU(string) {
|
||||
const temp = string.split(';')
|
||||
const temp = string.split(";");
|
||||
if (!temp.length) {
|
||||
return undefined
|
||||
return undefined;
|
||||
}
|
||||
const MUSIC_U = temp.find(item => item.includes('MUSIC_U'))
|
||||
const MUSIC_U = temp.find((item) => item.includes("MUSIC_U"));
|
||||
if (MUSIC_U) {
|
||||
return MUSIC_U.split('=')[1]
|
||||
return MUSIC_U.split("=")[1];
|
||||
}
|
||||
return ''
|
||||
return "";
|
||||
}
|
||||
|
||||
export function setMusicU(key, value) {
|
||||
return Cookies.set(key, value)
|
||||
}
|
||||
return Cookies.set(key, value);
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ export function cacheTrack(id) {
|
|||
// tracks.setItem(`${id}`, { mp3: data.data });
|
||||
// return { mp3: data.data };
|
||||
// });
|
||||
return { mp3: data.data[0].url.replace(/^http:/, "https:")}
|
||||
return { mp3: data.data[0].url.replace(/^http:/, "https:") };
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ import { loginWithPhone, loginWithEmail } from "@/api/auth";
|
|||
import md5 from "crypto-js/md5";
|
||||
import { mapMutations } from "vuex";
|
||||
import { userPlaylist } from "@/api/user";
|
||||
import { getMusicU, setMusicU } from '@/utils/auth';
|
||||
import { getMusicU, setMusicU } from "@/utils/auth";
|
||||
|
||||
export default {
|
||||
name: "Login",
|
||||
|
@ -180,8 +180,8 @@ export default {
|
|||
.then((data) => {
|
||||
// 获取接口返回的 MUSIC_U 写进本地 cookie 解决登录时跳转的问题
|
||||
// 但是仍然无法完全模拟登录状态,像喜欢歌曲和喜欢列表都会遇到 301 需要登录问题
|
||||
const MUSIC_U = getMusicU(data.cookie)
|
||||
setMusicU('MUSIC_U', MUSIC_U)
|
||||
const MUSIC_U = getMusicU(data.cookie);
|
||||
setMusicU("MUSIC_U", MUSIC_U);
|
||||
if (data.code !== 502) {
|
||||
this.updateData({ key: "user", value: data.profile });
|
||||
this.afterLogin();
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
const path = require("path");
|
||||
const CopyPlugin = require('copy-webpack-plugin')
|
||||
function resolve(dir) {
|
||||
return path.join(__dirname, dir);
|
||||
}
|
||||
|
@ -7,7 +6,7 @@ function resolve(dir) {
|
|||
module.exports = {
|
||||
devServer: {
|
||||
disableHostCheck: true,
|
||||
port: process.env.DEV_SERVER_PORT || 8080
|
||||
port: process.env.DEV_SERVER_PORT || 8080,
|
||||
},
|
||||
pwa: {
|
||||
name: "YesPlayMusic",
|
||||
|
@ -50,80 +49,68 @@ module.exports = {
|
|||
pluginOptions: {
|
||||
// electron-builder的配置文件
|
||||
electronBuilder: {
|
||||
preload: 'src/electron/preload.js',
|
||||
builderOptions: {
|
||||
// 应用名称
|
||||
productName: 'Yes Play Music',
|
||||
// 版权
|
||||
copyright: 'Copyright © YesPlayMusic',
|
||||
// 机器好的可以打开,配置压缩
|
||||
// compression: "maximum",
|
||||
productName: "YesPlayMusic",
|
||||
copyright: "Copyright © YesPlayMusic",
|
||||
compression: "maximum", // 机器好的可以打开,配置压缩
|
||||
asar: true,
|
||||
publish: [
|
||||
{
|
||||
"provider": "github",
|
||||
"owner": "qier222",
|
||||
"repo": "YesPlayMusic",
|
||||
"vPrefixedTagName": true,
|
||||
"private": true,
|
||||
"releaseType": "draft"
|
||||
}
|
||||
provider: "github",
|
||||
owner: "qier222",
|
||||
repo: "YesPlayMusic",
|
||||
vPrefixedTagName: true,
|
||||
private: true,
|
||||
releaseType: "draft",
|
||||
},
|
||||
],
|
||||
// Compress app using 'electron/asar'
|
||||
asar: true,
|
||||
|
||||
// 项目打包生成的文件目录
|
||||
directories: {
|
||||
output: 'dist_electron'
|
||||
output: "dist_electron",
|
||||
},
|
||||
mac: {
|
||||
category: "public.app-category.music",
|
||||
target: "dmg",
|
||||
darkModeSupport: true,
|
||||
},
|
||||
// window 的 icon 头标
|
||||
win: {
|
||||
publisherName: 'Yes Play Music',
|
||||
icon: 'build/icons/icon.ico',
|
||||
publish: [
|
||||
"github"
|
||||
],
|
||||
publisherName: "YesPlayMusic",
|
||||
icon: "build/icons/icon.ico",
|
||||
publish: ["github"],
|
||||
},
|
||||
// linux 的配置
|
||||
linux: {
|
||||
"target": [
|
||||
"AppImage",
|
||||
"tar.gz",
|
||||
"deb"
|
||||
],
|
||||
icon: "build/icons"
|
||||
target: ["AppImage", "tar.gz", "deb", "rpm", "snap"],
|
||||
category: "Music",
|
||||
icon: "./build/icon.icns",
|
||||
},
|
||||
"dmg": {
|
||||
"icon": "build/icons/icon.icns"
|
||||
dmg: {
|
||||
icon: "build/icons/icon.icns",
|
||||
},
|
||||
// 是否静默安装
|
||||
nsis: {
|
||||
// 是否一键安装,建议为 false,可以让用户点击下一步、下一步、下一步的形式安装程序,如果为true,当用户双击构建好的程序,自动安装程序并打开,即:一键安装
|
||||
oneClick: false,
|
||||
// 允许修改安装目录,建议为 true,是否允许用户改变安装目录,默认是不允许
|
||||
allowToChangeInstallationDirectory: true
|
||||
allowToChangeInstallationDirectory: true,
|
||||
},
|
||||
},
|
||||
// 主线程的配置文件
|
||||
chainWebpackMainProcess: config => {
|
||||
config.plugin('define').tap((args) => {
|
||||
args[0]['IS_ELECTRON'] = true
|
||||
return args
|
||||
})
|
||||
chainWebpackMainProcess: (config) => {
|
||||
config.plugin("define").tap((args) => {
|
||||
args[0]["IS_ELECTRON"] = true;
|
||||
return args;
|
||||
});
|
||||
},
|
||||
// 渲染线程的配置文件
|
||||
chainWebpackRendererProcess: config => {
|
||||
chainWebpackRendererProcess: (config) => {
|
||||
// 渲染线程的一些其他配置
|
||||
// Chain webpack config for electron renderer process only
|
||||
// The following example will set IS_ELECTRON to true in your app
|
||||
config.plugin('define').tap((args) => {
|
||||
args[0]['IS_ELECTRON'] = true
|
||||
return args
|
||||
})
|
||||
config.plugin("define").tap((args) => {
|
||||
args[0]["IS_ELECTRON"] = true;
|
||||
return args;
|
||||
});
|
||||
},
|
||||
// 主入口文件
|
||||
// mainProcessFile: 'src/main.js',
|
||||
mainProcessWatch: ['../napi/routes.js'],
|
||||
mainProcessWatch: ["../netease_api/routes.js"],
|
||||
// mainProcessArgs: []
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
248
yarn.lock
248
yarn.lock
|
@ -883,8 +883,8 @@
|
|||
|
||||
"@electron/get@^1.0.1":
|
||||
version "1.12.2"
|
||||
resolved "https://registry.npm.taobao.org/@electron/get/download/@electron/get-1.12.2.tgz#6442066afb99be08cefb9a281e4b4692b33764f3"
|
||||
integrity sha1-ZEIGavuZvgjO+5ooHktGkrM3ZPM=
|
||||
resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.2.tgz#6442066afb99be08cefb9a281e4b4692b33764f3"
|
||||
integrity sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==
|
||||
dependencies:
|
||||
debug "^4.1.1"
|
||||
env-paths "^2.2.0"
|
||||
|
@ -1352,8 +1352,8 @@
|
|||
|
||||
"@sindresorhus/is@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.npm.taobao.org/@sindresorhus/is/download/@sindresorhus/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
|
||||
integrity sha1-n7OjzzEyMoFR81PeRjLgHlIQK+o=
|
||||
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
|
||||
integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
|
||||
|
||||
"@soda/friendly-errors-webpack-plugin@^1.7.1":
|
||||
version "1.7.1"
|
||||
|
@ -1371,8 +1371,8 @@
|
|||
|
||||
"@szmarczak/http-timer@^1.1.2":
|
||||
version "1.1.2"
|
||||
resolved "https://registry.npm.taobao.org/@szmarczak/http-timer/download/@szmarczak/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421"
|
||||
integrity sha1-sWZeLEYaLNkvTBu/UNVFTeDUtCE=
|
||||
resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421"
|
||||
integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==
|
||||
dependencies:
|
||||
defer-to-connect "^1.0.1"
|
||||
|
||||
|
@ -1502,9 +1502,9 @@
|
|||
integrity sha1-LeHtZnBDk4faHJ9UmireKwp5klY=
|
||||
|
||||
"@types/node@^12.0.12":
|
||||
version "12.19.1"
|
||||
resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-12.19.1.tgz#303f74c8a2b35644594139e948b2be470ae1186f"
|
||||
integrity sha1-MD90yKKzVkRZQTnpSLK+RwrhGG8=
|
||||
version "12.19.6"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.6.tgz#fbf249fa46487dd8c7386d785231368b92a33a53"
|
||||
integrity sha512-U2VopDdmBoYBmtm8Rz340mvvSz34VgX/K9+XCuckvcLGMkt3rbMX8soqFOikIPlPBc5lmw8By9NUK7bEFSBFlQ==
|
||||
|
||||
"@types/normalize-package-data@^2.4.0":
|
||||
version "2.4.0"
|
||||
|
@ -2203,11 +2203,6 @@ anymatch@~3.1.1:
|
|||
normalize-path "^3.0.0"
|
||||
picomatch "^2.0.4"
|
||||
|
||||
apicache@^1.5.3:
|
||||
version "1.5.3"
|
||||
resolved "https://registry.npm.taobao.org/apicache/download/apicache-1.5.3.tgz#8977b358bf7d579d55fe3d183c907ae5dbcfb357"
|
||||
integrity sha1-iXezWL99V51V/j0YPJB65dvPs1c=
|
||||
|
||||
app-builder-bin@3.5.10:
|
||||
version "3.5.10"
|
||||
resolved "https://registry.npm.taobao.org/app-builder-bin/download/app-builder-bin-3.5.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fapp-builder-bin%2Fdownload%2Fapp-builder-bin-3.5.10.tgz#4a7f9999fccc0c435b6284ae1366bc76a17c4a7d"
|
||||
|
@ -2635,9 +2630,9 @@ boolbase@^1.0.0, boolbase@~1.0.0:
|
|||
integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
|
||||
|
||||
boolean@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.npm.taobao.org/boolean/download/boolean-3.0.1.tgz#35ecf2b4a2ee191b0b44986f14eb5f052a5cbb4f"
|
||||
integrity sha1-NezytKLuGRsLRJhvFOtfBSpcu08=
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.2.tgz#df1baa18b6a2b0e70840475e1d93ec8fe75b2570"
|
||||
integrity sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g==
|
||||
|
||||
boxen@^4.2.0:
|
||||
version "4.2.0"
|
||||
|
@ -2762,7 +2757,7 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.8.5:
|
|||
|
||||
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"
|
||||
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
|
||||
integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
|
||||
|
||||
buffer-equal@0.0.1:
|
||||
|
@ -2772,8 +2767,8 @@ buffer-equal@0.0.1:
|
|||
|
||||
buffer-from@^1.0.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
|
||||
integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=
|
||||
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
|
||||
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
|
||||
|
||||
buffer-indexof@^1.0.0:
|
||||
version "1.1.1"
|
||||
|
@ -2954,8 +2949,8 @@ cache-loader@^4.1.0:
|
|||
|
||||
cacheable-request@^6.0.0:
|
||||
version "6.1.0"
|
||||
resolved "https://registry.npm.taobao.org/cacheable-request/download/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912"
|
||||
integrity sha1-IP+4vRYrpL4R6VZ9gj22UQUsqRI=
|
||||
resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912"
|
||||
integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==
|
||||
dependencies:
|
||||
clone-response "^1.0.2"
|
||||
get-stream "^5.1.0"
|
||||
|
@ -3300,7 +3295,7 @@ cliui@^7.0.2:
|
|||
|
||||
clone-response@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npm.taobao.org/clone-response/download/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
|
||||
resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
|
||||
integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
|
||||
dependencies:
|
||||
mimic-response "^1.0.0"
|
||||
|
@ -3451,8 +3446,8 @@ concat-map@0.0.1:
|
|||
|
||||
concat-stream@^1.5.0, concat-stream@^1.6.2:
|
||||
version "1.6.2"
|
||||
resolved "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz?cache=0&sync_timestamp=1589682751334&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconcat-stream%2Fdownload%2Fconcat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
|
||||
integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=
|
||||
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
|
||||
integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
|
||||
dependencies:
|
||||
buffer-from "^1.0.0"
|
||||
inherits "^2.0.3"
|
||||
|
@ -3461,8 +3456,8 @@ concat-stream@^1.5.0, concat-stream@^1.6.2:
|
|||
|
||||
config-chain@^1.1.11:
|
||||
version "1.1.12"
|
||||
resolved "https://registry.npm.taobao.org/config-chain/download/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa"
|
||||
integrity sha1-D96NCRIA616AjK8l/mGMAvSOTvo=
|
||||
resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa"
|
||||
integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==
|
||||
dependencies:
|
||||
ini "^1.3.4"
|
||||
proto-list "~1.2.1"
|
||||
|
@ -3585,7 +3580,7 @@ core-js@^3.4.1, core-js@^3.6.5:
|
|||
|
||||
core-util-is@1.0.2, core-util-is@~1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
|
||||
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
|
||||
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
|
||||
|
||||
cosmiconfig@^5.0.0:
|
||||
|
@ -3893,12 +3888,12 @@ de-indent@^1.0.2:
|
|||
|
||||
debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
|
||||
version "2.6.9"
|
||||
resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1600502894812&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
|
||||
integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
|
||||
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
|
||||
debug@4, debug@^4.0.1:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.npm.taobao.org/debug/download/debug-4.2.0.tgz?cache=0&sync_timestamp=1600502894812&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1"
|
||||
integrity sha1-fxUPk5IOlMWPVXTC/QGjEQ7/5/E=
|
||||
|
@ -3912,6 +3907,13 @@ debug@^3.1.1, debug@^3.2.5:
|
|||
dependencies:
|
||||
ms "^2.1.1"
|
||||
|
||||
debug@^4.1.0, debug@^4.1.1:
|
||||
version "4.3.1"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
|
||||
integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
|
||||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
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=1600502894812&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.0.tgz#efa41cbf14fc9448075367fdaaddf82376da211e"
|
||||
|
@ -3931,7 +3933,7 @@ decode-uri-component@^0.2.0:
|
|||
|
||||
decompress-response@^3.3.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.npm.taobao.org/decompress-response/download/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
|
||||
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
|
||||
integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
|
||||
dependencies:
|
||||
mimic-response "^1.0.0"
|
||||
|
@ -3992,8 +3994,8 @@ defaults@^1.0.3:
|
|||
|
||||
defer-to-connect@^1.0.1:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.npm.taobao.org/defer-to-connect/download/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
|
||||
integrity sha1-MxrgUMCNz3ifjIOnuB8O2U9KxZE=
|
||||
resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
|
||||
integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
|
||||
|
||||
define-properties@^1.1.2, define-properties@^1.1.3:
|
||||
version "1.1.3"
|
||||
|
@ -4083,8 +4085,8 @@ destroy@~1.0.4:
|
|||
|
||||
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"
|
||||
integrity sha1-AU7o+PZpxcWAI9pkuBecCDooxGw=
|
||||
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
|
||||
integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==
|
||||
|
||||
dicer@0.3.0:
|
||||
version "0.3.0"
|
||||
|
@ -4230,7 +4232,7 @@ dotenv@^8.2.0:
|
|||
|
||||
duplexer3@^0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
|
||||
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
|
||||
integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
|
||||
|
||||
duplexer@^0.1.1:
|
||||
|
@ -4409,10 +4411,10 @@ electron-updater@^4.3.5:
|
|||
lodash.isequal "^4.5.0"
|
||||
semver "^7.3.2"
|
||||
|
||||
electron@^10.1.4:
|
||||
version "10.1.4"
|
||||
resolved "https://registry.npm.taobao.org/electron/download/electron-10.1.4.tgz#5462c5fac5b4728691042d0f62133ea2c133e6fd"
|
||||
integrity sha1-VGLF+sW0coaRBC0PYhM+osEz5v0=
|
||||
electron@11.0.2:
|
||||
version "11.0.2"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-11.0.2.tgz#c7bd2b9abdc1446f4578dbfa22573014b6b2df58"
|
||||
integrity sha512-FTYtCm0oj8B8EJhp99BQSW2bd40xYEG/txMj+W3Ed0CNu5zVIIXb5WIrhXLvhcasN5LKy9nkmSZ+u220lCaARg==
|
||||
dependencies:
|
||||
"@electron/get" "^1.0.1"
|
||||
"@types/node" "^12.0.12"
|
||||
|
@ -4458,8 +4460,8 @@ encodeurl@^1.0.2, encodeurl@~1.0.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"
|
||||
integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=
|
||||
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
|
||||
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
|
||||
dependencies:
|
||||
once "^1.4.0"
|
||||
|
||||
|
@ -4484,8 +4486,8 @@ entities@^2.0.0:
|
|||
|
||||
env-paths@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.npm.taobao.org/env-paths/download/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43"
|
||||
integrity sha1-zcpVfcAJFSkX1hZuL+vh8DloXkM=
|
||||
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43"
|
||||
integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==
|
||||
|
||||
errno@^0.1.3, errno@~0.1.7:
|
||||
version "0.1.7"
|
||||
|
@ -4554,8 +4556,8 @@ es-to-primitive@^1.2.1:
|
|||
|
||||
es6-error@^4.1.1:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.npm.taobao.org/es6-error/download/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d"
|
||||
integrity sha1-njr0B0Wd7tR+mpH5uIWoTrBcVh0=
|
||||
resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d"
|
||||
integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==
|
||||
|
||||
es6-promise@^4.0.3:
|
||||
version "4.2.8"
|
||||
|
@ -4589,8 +4591,8 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1
|
|||
|
||||
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=
|
||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
|
||||
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
|
||||
|
||||
escodegen@^1.8.1:
|
||||
version "1.14.3"
|
||||
|
@ -5023,7 +5025,7 @@ faye-websocket@~0.11.1:
|
|||
|
||||
fd-slicer@~1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.npm.taobao.org/fd-slicer/download/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
|
||||
resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
|
||||
integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=
|
||||
dependencies:
|
||||
pend "~1.2.0"
|
||||
|
@ -5283,8 +5285,8 @@ fs-extra@^7.0.1:
|
|||
|
||||
fs-extra@^8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz?cache=0&sync_timestamp=1591229972229&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
|
||||
integrity sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=
|
||||
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
|
||||
integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
|
||||
dependencies:
|
||||
graceful-fs "^4.2.0"
|
||||
jsonfile "^4.0.0"
|
||||
|
@ -5387,8 +5389,8 @@ get-stream@^4.0.0, get-stream@^4.1.0:
|
|||
|
||||
get-stream@^5.0.0, get-stream@^5.1.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-5.2.0.tgz?cache=0&sync_timestamp=1597056502934&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
|
||||
integrity sha1-SWaheV7lrOZecGxLe+txJX1uItM=
|
||||
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
|
||||
integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
|
||||
dependencies:
|
||||
pump "^3.0.0"
|
||||
|
||||
|
@ -5450,8 +5452,8 @@ glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
|
|||
|
||||
global-agent@^2.0.2:
|
||||
version "2.1.12"
|
||||
resolved "https://registry.npm.taobao.org/global-agent/download/global-agent-2.1.12.tgz#e4ae3812b731a9e81cbf825f9377ef450a8e4195"
|
||||
integrity sha1-5K44Ercxqegcv4Jfk3fvRQqOQZU=
|
||||
resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-2.1.12.tgz#e4ae3812b731a9e81cbf825f9377ef450a8e4195"
|
||||
integrity sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==
|
||||
dependencies:
|
||||
boolean "^3.0.1"
|
||||
core-js "^3.6.5"
|
||||
|
@ -5470,8 +5472,8 @@ global-dirs@^2.0.1:
|
|||
|
||||
global-tunnel-ng@^2.7.1:
|
||||
version "2.7.1"
|
||||
resolved "https://registry.npm.taobao.org/global-tunnel-ng/download/global-tunnel-ng-2.7.1.tgz#d03b5102dfde3a69914f5ee7d86761ca35d57d8f"
|
||||
integrity sha1-0DtRAt/eOmmRT17n2GdhyjXVfY8=
|
||||
resolved "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz#d03b5102dfde3a69914f5ee7d86761ca35d57d8f"
|
||||
integrity sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==
|
||||
dependencies:
|
||||
encodeurl "^1.0.2"
|
||||
lodash "^4.17.10"
|
||||
|
@ -5500,8 +5502,8 @@ globals@^12.1.0:
|
|||
|
||||
globalthis@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.npm.taobao.org/globalthis/download/globalthis-1.0.1.tgz#40116f5d9c071f9e8fb0037654df1ab3a83b7ef9"
|
||||
integrity sha1-QBFvXZwHH56PsAN2VN8as6g7fvk=
|
||||
resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.1.tgz#40116f5d9c071f9e8fb0037654df1ab3a83b7ef9"
|
||||
integrity sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==
|
||||
dependencies:
|
||||
define-properties "^1.1.3"
|
||||
|
||||
|
@ -5544,8 +5546,8 @@ globby@^9.2.0:
|
|||
|
||||
got@^9.6.0:
|
||||
version "9.6.0"
|
||||
resolved "https://registry.npm.taobao.org/got/download/got-9.6.0.tgz?cache=0&sync_timestamp=1603212476986&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgot%2Fdownload%2Fgot-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
|
||||
integrity sha1-7fRefWf5lUVwXeH3u+7rEhdl7YU=
|
||||
resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
|
||||
integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==
|
||||
dependencies:
|
||||
"@sindresorhus/is" "^0.14.0"
|
||||
"@szmarczak/http-timer" "^1.1.2"
|
||||
|
@ -5821,8 +5823,8 @@ htmlparser2@^3.3.0, htmlparser2@^3.8.3:
|
|||
|
||||
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"
|
||||
integrity sha1-SekcXL82yblLz81xwj1SSex045A=
|
||||
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
|
||||
integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
|
||||
|
||||
http-deceiver@^1.2.7:
|
||||
version "1.2.7"
|
||||
|
@ -6513,7 +6515,7 @@ isarray@0.0.1:
|
|||
|
||||
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"
|
||||
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
||||
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
|
||||
|
||||
isbinaryfile@^4.0.6:
|
||||
|
@ -6644,7 +6646,7 @@ jsesc@~0.5.0:
|
|||
|
||||
json-buffer@3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
|
||||
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
|
||||
integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
|
||||
|
||||
json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
|
||||
|
@ -6717,7 +6719,7 @@ jsonfile@^2.1.0:
|
|||
|
||||
jsonfile@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
|
||||
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
|
||||
integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
|
||||
optionalDependencies:
|
||||
graceful-fs "^4.1.6"
|
||||
|
@ -6773,8 +6775,8 @@ keyboardevents-areequal@^0.2.1:
|
|||
|
||||
keyv@^3.0.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.npm.taobao.org/keyv/download/keyv-3.1.0.tgz?cache=0&sync_timestamp=1600337463601&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fkeyv%2Fdownload%2Fkeyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
|
||||
integrity sha1-7MIoSG9pmR5J6UdkhaW+Ho/FxNk=
|
||||
resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
|
||||
integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==
|
||||
dependencies:
|
||||
json-buffer "3.0.0"
|
||||
|
||||
|
@ -7088,13 +7090,13 @@ lower-case@^1.1.1:
|
|||
|
||||
lowercase-keys@^1.0.0, lowercase-keys@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
|
||||
integrity sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=
|
||||
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
|
||||
integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
|
||||
|
||||
lowercase-keys@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
|
||||
integrity sha1-JgPni3tLAAbLyi+8yKMgJVislHk=
|
||||
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
|
||||
integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
|
||||
|
||||
lru-cache@^4.0.1, lru-cache@^4.1.2:
|
||||
version "4.1.5"
|
||||
|
@ -7147,8 +7149,8 @@ map-visit@^1.0.0:
|
|||
|
||||
matcher@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npm.taobao.org/matcher/download/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca"
|
||||
integrity sha1-vZBg9MW3CqgEHMxvgDaHYJlPMMo=
|
||||
resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca"
|
||||
integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==
|
||||
dependencies:
|
||||
escape-string-regexp "^4.0.0"
|
||||
|
||||
|
@ -7311,8 +7313,8 @@ mimic-fn@^2.1.0:
|
|||
|
||||
mimic-response@^1.0.0, mimic-response@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.npm.taobao.org/mimic-response/download/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
|
||||
integrity sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=
|
||||
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
|
||||
integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
|
||||
|
||||
min-document@^2.19.0:
|
||||
version "2.19.0"
|
||||
|
@ -7350,8 +7352,8 @@ minimatch@^3.0.4:
|
|||
|
||||
minimist@^1.2.0, minimist@^1.2.5:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&sync_timestamp=1589682820731&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
||||
integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
||||
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
||||
|
||||
minipass-collect@^1.0.2:
|
||||
version "1.0.2"
|
||||
|
@ -7454,7 +7456,7 @@ mri@1.1.4:
|
|||
|
||||
ms@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
||||
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
|
||||
|
||||
ms@2.1.1:
|
||||
|
@ -7464,8 +7466,8 @@ ms@2.1.1:
|
|||
|
||||
ms@2.1.2, 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=
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
||||
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
||||
|
||||
multicast-dns-service-types@^1.1.0:
|
||||
version "1.1.0"
|
||||
|
@ -7645,13 +7647,13 @@ normalize-url@^3.0.0:
|
|||
|
||||
normalize-url@^4.1.0:
|
||||
version "4.5.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=
|
||||
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129"
|
||||
integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==
|
||||
|
||||
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"
|
||||
integrity sha1-JWzEe9DiGMJZxOlVC/QTvCGSr/k=
|
||||
resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9"
|
||||
integrity sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==
|
||||
dependencies:
|
||||
config-chain "^1.1.11"
|
||||
pify "^3.0.0"
|
||||
|
@ -7893,8 +7895,8 @@ os-tmpdir@~1.0.2:
|
|||
|
||||
p-cancelable@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.npm.taobao.org/p-cancelable/download/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
|
||||
integrity sha1-0HjRWjr0CSIMiG8dmgyi5EGrJsw=
|
||||
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
|
||||
integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
|
||||
|
||||
p-finally@^1.0.0:
|
||||
version "1.0.0"
|
||||
|
@ -8204,7 +8206,7 @@ pbkdf2@^3.0.3:
|
|||
|
||||
pend@~1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.npm.taobao.org/pend/download/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
|
||||
resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
|
||||
integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
|
||||
|
||||
performance-now@^2.1.0:
|
||||
|
@ -8244,7 +8246,7 @@ pify@^2.0.0:
|
|||
|
||||
pify@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
|
||||
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
|
||||
integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
|
||||
|
||||
pify@^4.0.1:
|
||||
|
@ -8749,7 +8751,7 @@ prepend-http@^1.0.0:
|
|||
|
||||
prepend-http@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npm.taobao.org/prepend-http/download/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
|
||||
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
|
||||
integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
|
||||
|
||||
prettier@2.1.2:
|
||||
|
@ -8777,8 +8779,8 @@ pretty-error@^2.0.2:
|
|||
|
||||
process-nextick-args@~2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
||||
integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I=
|
||||
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
||||
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
|
||||
|
||||
process@^0.11.10:
|
||||
version "0.11.10"
|
||||
|
@ -8807,7 +8809,7 @@ promise-inflight@^1.0.1:
|
|||
|
||||
proto-list@~1.2.1:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.npm.taobao.org/proto-list/download/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
|
||||
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
|
||||
integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=
|
||||
|
||||
proxy-addr@~2.0.5:
|
||||
|
@ -8855,8 +8857,8 @@ pump@^2.0.0:
|
|||
|
||||
pump@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
|
||||
integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=
|
||||
resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
|
||||
integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
|
||||
dependencies:
|
||||
end-of-stream "^1.1.0"
|
||||
once "^1.3.1"
|
||||
|
@ -9295,7 +9297,7 @@ resolve@^1.10.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.8.1:
|
|||
|
||||
responselike@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npm.taobao.org/responselike/download/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
|
||||
resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
|
||||
integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=
|
||||
dependencies:
|
||||
lowercase-keys "^1.0.0"
|
||||
|
@ -9367,8 +9369,8 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
|
|||
|
||||
roarr@^2.15.3:
|
||||
version "2.15.4"
|
||||
resolved "https://registry.npm.taobao.org/roarr/download/roarr-2.15.4.tgz?cache=0&sync_timestamp=1600094609360&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Froarr%2Fdownload%2Froarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd"
|
||||
integrity sha1-9f55W3uDjM/jXcYI4Cgrnrouev0=
|
||||
resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd"
|
||||
integrity sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==
|
||||
dependencies:
|
||||
boolean "^3.0.1"
|
||||
detect-node "^2.0.4"
|
||||
|
@ -9398,8 +9400,8 @@ rxjs@^6.6.0:
|
|||
|
||||
safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz?cache=0&sync_timestamp=1589682795646&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-buffer%2Fdownload%2Fsafe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
|
||||
integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0=
|
||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
|
||||
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
||||
|
||||
safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
|
||||
version "5.2.1"
|
||||
|
@ -9480,7 +9482,7 @@ selfsigned@^1.10.7:
|
|||
|
||||
semver-compare@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npm.taobao.org/semver-compare/download/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
|
||||
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
|
||||
integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
|
||||
|
||||
semver-diff@^3.1.1:
|
||||
|
@ -9536,8 +9538,8 @@ send@0.17.1:
|
|||
|
||||
serialize-error@^7.0.1:
|
||||
version "7.0.1"
|
||||
resolved "https://registry.npm.taobao.org/serialize-error/download/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18"
|
||||
integrity sha1-8TYLBEf2H/tIPsQVfHN/q313jhg=
|
||||
resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18"
|
||||
integrity sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==
|
||||
dependencies:
|
||||
type-fest "^0.13.1"
|
||||
|
||||
|
@ -9889,8 +9891,8 @@ split2@^3.0.0:
|
|||
|
||||
sprintf-js@^1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
|
||||
integrity sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=
|
||||
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
|
||||
integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==
|
||||
|
||||
sprintf-js@~1.0.2:
|
||||
version "1.0.3"
|
||||
|
@ -10069,8 +10071,8 @@ string_decoder@~0.10.x:
|
|||
|
||||
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"
|
||||
integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=
|
||||
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
|
||||
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
|
||||
dependencies:
|
||||
safe-buffer "~5.1.0"
|
||||
|
||||
|
@ -10162,8 +10164,8 @@ stylehacks@^4.0.0:
|
|||
|
||||
sumchecker@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.npm.taobao.org/sumchecker/download/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42"
|
||||
integrity sha1-Y3fplnlauwttNI6bPh37JDRajkI=
|
||||
resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42"
|
||||
integrity sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==
|
||||
dependencies:
|
||||
debug "^4.1.0"
|
||||
|
||||
|
@ -10486,8 +10488,8 @@ to-object-path@^0.3.0:
|
|||
|
||||
to-readable-stream@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npm.taobao.org/to-readable-stream/download/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771"
|
||||
integrity sha1-zgqgwvPfat+FLvtASng+d8BHV3E=
|
||||
resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771"
|
||||
integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==
|
||||
|
||||
to-regex-range@^2.1.0:
|
||||
version "2.1.1"
|
||||
|
@ -10539,7 +10541,7 @@ traverse@^0.6.6:
|
|||
|
||||
truncate-utf8-bytes@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npm.taobao.org/truncate-utf8-bytes/download/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b"
|
||||
resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b"
|
||||
integrity sha1-QFkjkJWS1W94pYGENLC3hInKXys=
|
||||
dependencies:
|
||||
utf8-byte-length "^1.0.1"
|
||||
|
@ -10605,8 +10607,8 @@ type-fest@^0.11.0:
|
|||
|
||||
type-fest@^0.13.1:
|
||||
version "0.13.1"
|
||||
resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.13.1.tgz?cache=0&sync_timestamp=1602623859603&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934"
|
||||
integrity sha1-AXLLW86AsL1ULqNI21DH4hg02TQ=
|
||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934"
|
||||
integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==
|
||||
|
||||
type-fest@^0.6.0:
|
||||
version "0.6.0"
|
||||
|
@ -10635,7 +10637,7 @@ typedarray-to-buffer@^3.1.5:
|
|||
|
||||
typedarray@^0.0.6:
|
||||
version "0.0.6"
|
||||
resolved "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
||||
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
||||
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
|
||||
|
||||
uglify-js@3.4.x:
|
||||
|
@ -10717,8 +10719,8 @@ unique-string@^2.0.0:
|
|||
|
||||
universalify@^0.1.0:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
|
||||
integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=
|
||||
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
|
||||
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
|
||||
|
||||
universalify@^1.0.0:
|
||||
version "1.0.0"
|
||||
|
@ -10821,7 +10823,7 @@ url-loader@^2.2.0:
|
|||
|
||||
url-parse-lax@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
|
||||
resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
|
||||
integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=
|
||||
dependencies:
|
||||
prepend-http "^2.0.0"
|
||||
|
@ -10861,7 +10863,7 @@ use@^3.1.0:
|
|||
|
||||
utf8-byte-length@^1.0.1:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.npm.taobao.org/utf8-byte-length/download/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61"
|
||||
resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61"
|
||||
integrity sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=
|
||||
|
||||
utif@^2.0.1:
|
||||
|
@ -10873,7 +10875,7 @@ utif@^2.0.1:
|
|||
|
||||
util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
||||
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
||||
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
|
||||
|
||||
util.promisify@1.0.0:
|
||||
|
@ -11504,7 +11506,7 @@ wrap-ansi@^7.0.0:
|
|||
|
||||
wrappy@1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
||||
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
||||
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
|
||||
|
||||
write-file-atomic@^3.0.0:
|
||||
|
@ -11709,7 +11711,7 @@ yargs@^6.5.0:
|
|||
|
||||
yauzl@^2.10.0:
|
||||
version "2.10.0"
|
||||
resolved "https://registry.npm.taobao.org/yauzl/download/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
|
||||
resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
|
||||
integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=
|
||||
dependencies:
|
||||
buffer-crc32 "~0.2.3"
|
||||
|
|
Loading…
Reference in New Issue
Block a user