From fa611ff2eeaac289931eb0e21a962743fb271ba7 Mon Sep 17 00:00:00 2001
From: sean.zhou <sean.zhou@dji.com>
Date: Fri, 23 Sep 2022 17:46:57 +0800
Subject: [PATCH] Update v1.2.0
---
src/api/media.ts | 17
src/components/devices/device-log/use-device-log-upload-detail.ts | 23
src/components/devices/device-log/DeviceLogUploadModal.vue | 210 +
src/api/device-log/index.ts | 172 +
src/pages/page-web/projects/dock.vue | 0
src/types/device.ts | 190 +
src/pages/page-web/home.vue | 71
src/pages/page-web/projects/task.vue | 0
src/components/devices/device-log/DeviceLogDetailModal.vue | 150
src/pages/page-web/projects/create-plan.vue | 0
src/api/wayline.ts | 13
src/utils/color.ts | 8
src/pages/page-web/projects/workspace.vue | 45
src/components/common/topbar.vue | 2
src/router/index.ts | 37
src/components/devices/device-upgrade/DeviceFirmwareUpgrade.vue | 64
src/pages/page-web/projects/layer.vue | 0
src/hooks/use-g-map.ts | 19
src/event-bus/index.ts | 10
src/pages/page-web/projects/wayline.vue | 10
src/utils/constants.ts | 15
src/api/device-upgrade/index.ts | 47
src/components/common/sidebar.vue | 6
src/styles/flex.style.scss | 12
src/utils/time.ts | 15
tsconfig.json | 4
yarn.lock | 5820 +++++++++++++++++-----------------
src/api/manage.ts | 17
src/utils/bytes.ts | 86
src/pages/page-web/projects/media.vue | 0
src/api/http/type.ts | 2
src/components/GMap.vue | 54
src/components/devices/device-log/DeviceLogUploadRecordDrawer.vue | 326 +
src/components/devices/device-hms/DeviceHmsDrawer.vue | 268 +
package-lock.json | 11
src/components/devices/device-log/use-device-log-upload-progress-event.ts | 19
src/components/g-map/DockControlPanel.vue | 131
src/api/device-cmd/index.ts | 20
src/pages/page-web/projects/livestream.vue | 0
src/pages/page-web/projects/tsa.vue | 4
src/websocket/index.ts | 85
src/utils/common.ts | 6
src/pages/page-pilot/pilot-home.vue | 20
src/types/enums.ts | 21
src/types/device-log.ts | 65
src/components/MediaPanel.vue | 10
src/hooks/use-g-map-cover.ts | 18
src/websocket/util/config.ts | 8
src/utils/download.ts | 82
src/components/devices/device-upgrade/use-device-upgrade-event.ts | 19
src/pages/page-web/projects/members.vue | 15
src/utils/device-cmd.ts | 350 ++
src/types/airport-tsa.ts | 38
src/hooks/use-g-map-tsa.ts | 42
src/root.ts | 4
src/pages/page-web/index.vue | 10
src/hooks/use-mouse-tool.ts | 8
src/components/g-map/useDockControl.ts | 48
src/pages/page-web/projects/devices.vue | 436 ++
src/store/index.ts | 26
/dev/null | 518 ---
src/hooks/use-connect-websocket.ts | 21
src/components/devices/device-upgrade/DeviceFirmwareUpgradeModal.vue | 93
package.json | 3
src/components/TaskPanel.vue | 2
src/types/device-cmd.ts | 210 +
src/components/devices/device-upgrade/use-device-upgrade.ts | 42
67 files changed, 6,526 insertions(+), 3,572 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index ccce315..f3082b8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -15,6 +15,7 @@
"agora-rtc-sdk-ng": "^4.12.1",
"ant-design-vue": "^2.2.8",
"axios": "^0.21.1",
+ "mitt": "^3.0.0",
"query-string": "^7.0.1",
"reconnecting-websocket": "^4.4.0",
"vconsole": "^3.8.1",
@@ -4900,6 +4901,11 @@
"resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz",
"integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=",
"license": "MIT"
+ },
+ "node_modules/mitt": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.0.tgz",
+ "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ=="
},
"node_modules/mixin-deep": {
"version": "1.3.2",
@@ -11340,6 +11346,11 @@
"resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz",
"integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI="
},
+ "mitt": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.0.tgz",
+ "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ=="
+ },
"mixin-deep": {
"version": "1.3.2",
"resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz",
diff --git a/package.json b/package.json
index 89acf7c..2cf085e 100644
--- a/package.json
+++ b/package.json
@@ -15,6 +15,7 @@
"agora-rtc-sdk-ng": "^4.12.1",
"ant-design-vue": "^2.2.8",
"axios": "^0.21.1",
+ "mitt": "^3.0.0",
"query-string": "^7.0.1",
"reconnecting-websocket": "^4.4.0",
"vconsole": "^3.8.1",
@@ -90,9 +91,11 @@
"ant-design-vue/es/spin/style/css",
"ant-design-vue/es/switch/style/css",
"ant-design-vue/es/table/style/css",
+ "ant-design-vue/es/tag/style/css",
"ant-design-vue/es/tooltip/style/css",
"ant-design-vue/es/tree/style/css",
"axios",
+ "mitt",
"moment",
"reconnecting-websocket",
"vconsole",
diff --git a/src/api/device-cmd/index.ts b/src/api/device-cmd/index.ts
new file mode 100644
index 0000000..f4ea817
--- /dev/null
+++ b/src/api/device-cmd/index.ts
@@ -0,0 +1,20 @@
+import request, { IWorkspaceResponse } from '/@/api/http/request'
+import { DeviceCmd } from '/@/types/device-cmd'
+
+const CMD_API_PREFIX = '/control/api/v1'
+
+export interface SendCmdParams {
+ dock_sn: string, // 机场cn
+ device_cmd: DeviceCmd // 指令
+}
+
+/**
+ * 发送机场控制指令
+ * @param params
+ * @returns
+ */
+// /control/api/v1/devices/{dock_sn}/jobs/{service_identifier}
+export async function postSendCmd (params: SendCmdParams): Promise<IWorkspaceResponse<{}>> {
+ const resp = await request.post(`${CMD_API_PREFIX}/devices/${params.dock_sn}/jobs/${params.device_cmd}`)
+ return resp.data
+}
diff --git a/src/api/device-log/index.ts b/src/api/device-log/index.ts
new file mode 100644
index 0000000..57099e9
--- /dev/null
+++ b/src/api/device-log/index.ts
@@ -0,0 +1,172 @@
+import request, { IWorkspaceResponse, IListWorkspaceResponse } from '/@/api/http/request'
+import { DeviceValue, DOMAIN } from '/@/types/device'
+import { DeviceLogUploadStatusEnum } from '/@/types/device-log'
+import { ELocalStorageKey } from '/@/types'
+import { CURRENT_CONFIG } from '/@/api/http/config'
+
+const MNG_API_PREFIX = '/manage/api/v1'
+
+const workspaceId: string = localStorage.getItem(ELocalStorageKey.WorkspaceId) || ''
+
+export interface GetDeviceUploadLogListParams {
+ device_sn: string,
+ page: number,
+ page_size: number,
+ begin_time?: number, // 开始时间
+ end_time?: number, // 结束时间
+ status?: DeviceLogUploadStatusEnum, // 日志上传状态
+ logs_information?: string // 搜索内容
+}
+
+export interface BriefDeviceInfo {
+ sn: string,
+ device_model: DeviceValue,
+ device_callsign: string
+}
+
+export interface DeviceLogProgressInfo{
+ device_sn: string,
+ device_model_domain: DOMAIN,
+ progress: number, // 进度
+ result: number, // 上传结果
+ upload_rate: number, // 上传速率
+ status: DeviceLogUploadStatusEnum // 上传状态
+}
+
+export interface DeviceLogItem {
+ boot_index: number, // 日志id
+ start_time: number, // 日志开始时间
+ end_time: number, // 日志结束时间
+ size: number // 日志大小
+}
+
+export interface DeviceLogFileInfo {
+ device_sn: string,
+ module: DOMAIN,
+ result: number,
+ object_key: string,
+ file_id: string,
+ list: DeviceLogItem[]
+}
+
+export interface DeviceLogFileListInfo {
+ files: DeviceLogFileInfo[]
+}
+
+export interface GetDeviceUploadLogListRsp {
+ logs_id: string, // 记录id
+ happen_time: string, // 发生时间
+ user_name: string, // 用户
+ logs_information: string, // 异常描述
+ create_time: string, // 上传时间
+ status:DeviceLogUploadStatusEnum, // 日志上传状态
+ device_topo:{ // 设备topo
+ hosts: BriefDeviceInfo[],
+ parents: BriefDeviceInfo[]
+ },
+ logs_progress: DeviceLogProgressInfo[], // 日志上传进度
+ device_logs: DeviceLogFileListInfo // 设备日志
+}
+
+/**
+ * 获取设备上传日志列表信息
+ * @param params
+ * @returns
+ */
+export async function getDeviceUploadLogList (params: GetDeviceUploadLogListParams): Promise<IListWorkspaceResponse<GetDeviceUploadLogListRsp>> {
+ const resp = await request.get(`${MNG_API_PREFIX}/workspaces/${workspaceId}/devices/${params.device_sn}/logs-uploaded`, {
+ params: params
+ })
+ return resp.data
+}
+
+export interface GetDeviceLogListParams{
+ device_sn: string,
+ domain: DOMAIN[]
+}
+
+/**
+ * 获取设备日志列表信息
+ * @param params
+ * @returns
+ */
+export async function getDeviceLogList (params: GetDeviceLogListParams): Promise<IWorkspaceResponse<DeviceLogFileListInfo>> {
+ const domain = params.domain ? params.domain : []
+ const resp = await request.get(`${MNG_API_PREFIX}/workspaces/${workspaceId}/devices/${params.device_sn}/logs`, {
+ params: {
+ domain_list: domain.join(',')
+ }
+ })
+ return resp.data
+}
+
+export interface UploadDeviceLogBody {
+ device_sn: string
+ happen_time: string // 发生时间
+ logs_information: string // 异常描述
+ files:{
+ list: DeviceLogItem[],
+ device_sn: string,
+ module: DOMAIN
+ }[]
+}
+
+/**
+ * 上传设备日志
+ * @param body
+ * @returns
+ */
+export async function postDeviceUpgrade (body: UploadDeviceLogBody): Promise<IWorkspaceResponse<{}>> {
+ const resp = await request.post(`${MNG_API_PREFIX}/workspaces/${workspaceId}/devices/${body.device_sn}/logs`, body)
+ return resp.data
+}
+
+export type DeviceLogUploadAction = 'cancel'
+
+export interface CancelDeviceLogUploadBody {
+ device_sn: string
+ status: DeviceLogUploadAction
+ module_list: DOMAIN[]
+}
+
+// 取消上传
+export async function cancelDeviceLogUpload (body: CancelDeviceLogUploadBody): Promise<IWorkspaceResponse<{}>> {
+ const url = `${MNG_API_PREFIX}/workspaces/${workspaceId}/devices/${body.device_sn}/logs`
+ const result = await request.delete(url, {
+ data: body
+ })
+ return result.data
+}
+
+export interface DeleteDeviceLogUploadBody {
+ device_sn: string
+ logs_id: string
+}
+
+// 取消上传
+export async function deleteDeviceLogUpload (body: DeleteDeviceLogUploadBody): Promise<IWorkspaceResponse<{}>> {
+ const url = `${MNG_API_PREFIX}/workspaces/${workspaceId}/devices/${body.device_sn}/logs/${body.logs_id}`
+ const result = await request.delete(url, {
+ data: body
+ })
+ return result.data
+}
+
+export interface GetUploadDeviceLogUrlParams{
+ logs_id: string,
+ file_id: string,
+}
+
+// export interface GetUploadDeviceLogRsp{
+// url: string
+// }
+
+/**
+ * 获取设备上传日志url
+ * @param params
+ * @returns
+ */
+export async function getUploadDeviceLogUrl (params: GetUploadDeviceLogUrlParams): Promise<IWorkspaceResponse<string>> {
+ const resp = await request.get(`${MNG_API_PREFIX}/workspaces/${workspaceId}/logs/${params.logs_id}/url/${params.file_id}`)
+ return resp.data
+}
diff --git a/src/api/device-upgrade/index.ts b/src/api/device-upgrade/index.ts
new file mode 100644
index 0000000..b1223c5
--- /dev/null
+++ b/src/api/device-upgrade/index.ts
@@ -0,0 +1,47 @@
+import request, { IWorkspaceResponse } from '/@/api/http/request'
+import { DeviceFirmwareTypeEnum } from '/@/types/device'
+
+const MNG_API_PREFIX = '/manage/api/v1'
+
+export interface GetDeviceUpgradeInfoParams {
+ device_name: string
+}
+
+export interface GetDeviceUpgradeInfoRsp {
+ device_name: string
+ product_version: string
+ release_note: string
+ released_time: string
+}
+
+/**
+ * 获取设备升级信息
+ * @param params
+ * @returns
+ */
+export async function getDeviceUpgradeInfo (params: GetDeviceUpgradeInfoParams): Promise<IWorkspaceResponse<GetDeviceUpgradeInfoRsp[]>> {
+ const resp = await request.get(`${MNG_API_PREFIX}/workspaces/firmware-release-notes/latest`, {
+ params: params
+ })
+ return resp.data
+}
+
+export interface UpgradeDeviceInfo {
+ device_name: string,
+ sn: string,
+ product_version: string,
+ firmware_upgrade_type: DeviceFirmwareTypeEnum // 1-普通升级,2-一致性升级
+}
+
+export type DeviceUpgradeBody = UpgradeDeviceInfo[]
+
+/**
+ * 设备升级
+ * @param workspace_id
+ * @param body
+ * @returns
+ */
+export async function postDeviceUpgrade (workspace_id: string, body: DeviceUpgradeBody): Promise<IWorkspaceResponse<{}>> {
+ const resp = await request.post(`${MNG_API_PREFIX}/devices/${workspace_id}/devices/ota`, body)
+ return resp.data
+}
diff --git a/src/api/http/type.ts b/src/api/http/type.ts
index 33c2a73..f7d7982 100644
--- a/src/api/http/type.ts
+++ b/src/api/http/type.ts
@@ -19,11 +19,11 @@
}
// Workspace
export interface IWorkspaceResponse<T> {
-[x: string]: number;
code: number;
data: T;
message: string;
}
+
export type IStatus = 'WAITING' | 'DOING' | 'SUCCESS' | 'FAILED';
export interface CommonListResponse<T> extends IResult {
diff --git a/src/api/manage.ts b/src/api/manage.ts
index 1fe6b06..559d12b 100644
--- a/src/api/manage.ts
+++ b/src/api/manage.ts
@@ -1,4 +1,6 @@
import request, { CommonListResponse, IListWorkspaceResponse, IPage, IWorkspaceResponse } from '/@/api/http/request'
+import { Device } from '/@/types/device'
+
const HTTP_PREFIX = '/manage/api/v1'
// login
@@ -116,7 +118,14 @@
return result.data
}
-export const getBindingDevices = async function (workspace_id: string, body: IPage, domain: string): Promise<IWorkspaceResponse<any>> {
+/**
+ * 获取绑定设备信息
+ * @param workspace_id
+ * @param body
+ * @param domain
+ * @returns
+ */
+export const getBindingDevices = async function (workspace_id: string, body: IPage, domain: string): Promise<IListWorkspaceResponse<Device>> {
const url = `${HTTP_PREFIX}/devices/${workspace_id}/devices/bound?&page=${body.page}&page_size=${body.page_size}&domain=${domain}`
const result = await request.get(url)
return result.data
@@ -141,11 +150,11 @@
}
export const getDeviceHms = async function (body: HmsQueryBody, workspace_id: string, pagination: IPage): Promise<IListWorkspaceResponse<any>> {
- let url = `${HTTP_PREFIX}/devices/${workspace_id}/devices/hms?page=${pagination.page}&pageSize=${pagination.page_size}` +
- `&level=${body.level ?? ''}&beginTime=${body.begin_time ?? ''}&endTime=${body.end_time ?? ''}&message=${body.message ?? ''}&language=${body.language}`
+ let url = `${HTTP_PREFIX}/devices/${workspace_id}/devices/hms?page=${pagination.page}&page_size=${pagination.page_size}` +
+ `&level=${body.level ?? ''}&begin_time=${body.begin_time ?? ''}&end_time=${body.end_time ?? ''}&message=${body.message ?? ''}&language=${body.language}`
body.sns.forEach((sn: string) => {
if (sn !== '') {
- url = url.concat(`&deviceSn=${sn}`)
+ url = url.concat(`&device_sn=${sn}`)
}
})
const result = await request.get(url)
diff --git a/src/api/media.ts b/src/api/media.ts
index 9cf48d9..9a03ef5 100644
--- a/src/api/media.ts
+++ b/src/api/media.ts
@@ -1,3 +1,4 @@
+import { message } from 'ant-design-vue'
import request, { IPage, IWorkspaceResponse } from '/@/api/http/request'
const HTTP_PREFIX = '/media/api/v1'
@@ -8,11 +9,19 @@
return result.data
}
// Download Media File
-export const downloadMediaFile = async function (workspaceId: string, fingerprint: string): Promise<any> {
- const url = `${HTTP_PREFIX}/files/${workspaceId}/file/${fingerprint}/url`
+export const downloadMediaFile = async function (workspaceId: string, fileId: string): Promise<any> {
+ const url = `${HTTP_PREFIX}/files/${workspaceId}/file/${fileId}/url`
const result = await request.get(url, { responseType: 'blob' })
- if (result.data.code) {
+ if (result.data.type === 'application/json') {
+ const reader = new FileReader()
+ reader.onload = function (e) {
+ let text = reader.result as string
+ const result = JSON.parse(text)
+ message.error(result.message)
+ }
+ reader.readAsText(result.data, 'utf-8')
+ return
+ } else {
return result.data
}
- return result
}
diff --git a/src/api/wayline.ts b/src/api/wayline.ts
index 87c9c31..2efa822 100644
--- a/src/api/wayline.ts
+++ b/src/api/wayline.ts
@@ -1,3 +1,4 @@
+import { message } from 'ant-design-vue'
import request, { IPage, IWorkspaceResponse } from '/@/api/http/request'
const HTTP_PREFIX = '/wayline/api/v1'
@@ -20,10 +21,18 @@
export const downloadWaylineFile = async function (workspaceId: string, waylineId: string): Promise<any> {
const url = `${HTTP_PREFIX}/workspaces/${workspaceId}/waylines/${waylineId}/url`
const result = await request.get(url, { responseType: 'blob' })
- if (result.data.code) {
+ if (result.data.type === 'application/json') {
+ const reader = new FileReader()
+ reader.onload = function (e) {
+ let text = reader.result as string
+ const result = JSON.parse(text)
+ message.error(result.message)
+ }
+ reader.readAsText(result.data, 'utf-8')
+ return
+ } else {
return result.data
}
- return result
}
// Delete Wayline File
diff --git a/src/api/websocket.ts b/src/api/websocket.ts
deleted file mode 100644
index 0d5a08f..0000000
--- a/src/api/websocket.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import ReconnectingWebSocket from 'reconnecting-websocket'
-import { ELocalStorageKey } from '../types/enums'
-import { CURRENT_CONFIG as config } from '/@/api/http/config'
-
-let socket: ReconnectingWebSocket
-
-export default {
- init (getMsgFunc: any) {
- const token: string = localStorage.getItem(ELocalStorageKey.Token)!
- const wspath = config.websocketURL + '?x-auth-token=' + encodeURI(token)
- socket = new ReconnectingWebSocket(wspath, '', { maxRetries: 5 })
- socket.onopen = this.onOpen
- socket.onerror = this.onError
- socket.onmessage = getMsgFunc
- socket.onclose = this.onClose
- return socket
- },
- onOpen () {
- console.log('ws opened')
- },
- onError (err: any) {
- console.error(err)
- },
- onClose () {
- console.log('ws closed')
- },
- sendMsg (data: any) {
- socket.send(data)
- },
- close () {
- socket.close()
- }
-}
diff --git a/src/components/GMap.vue b/src/components/GMap.vue
index 80d540b..411b7ed 100644
--- a/src/components/GMap.vue
+++ b/src/components/GMap.vue
@@ -137,21 +137,23 @@
</div>
</div>
</div>
- <div v-if="osdVisible.visible && osdVisible.is_dock" class="osd-panel fz12" style="height: 280px;">
+ <!-- 机场OSD -->
+ <div v-if="osdVisible.visible && osdVisible.is_dock" class="osd-panel fz12">
<div class="fz16 pl5 pr5 flex-align-center flex-row flex-justify-between" style="border-bottom: 1px solid #515151; height: 10%;">
<span>{{ osdVisible.gateway_callsign }}</span>
<span><a style="color: white;" @click="() => osdVisible.visible = false"><CloseOutlined /></a></span>
</div>
- <div style="height: 45%; border-bottom: 1px solid #515151;">
- <div class="flex-column flex-align-center flex-justify-center" style="float: left; width: 60px; height: 100%; background: #2d2d2d;">
+ <!-- 机场 -->
+ <div class ="flex-display" style="border-bottom: 1px solid #515151;">
+ <div class="flex-column flex-align-stretch flex-justify-center" style="width: 60px; background: #2d2d2d;">
<a-tooltip :title="osdVisible.model">
- <div class="flex-column flex-align-center flex-justify-center" style="width: 90%;">
+ <div class="flex-column flex-align-center flex-justify-center" style="width: 90%;">
<span><RobotFilled style="font-size: 48px;"/></span>
<span class="mt10">Dock</span>
</div>
</a-tooltip>
</div>
- <div class="osd">
+ <div class="osd flex-1" style="flex: 1">
<a-row>
<a-col span="16" :style="deviceInfo.dock.mode_code === EDockModeCode.Disconnected ? 'color: red; font-weight: 700;': 'color: rgb(25,190,107)'">
{{ EDockModeCode[deviceInfo.dock.mode_code] }}</a-col>
@@ -260,10 +262,20 @@
</a-tooltip>
</a-col>
</a-row>
+ <a-row class="p5">
+ <a-col span="24">
+ <a-button type="primary" :disabled="controlPanelVisible" size="small" @click="dockDebugOnOff(osdVisible.gateway_sn, true)">
+ 远程调试
+ </a-button>
+ </a-col>
+ </a-row>
+ <DockControlPanel v-if="controlPanelVisible" :sn="osdVisible.gateway_sn" :deviceInfo="deviceInfo" @close-control-panel="dockDebugOnOff">
+ </DockControlPanel>
</div>
</div>
- <div style="height: 45%;">
- <div class="flex-column flex-align-center flex-justify-center" style="float: left; width: 60px; height: 100%; background: #2d2d2d;">
+ <!-- 飞机-->
+ <div class ="flex-display">
+ <div class="flex-column flex-align-stretch flex-justify-center" style="width: 60px; background: #2d2d2d;">
<a-tooltip :title="osdVisible.model">
<div style="width: 90%;" class="flex-column flex-align-center flex-justify-center">
<span><a-image :src="M30" :preview="false"/></span>
@@ -271,7 +283,7 @@
</div>
</a-tooltip>
</div>
- <div class="osd">
+ <div class="osd flex-1">
<a-row>
<a-col span="16" :style="!deviceInfo.device || deviceInfo.device?.mode_code === EModeCode.Disconnected ? 'color: red; font-weight: 700;': 'color: rgb(25,190,107)'">
{{ !deviceInfo.device ? EModeCode[EModeCode.Disconnected] : EModeCode[deviceInfo.device?.mode_code] }}</a-col>
@@ -409,6 +421,8 @@
FieldTimeOutlined, CloudOutlined, CloudFilled, FolderOpenOutlined, RobotFilled, ArrowUpOutlined
} from '@ant-design/icons-vue'
import { EDeviceTypeName } from '../types'
+import DockControlPanel from './g-map/DockControlPanel.vue'
+import { useDockControl } from './g-map/useDockControl'
export default defineComponent({
components: {
@@ -428,7 +442,8 @@
FolderOpenOutlined,
RobotFilled,
ArrowUpOutlined,
- ArrowDownOutlined
+ ArrowDownOutlined,
+ DockControlPanel
},
name: 'GMap',
props: {},
@@ -642,6 +657,15 @@
useMouseToolHook.mouseTool(type, getDrawCallback)
mouseMode.value = bool
}
+
+ // dock 控制指令
+ const {
+ controlPanelVisible,
+ setControlPanelVisible,
+ sendDockControlCmd,
+ dockDebugOnOff,
+ } = useDockControl()
+
onMounted(() => {
const app = getApp()
useGMapManageHook.globalPropertiesConfig(app)
@@ -813,15 +837,19 @@
EModeCode,
str,
EDockModeCode,
+ controlPanelVisible,
+ dockDebugOnOff,
}
}
})
</script>
<style lang="scss" scoped>
+
.g-map-wrapper {
height: 100%;
width: 100%;
+
.g-action-panle {
position: absolute;
top: 16px;
@@ -845,13 +873,19 @@
border: 1px solid $primary;
border-radius: 2px;
}
+
+ // antd button 光晕
+ &:deep(.ant-btn){
+ &::after {
+ display: none;
+ }
+ }
}
.osd-panel {
position: absolute;
left: 350px;
top: 10px;
width: 480px;
- height: 160px;
background: black;
color: white;
border-radius: 2px;
diff --git a/src/components/MediaPanel.vue b/src/components/MediaPanel.vue
index 32b7714..0d1dedd 100644
--- a/src/components/MediaPanel.vue
+++ b/src/components/MediaPanel.vue
@@ -32,7 +32,7 @@
import { downloadFile } from '../utils/common'
import { downloadMediaFile, getMediaFiles } from '/@/api/media'
import { DownloadOutlined } from '@ant-design/icons-vue'
-import { Pagination } from 'ant-design-vue'
+import { message, Pagination } from 'ant-design-vue'
import { load } from '@amap/amap-jsapi-loader'
const workspaceId = localStorage.getItem(ELocalStorageKey.WorkspaceId)!
@@ -101,6 +101,7 @@
file_name: string,
file_path: string,
create_time: string,
+ file_id: string,
}
const mediaData = reactive({
@@ -128,12 +129,11 @@
function downloadMedia (media: MediaFile) {
loading.value = true
- downloadMediaFile(workspaceId, media.fingerprint).then(res => {
- if (res.code && res.code !== 0) {
+ downloadMediaFile(workspaceId, media.file_id).then(res => {
+ if (!res) {
return
}
- const suffix = media.file_name.substring(media.file_name.lastIndexOf('.'))
- const data = new Blob([res.data], { type: suffix === '.mp4' ? 'video/mp4' : 'image/jpeg' })
+ const data = new Blob([res])
downloadFile(data, media.file_name)
}).finally(() => {
loading.value = false
diff --git a/src/components/TaskPanel.vue b/src/components/TaskPanel.vue
index ce880e0..084626f 100644
--- a/src/components/TaskPanel.vue
+++ b/src/components/TaskPanel.vue
@@ -9,7 +9,7 @@
<template #status="{ record }">
<span v-if="taskProgressMap[record.bid]">
<a-progress type="line" :percent="taskProgressMap[record.bid]?.progress?.percent"
- :status="taskProgressMap[record.bid]?.status === ETaskStatus.FAILED ? 'exception' : taskProgressMap[record.bid]?.status === ETaskStatus.OK ? 'success' : 'normal'">
+ :status="taskProgressMap[record.bid]?.status.indexOf(ETaskStatus.FAILED) != -1 ? 'exception' : taskProgressMap[record.bid]?.status.indexOf(ETaskStatus.OK) != -1 ? 'success' : 'normal'">
<template #format="percent">
<a-tooltip :title="taskProgressMap[record.bid]?.status">
<div style="white-space: nowrap; text-overflow: ellipsis; overflow: hidden; position: absolute; left: 5px; top: -12px;">
diff --git a/src/pages/project-app/sidebar.vue b/src/components/common/sidebar.vue
similarity index 95%
rename from src/pages/project-app/sidebar.vue
rename to src/components/common/sidebar.vue
index c042e6e..41f6bb7 100644
--- a/src/pages/project-app/sidebar.vue
+++ b/src/components/common/sidebar.vue
@@ -28,7 +28,6 @@
import { getRoot } from '/@/root'
import * as icons from '@ant-design/icons-vue'
import { ERouterName } from '/@/types'
-import websocket from '/@/api/websocket'
interface IOptions {
key: number
@@ -58,7 +57,7 @@
{ key: 1, label: 'Livestream', path: '/' + ERouterName.LIVESTREAM, icon: 'VideoCameraOutlined' },
{ key: 2, label: 'Annotations', path: '/' + ERouterName.LAYER, icon: 'EnvironmentOutlined' },
{ key: 3, label: 'Media Files', path: '/' + ERouterName.MEDIA, icon: 'PictureOutlined' },
- { key: 4, label: 'Fligth Route Library', path: '/' + ERouterName.WAYLINE, icon: 'NodeIndexOutlined' },
+ { key: 4, label: 'Flight Route Library', path: '/' + ERouterName.WAYLINE, icon: 'NodeIndexOutlined' },
{ key: 5, label: 'Task Plan Library', path: '/' + ERouterName.TASK, icon: 'CalendarOutlined' }
]
@@ -66,10 +65,11 @@
const path = typeof item.path === 'string' ? item.path : item.path.path
return root.$route.path?.indexOf(path) === 0
}
+
function goHome () {
root.$router.push('/' + ERouterName.MEMBERS)
- websocket.close()
}
+
return {
options,
selectedRoute,
diff --git a/src/pages/project-app/topbar.vue b/src/components/common/topbar.vue
similarity index 96%
rename from src/pages/project-app/topbar.vue
rename to src/components/common/topbar.vue
index 1555372..02423e4 100644
--- a/src/pages/project-app/topbar.vue
+++ b/src/components/common/topbar.vue
@@ -44,8 +44,6 @@
import { ELocalStorageKey, ERouterName } from '/@/types'
import { UserOutlined, ExportOutlined } from '@ant-design/icons-vue'
import cloudapi from '/@/assets/icons/cloudapi.png'
-import ReconnectingWebSocket from 'reconnecting-websocket'
-import websocket from '/@/api/websocket'
const root = getRoot()
diff --git a/src/components/devices/device-hms/DeviceHmsDrawer.vue b/src/components/devices/device-hms/DeviceHmsDrawer.vue
new file mode 100644
index 0000000..a553ef7
--- /dev/null
+++ b/src/components/devices/device-hms/DeviceHmsDrawer.vue
@@ -0,0 +1,268 @@
+<template>
+ <a-drawer
+ title="Hms Info"
+ placement="right"
+ v-model:visible="sVisible"
+ @update:visible="onVisibleChange"
+ :destroyOnClose="true"
+ :width="800">
+ <div class="flex-row flex-align-center">
+ <div style="width: 240px;">
+ <a-range-picker
+ v-model:value="time"
+ format="YYYY-MM-DD"
+ :placeholder="['Start Time', 'End Time']"
+ @change="onTimeChange"/>
+ </div>
+ <div class="ml5">
+ <a-select
+ style="width: 150px"
+ v-model:value="param.level"
+ @select="onLevelSelect">
+ <a-select-option
+ v-for="item in levels"
+ :key="item.label"
+ :value="item.value"
+ >
+ {{ item.label }}
+ </a-select-option>
+ </a-select>
+ </div>
+ <div class="ml5">
+ <a-select
+ v-model:value="param.domain"
+ :disabled="!param.children_sn || !param.device_sn"
+ style="width: 150px"
+ @select="onDeviceTypeSelect">
+ <a-select-option
+ v-for="item in deviceTypes"
+ :key="item.label"
+ :value="item.value"
+ >
+ {{ item.label }}
+ </a-select-option>
+ </a-select>
+ </div>
+ <div class="ml5">
+ <a-input-search
+ v-model:value="param.message"
+ placeholder="input search message"
+ style="width: 200px"
+ @search="getHms"/>
+ </div>
+ </div>
+ <div>
+ <a-table :columns="hmsColumns" :scroll="{ x: '100%', y: 600 }" :data-source="hmsData.data" :pagination="hmsPaginationProp" @change="refreshHmsData" row-key="hms_id"
+ :rowClassName="rowClassName" :loading="loading">
+ <template #time="{ record }">
+ <div>{{ record.create_time }}</div>
+ <div :style="record.update_time ? '' : record.level === EHmsLevel.CAUTION ? 'color: orange;' :
+ record.level === EHmsLevel.WARN ? 'color: red;' : 'color: #28d445;'">{{ record.update_time ?? 'It is happening...' }}</div>
+ </template>
+ <template #level="{ text }">
+ <div class="flex-row flex-align-center">
+ <div :class="text === EHmsLevel.CAUTION ? 'caution' : text === EHmsLevel.WARN ? 'warn' : 'notice'" style="width: 10px; height: 10px; border-radius: 50%;"></div>
+ <div style="margin-left: 3px;">{{ EHmsLevel[text] }}</div>
+ </div>
+ </template>
+ <template v-for="col in ['code', 'message']" #[col]="{ text }" :key="col">
+ <a-tooltip :title="text">
+ <span>{{ text }}</span>
+ </a-tooltip>
+ </template>
+ </a-table>
+ </div>
+ </a-drawer>
+</template>
+
+<!-- 暂时只抽取该组件 -->
+<script lang="ts" setup>
+import { watchEffect, reactive, ref, defineProps, defineEmits } from 'vue'
+import { getDeviceHms, HmsQueryBody } from '/@/api/manage'
+import moment, { Moment } from 'moment'
+import { ColumnProps, TableState } from 'ant-design-vue/lib/table/interface'
+import { Device, DeviceHms } from '/@/types/device'
+import { IPage } from '/@/api/http/type'
+import { EDeviceTypeName, EHmsLevel, ELocalStorageKey } from '/@/types'
+
+const props = defineProps<{
+ visible: boolean,
+ device: null | Device,
+}>()
+const emit = defineEmits(['update:visible', 'ok', 'cancel'])
+
+const workspaceId: string = localStorage.getItem(ELocalStorageKey.WorkspaceId) || ''
+// 健康状态
+const sVisible = ref(false)
+
+watchEffect(() => {
+ sVisible.value = props.visible
+ // 显示弹框时,获取设备hms信息
+ if (props.visible) {
+ showHms()
+ }
+})
+
+function onVisibleChange (sVisible: boolean) {
+ setVisible(sVisible)
+}
+
+function setVisible (v: boolean, e?: Event) {
+ sVisible.value = v
+ emit('update:visible', v, e)
+}
+
+const loading = ref(false)
+
+const hmsColumns: ColumnProps[] = [
+ { title: 'Alarm Begin | End Time', dataIndex: 'create_time', width: '25%', className: 'titleStyle', slots: { customRender: 'time' } },
+ { title: 'Level', dataIndex: 'level', width: '120px', className: 'titleStyle', slots: { customRender: 'level' } },
+ { title: 'Device', dataIndex: 'domain', width: '12%', className: 'titleStyle' },
+ { title: 'Error Code', dataIndex: 'key', width: '20%', className: 'titleStyle', slots: { customRender: 'code' } },
+ { title: 'Hms Message', dataIndex: 'message_en', className: 'titleStyle', ellipsis: true, slots: { customRender: 'message' } },
+]
+
+interface DeviceHmsData {
+ data: DeviceHms[]
+}
+
+const hmsData = reactive<DeviceHmsData>({
+ data: []
+})
+
+type Pagination = TableState['pagination']
+
+const hmsPaginationProp = reactive({
+ pageSizeOptions: ['20', '50', '100'],
+ showQuickJumper: true,
+ showSizeChanger: true,
+ pageSize: 50,
+ current: 1,
+ total: 0
+})
+
+// 获取分页信息
+function getPaginationBody () {
+ return {
+ page: hmsPaginationProp.current,
+ page_size: hmsPaginationProp.pageSize
+ } as IPage
+}
+
+function showHms () {
+ const dock = props.device
+ if (!dock) return
+ if (dock.domain === EDeviceTypeName.Dock) {
+ getDeviceHmsBySn(dock.device_sn, dock.children?.[0].device_sn ?? '')
+ }
+ if (dock.domain === EDeviceTypeName.Aircraft) {
+ param.domain = EDeviceTypeName.Aircraft
+ getDeviceHmsBySn('', dock.device_sn)
+ }
+}
+
+function refreshHmsData (page: Pagination) {
+ hmsPaginationProp.current = page?.current!
+ hmsPaginationProp.pageSize = page?.pageSize!
+ getHms()
+}
+
+const param = reactive<HmsQueryBody>({
+ sns: [],
+ device_sn: '',
+ children_sn: '',
+ language: 'en',
+ begin_time: new Date(new Date().setDate(new Date().getDate() - 7)).setHours(0, 0, 0, 0),
+ end_time: new Date().setHours(23, 59, 59, 999),
+ domain: '',
+ level: '',
+ message: ''
+})
+
+const levels = [
+ {
+ label: 'All',
+ value: ''
+ }, {
+ label: EHmsLevel[0],
+ value: EHmsLevel.NOTICE
+ }, {
+ label: EHmsLevel[1],
+ value: EHmsLevel.CAUTION
+ }, {
+ label: EHmsLevel[2],
+ value: EHmsLevel.WARN
+ }
+]
+
+const deviceTypes = [
+ {
+ label: 'All',
+ value: ''
+ }, {
+ label: EDeviceTypeName.Aircraft,
+ value: EDeviceTypeName.Aircraft
+ }, {
+ label: EDeviceTypeName.Dock,
+ value: EDeviceTypeName.Dock
+ }
+]
+
+const rowClassName = (record: any, index: number) => {
+ const className = []
+ if ((index & 1) === 0) {
+ className.push('table-striped')
+ }
+ if (record.domain !== EDeviceTypeName.Dock) {
+ className.push('child-row')
+ }
+ return className.toString().replaceAll(',', ' ')
+}
+
+const time = ref([moment(param.begin_time), moment(param.end_time)])
+
+function getHms () {
+ loading.value = true
+ getDeviceHms(param, workspaceId, getPaginationBody())
+ .then(res => {
+ hmsPaginationProp.total = res.data.pagination.total
+ hmsPaginationProp.current = res.data.pagination.page
+ hmsData.data = res.data.list
+ hmsData.data.forEach(hms => {
+ hms.domain = hms.sn === param.children_sn ? EDeviceTypeName.Aircraft : EDeviceTypeName.Dock
+ })
+ loading.value = false
+ }).catch(_err => {
+ loading.value = false
+ })
+}
+
+function getDeviceHmsBySn (sn: string, childSn: string) {
+ param.device_sn = sn
+ param.children_sn = childSn
+ param.sns = [param.device_sn, param.children_sn]
+ getHms()
+}
+
+function onTimeChange (newTime: [Moment, Moment]) {
+ param.begin_time = newTime[0].valueOf()
+ param.end_time = newTime[1].valueOf()
+ getHms()
+}
+
+function onDeviceTypeSelect (val: string) {
+ param.sns = [param.device_sn, param.children_sn]
+ if (val === EDeviceTypeName.Dock) {
+ param.sns = [param.device_sn, '']
+ }
+ if (val === EDeviceTypeName.Aircraft) {
+ param.sns = ['', param.children_sn]
+ }
+ getHms()
+}
+
+function onLevelSelect (val: number) {
+ param.level = val
+ getHms()
+}
+</script>
diff --git a/src/components/devices/device-log/DeviceLogDetailModal.vue b/src/components/devices/device-log/DeviceLogDetailModal.vue
new file mode 100644
index 0000000..c203ce3
--- /dev/null
+++ b/src/components/devices/device-log/DeviceLogDetailModal.vue
@@ -0,0 +1,150 @@
+<template>
+ <a-modal
+ title="日志上传详情"
+ v-model:visible="sVisible"
+ width="900px"
+ :footer="null"
+ @update:visible="onVisibleChange">
+ <div class="device-log-detail-wrap">
+ <div class="device-log-list">
+ <div class="log-list-item">
+ <a-button type="primary" class="download-btn" :disabled="!airportTableLogState.logList?.file_id" size="small" @click="onDownloadLog(airportTableLogState.logList.file_id)">
+ 下载机场日志
+ </a-button>
+ <a-table :columns="airportLogColumns"
+ :scroll="{ x: '100%', y: 600 }"
+ :data-source="airportTableLogState.logList?.list"
+ rowKey="boot_index"
+ :pagination = "false"
+ >
+ <template #log_time="{record}">
+ <div>{{getLogTime(record)}}</div>
+ </template>
+ <template #size="{record}">
+ <div>{{getLogSize(record.size)}}</div>
+ </template>
+ </a-table>
+ </div>
+ <div class="log-list-item">
+ <a-button type="primary" class="download-btn" :disabled="!droneTableLogState.logList?.file_id" size="small" @click="onDownloadLog(droneTableLogState.logList.file_id)">
+ 下载飞行器日志
+ </a-button>
+ <a-table :columns="droneLogColumns"
+ :scroll="{ x: '100%', y: 600 }"
+ :data-source="droneTableLogState.logList?.list"
+ rowKey="boot_index"
+ :pagination = "false"
+ >
+ <template #log_time="{record}">
+ <div>{{getLogTime(record)}}</div>
+ </template>
+ <template #size="{record}">
+ <div>{{getLogSize(record.size)}}</div>
+ </template>
+ </a-table>
+ </div>
+ </div>
+ </div>
+ </a-modal>
+</template>
+
+<script lang="ts" setup>
+import { watchEffect, reactive, ref, defineProps, defineEmits } from 'vue'
+import { ColumnProps, TableState } from 'ant-design-vue/lib/table/interface'
+import { IPage } from '/@/api/http/type'
+import { DOMAIN } from '/@/types/device'
+import { DeviceLogFileInfo, GetDeviceUploadLogListRsp, getUploadDeviceLogUrl } from '/@/api/device-log'
+import { useDeviceLogUploadDetail } from './use-device-log-upload-detail'
+import { download } from '/@/utils/download'
+
+const props = defineProps<{
+ visible: boolean,
+ deviceLog: null | GetDeviceUploadLogListRsp,
+}>()
+const emit = defineEmits(['update:visible'])
+
+const sVisible = ref(false)
+
+watchEffect(() => {
+ sVisible.value = props.visible
+ if (props.visible) {
+ classifyDeviceLog()
+ }
+})
+
+function onVisibleChange (sVisible: boolean) {
+ setVisible(sVisible)
+}
+
+function setVisible (v: boolean, e?: Event) {
+ sVisible.value = v
+ emit('update:visible', v, e)
+}
+
+// 表格
+const airportLogColumns: ColumnProps[] = [
+ { title: '机场日志', dataIndex: 'time', width: '70%', slots: { customRender: 'log_time' } },
+ { title: '文件大小', dataIndex: 'size', width: '30%', slots: { customRender: 'size' } },
+]
+
+const droneLogColumns: ColumnProps[] = [
+ { title: '飞行器日志', dataIndex: 'time', width: '70%', slots: { customRender: 'log_time' } },
+ { title: '文件大小', dataIndex: 'size', width: '30%', slots: { customRender: 'size' } },
+]
+
+const airportTableLogState = reactive({
+ logList: {} as DeviceLogFileInfo,
+})
+
+const droneTableLogState = reactive({
+ logList: {} as DeviceLogFileInfo,
+})
+
+function classifyDeviceLog () {
+ if (!props.deviceLog) return
+ const { device_logs } = props.deviceLog
+ const { files } = device_logs || {}
+ if (files && files.length > 0) {
+ files.forEach(file => {
+ if (file.module === DOMAIN.DOCK) {
+ airportTableLogState.logList = file
+ } else if (file.module === DOMAIN.DRONE) {
+ droneTableLogState.logList = file
+ }
+ })
+ }
+}
+
+const { getLogTime, getLogSize } = useDeviceLogUploadDetail()
+
+async function onDownloadLog (fileId: string) {
+ const { data } = await getUploadDeviceLogUrl({
+ file_id: fileId,
+ logs_id: props.deviceLog?.logs_id || ''
+ })
+ if (data) {
+ download(data)
+ // download('https:/github.com/dji-sdk/Mobile-SDK-Android-V5/archive/refs/heads/dev-sdk-main.zip')
+ }
+}
+
+</script>
+
+<style lang="scss" scoped>
+.device-log-detail-wrap{
+
+ .device-log-list{
+ display: flex;
+ justify-content: space-between;
+ padding: 8px 0;
+ .log-list-item{
+ width: 420px;
+
+ .download-btn{
+ margin-bottom: 10px;
+ }
+ }
+ }
+}
+</style>
+>
diff --git a/src/components/devices/device-log/DeviceLogUploadModal.vue b/src/components/devices/device-log/DeviceLogUploadModal.vue
new file mode 100644
index 0000000..99c2efd
--- /dev/null
+++ b/src/components/devices/device-log/DeviceLogUploadModal.vue
@@ -0,0 +1,210 @@
+<template>
+ <a-modal
+ title="设备日志上传"
+ v-model:visible="sVisible"
+ width="900px"
+ :footer="null"
+ @update:visible="onVisibleChange">
+ <div class="device-log-upload-wrap">
+ <div class="page-action-row">
+ <a-button type="primary" :disabled="deviceLogUploadBtnDisabled" @click="uploadDeviceLog">上传日志</a-button>
+ </div>
+ <div class="device-log-list">
+ <div class="log-list-item">
+ <a-table :columns="airportLogColumns"
+ :scroll="{ x: '100%', y: 600 }"
+ :data-source="airportTableLogState.logList?.list"
+ :loading="airportTableLogState.tableLoading"
+ :row-selection="airportTableLogState.rowSelection"
+ rowKey="boot_index"
+ :pagination = "false">
+ <template #log_time="{record}">
+ <div>{{getLogTime(record)}}</div>
+ </template>
+ <template #size="{record}">
+ <div>{{getLogSize(record.size)}}</div>
+ </template>
+ </a-table>
+ </div>
+ <div class="log-list-item">
+ <a-table :columns="droneLogColumns"
+ :scroll="{ x: '100%', y: 600 }"
+ :data-source="droneTableLogState.logList?.list"
+ :loading="droneTableLogState.tableLoading"
+ :row-selection="droneTableLogState.rowSelection"
+ rowKey="boot_index"
+ :pagination = "false">
+ <template #log_time="{record}">
+ <div>{{getLogTime(record)}}</div>
+ </template>
+ <template #size="{record}">
+ <div>{{getLogSize(record.size)}}</div>
+ </template>
+ </a-table>
+ </div>
+ </div>
+ </div>
+ </a-modal>
+</template>
+
+<script lang="ts" setup>
+import { watchEffect, reactive, ref, computed, defineProps, defineEmits } from 'vue'
+import { ColumnProps, TableState } from 'ant-design-vue/lib/table/interface'
+import { IPage } from '/@/api/http/type'
+import { Device, DOMAIN } from '/@/types/device'
+import { getDeviceLogList, postDeviceUpgrade, DeviceLogFileInfo, UploadDeviceLogBody, DeviceLogItem } from '/@/api/device-log'
+import { message } from 'ant-design-vue'
+import { useDeviceLogUploadDetail } from './use-device-log-upload-detail'
+
+const props = defineProps<{
+ visible: boolean,
+ device: null | Device,
+}>()
+const emit = defineEmits(['update:visible', 'upload-log-ok'])
+
+const sVisible = ref(false)
+
+watchEffect(() => {
+ sVisible.value = props.visible
+ // 显示弹框时,获取设备日志信息
+ if (props.visible) {
+ getDeviceLogInfo()
+ }
+})
+
+function onVisibleChange (sVisible: boolean) {
+ setVisible(sVisible)
+ if (!sVisible) {
+ resetTableLogState()
+ }
+}
+
+function setVisible (v: boolean, e?: Event) {
+ sVisible.value = v
+ emit('update:visible', v, e)
+}
+
+// 表格
+const airportLogColumns: ColumnProps[] = [
+ { title: '机场日志', dataIndex: 'time', width: 100, slots: { customRender: 'log_time' } },
+ { title: '文件大小', dataIndex: 'size', width: 25, slots: { customRender: 'size' } },
+]
+
+const droneLogColumns: ColumnProps[] = [
+ { title: '飞行器日志', dataIndex: 'time', width: 100, slots: { customRender: 'log_time' } },
+ { title: '文件大小', dataIndex: 'size', width: 25, slots: { customRender: 'size' } },
+]
+
+const airportTableLogState = reactive({
+ logList: {} as DeviceLogFileInfo,
+ tableLoading: false,
+ selectRow: [],
+ rowSelection: {
+ columnWidth: 15,
+ selectedRowKeys: [] as number[],
+ onChange: (selectedRowKeys:number[], selectedRows: []) => {
+ airportTableLogState.rowSelection.selectedRowKeys = selectedRowKeys
+ airportTableLogState.selectRow = selectedRows
+ console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows)
+ },
+ }
+})
+
+function resetTableLogState () {
+ airportTableLogState.logList = {} as DeviceLogFileInfo
+ airportTableLogState.selectRow = []
+ airportTableLogState.tableLoading = false
+}
+
+const droneTableLogState = reactive({
+ logList: {} as DeviceLogFileInfo,
+ tableLoading: false,
+ selectRow: [],
+ rowSelection: {
+ columnWidth: 15,
+ selectedRowKeys: [] as number[],
+ onChange: (selectedRowKeys: number[], selectedRows: []) => {
+ droneTableLogState.rowSelection.selectedRowKeys = selectedRowKeys
+ droneTableLogState.selectRow = selectedRows
+ console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows)
+ },
+ }
+})
+
+const deviceLogUploadBtnDisabled = computed(() => {
+ return (airportTableLogState.rowSelection.selectedRowKeys && airportTableLogState.rowSelection.selectedRowKeys.length <= 0) &&
+ (droneTableLogState.rowSelection.selectedRowKeys && droneTableLogState.rowSelection.selectedRowKeys.length <= 0)
+})
+
+// 获取设备内日志
+async function getDeviceLogInfo () {
+ airportTableLogState.tableLoading = true
+ droneTableLogState.tableLoading = true
+ try {
+ const { code, data } = await getDeviceLogList({
+ device_sn: props.device?.device_sn || '',
+ domain: [DOMAIN.DOCK, DOMAIN.DRONE]
+ })
+ if (code === 0) {
+ const { files } = data
+ if (files && files.length > 0) {
+ files.forEach(file => {
+ if (file.module === DOMAIN.DOCK) {
+ airportTableLogState.logList = file
+ } else if (file.module === DOMAIN.DRONE) {
+ droneTableLogState.logList = file
+ }
+ })
+ }
+ }
+ } catch (err) {
+ }
+ airportTableLogState.tableLoading = false
+ droneTableLogState.tableLoading = false
+}
+
+// 日志上传
+async function uploadDeviceLog () {
+ const body = {
+ device_sn: props.device?.device_sn || '',
+ files: [] as any
+ } as UploadDeviceLogBody
+ if (airportTableLogState.selectRow && airportTableLogState.selectRow.length > 0) {
+ body.files.push({
+ list: airportTableLogState.selectRow,
+ device_sn: airportTableLogState.logList.device_sn,
+ module: airportTableLogState.logList.module
+ })
+ }
+ if (droneTableLogState.selectRow && droneTableLogState.selectRow.length > 0) {
+ body.files.push({
+ list: droneTableLogState.selectRow,
+ device_sn: droneTableLogState.logList.device_sn,
+ module: droneTableLogState.logList.module
+ })
+ }
+ const { code } = await postDeviceUpgrade(body)
+ if (code === 0) {
+ message.success('日志上传任务执行成功')
+ emit('upload-log-ok')
+ setVisible(false)
+ }
+}
+
+const { getLogTime, getLogSize } = useDeviceLogUploadDetail()
+
+</script>
+
+<style lang="scss" scoped>
+.device-log-upload-wrap{
+
+ .device-log-list{
+ display: flex;
+ justify-content: space-between;
+ padding: 8px 0;
+ .log-list-item{
+ width: 420px;
+ }
+ }
+}
+</style>
diff --git a/src/components/devices/device-log/DeviceLogUploadRecordDrawer.vue b/src/components/devices/device-log/DeviceLogUploadRecordDrawer.vue
new file mode 100644
index 0000000..1d1b2a4
--- /dev/null
+++ b/src/components/devices/device-log/DeviceLogUploadRecordDrawer.vue
@@ -0,0 +1,326 @@
+<template>
+ <a-drawer
+ title="设备日志上传记录"
+ placement="right"
+ v-model:visible="sVisible"
+ @update:visible="onVisibleChange"
+ :width="800">
+ <!-- 设备日志上传记录 -->
+ <div class="device-log-upload-record-wrap">
+ <div class="page-action-row">
+ <a-button type="primary" @click="onUploadDeviceLog">上传日志</a-button>
+ </div>
+ <div class="device-log-upload-list">
+ <a-table :columns="deviceLogUploadListColumns"
+ :scroll="{ x: '100%', y: 600 }"
+ :data-source="deviceUploadLogState.uploadLogList"
+ :loading="deviceUploadLogState.loading"
+ :pagination="deviceUploadLogState.paginationProp"
+ @change="onDeviceUploadLogTableChange"
+ rowKey="logs_id">
+ <!-- 设备类型 -->
+ <template #device_type="{ record }">
+ <div>
+ <div v-if="getDeviceInfo(record).parents && getDeviceInfo(record).parents.length > 0">{{ DEVICE_NAME[getDeviceInfo(record).parents[0].device_model.key]}}</div>
+ <div v-if="getDeviceInfo(record).hosts && getDeviceInfo(record).hosts.length > 0">{{ DEVICE_NAME[getDeviceInfo(record).hosts[0].device_model.key]}}</div>
+ </div>
+ </template>
+ <!-- 设备sn -->
+ <template #device_sn="{ record }">
+ <div>
+ <div v-if="getDeviceInfo(record).parents && getDeviceInfo(record).parents.length > 0">{{ getDeviceInfo(record).parents[0].sn }}</div>
+ <div v-if="getDeviceInfo(record).hosts && getDeviceInfo(record).hosts.length > 0">{{ getDeviceInfo(record).hosts[0].sn }}</div>
+ </div>
+ </template>
+ <!-- 上传状态 -->
+ <template #status="{ record }">
+ <div>
+ <div>
+ <span class="circle-icon" :style="{backgroundColor: getDeviceLogUploadStatus(record).color}"></span>
+ {{ getDeviceLogUploadStatus(record).text }}
+ </div>
+ <div v-if="record.status === DeviceLogUploadStatusEnum.Uploading">
+ <a-progress :percent="getLogProgress(record)" />
+ </div>
+ </div>
+ </template>
+ <!-- 操作 -->
+ <template #action="{ record }">
+ <div class="row-action">
+ <a-tooltip title="查看详情">
+ <FileTextOutlined @click="showDeviceLogDetail(record)"/>
+ </a-tooltip>
+ <span v-if="record.status === DeviceLogUploadStatusEnum.Uploading">
+ <a-tooltip title="取消">
+ <StopOutlined @click="onCancelUploadDeviceLog(record)"/>
+ </a-tooltip>
+ </span>
+ <span v-else>
+ <a-tooltip title="删除">
+ <DeleteOutlined @click="onDeleteUploadDeviceLog(record)"/>
+ </a-tooltip>
+ </span>
+ </div>
+ </template>
+ </a-table>
+ </div>
+ </div>
+ </a-drawer>
+ <!-- 设备日志上传弹框 -->
+ <DeviceLogUploadModal
+ v-model:visible="deviceLogUploadModalVisible"
+ :device="props.device"
+ @upload-log-ok="onUploadLogOk"
+ ></DeviceLogUploadModal>
+
+ <!-- 设备日志上传详情弹框 -->
+ <DeviceLogDetailModal
+ v-model:visible="deviceLogDetailModalVisible"
+ :deviceLog="currentDeviceLog"
+ ></DeviceLogDetailModal>
+</template>
+
+<script lang="ts" setup>
+import { watchEffect, reactive, ref, defineProps, defineEmits } from 'vue'
+import { ColumnProps, TableState } from 'ant-design-vue/lib/table/interface'
+import { IPage } from '/@/api/http/type'
+import { Device, DOMAIN, DEVICE_NAME } from '/@/types/device'
+import DeviceLogUploadModal from './DeviceLogUploadModal.vue'
+import DeviceLogDetailModal from './DeviceLogDetailModal.vue'
+import { getDeviceUploadLogList, GetDeviceUploadLogListRsp, cancelDeviceLogUpload, deleteDeviceLogUpload } from '/@/api/device-log'
+import { StopOutlined, DeleteOutlined, FileTextOutlined } from '@ant-design/icons-vue'
+import { DeviceLogUploadStatusEnum, DeviceLogUploadStatusMap, DeviceLogUploadStatusColor, DeviceLogUploadInfo, DeviceLogUploadWsStatusMap, DeviceLogProgressInfo } from '/@/types/device-log'
+import { useDeviceLogUploadProgressEvent } from './use-device-log-upload-progress-event'
+import { Modal } from 'ant-design-vue'
+
+const props = defineProps<{
+ visible: boolean,
+ device: null | Device,
+}>()
+const emit = defineEmits(['update:visible'])
+
+const sVisible = ref(false)
+
+watchEffect(() => {
+ sVisible.value = props.visible
+ // 显示弹框时,获取设备日志上传记录信息
+ if (props.visible) {
+ getDeviceUploadLogInfo()
+ }
+})
+
+function onVisibleChange (sVisible: boolean) {
+ setVisible(sVisible)
+}
+
+function setVisible (v: boolean, e?: Event) {
+ sVisible.value = v
+ emit('update:visible', v, e)
+}
+
+// 日志列表
+const deviceLogUploadListColumns: ColumnProps[] = [
+ { title: '上传时间', dataIndex: 'create_time', width: 100 },
+ { title: '设备型号', dataIndex: 'device_type', width: 80, slots: { customRender: 'device_type' } },
+ { title: '设备SN', dataIndex: 'device_sn', width: 120, slots: { customRender: 'device_sn' } },
+ { title: '上传状态', dataIndex: 'status', width: 120, slots: { customRender: 'status' } },
+ { title: '操作', dataIndex: 'actions', width: 80, slots: { customRender: 'action' } },
+]
+
+const deviceUploadLogState = reactive({
+ uploadLogList: [] as GetDeviceUploadLogListRsp[],
+ loading: false,
+ paginationProp: {
+ pageSizeOptions: ['20', '50', '100'],
+ showQuickJumper: true,
+ showSizeChanger: true,
+ pageSize: 50,
+ current: 1,
+ total: 0
+ }
+})
+
+// 获取上传的设备日志
+async function getDeviceUploadLogInfo () {
+ deviceUploadLogState.loading = true
+ try {
+ const { code, data } = await getDeviceUploadLogList({
+ device_sn: props.device?.device_sn || '',
+ page: deviceUploadLogState.paginationProp.current,
+ page_size: deviceUploadLogState.paginationProp.pageSize
+ })
+ if (code === 0) {
+ deviceUploadLogState.uploadLogList = data.list
+ deviceUploadLogState.paginationProp.total = data.pagination.total
+ deviceUploadLogState.paginationProp.current = data.pagination.page
+ deviceUploadLogState.paginationProp.pageSize = data.pagination.page_size
+ }
+ deviceUploadLogState.loading = false
+ } catch (error) {
+ deviceUploadLogState.loading = false
+ }
+}
+type Pagination = TableState['pagination']
+
+// 获取设备信息
+function getDeviceInfo (deviceLogItem: GetDeviceUploadLogListRsp) {
+ const { device_topo: deviceTopo } = deviceLogItem
+ return deviceTopo
+}
+
+// 获取上传状态
+function getDeviceLogUploadStatus (deviceLogItem: GetDeviceUploadLogListRsp) {
+ const statusObj = {
+ color: '',
+ text: ''
+ }
+ const { status } = deviceLogItem
+ statusObj.color = DeviceLogUploadStatusColor[status]
+ statusObj.text = DeviceLogUploadStatusMap[status]
+ return statusObj
+}
+
+// 获取上传进度
+function getLogProgress (deviceLogItem: GetDeviceUploadLogListRsp) {
+ let percent = 0
+ const { logs_progress } = deviceLogItem
+ if (logs_progress && logs_progress.length > 0) {
+ logs_progress.forEach(log => {
+ percent += (log.progress || 0)
+ })
+ percent = percent / logs_progress.length
+ }
+ return Math.floor(percent)
+}
+
+// 设备日志上传进度更新
+function onDeviceLogUploadWs (data: DeviceLogUploadInfo) {
+ const { sn, output } = data
+ if (output) {
+ const { files, status, logs_id: logId } = output || {}
+ const deviceLogItem = deviceUploadLogState.uploadLogList.find(log => log.logs_id === logId)
+ if (!deviceLogItem) return
+ if (status) {
+ deviceLogItem.status = DeviceLogUploadWsStatusMap[status]
+ }
+ if (files && files.length > 0) {
+ const logsProgress = [] as DeviceLogProgressInfo[]
+ files.forEach(file => {
+ logsProgress.push({
+ ...file,
+ status: DeviceLogUploadWsStatusMap[file.status]
+ })
+ })
+ deviceLogItem.logs_progress = logsProgress
+ }
+ }
+}
+
+useDeviceLogUploadProgressEvent(onDeviceLogUploadWs)
+
+// 搜索
+async function onDeviceUploadLogTableChange (page: Pagination) {
+ deviceUploadLogState.paginationProp.current = page?.current || 1
+ deviceUploadLogState.paginationProp.pageSize = page?.pageSize || 20
+ await getDeviceUploadLogInfo()
+}
+
+// 查看上传设备日志详情
+const deviceLogDetailModalVisible = ref(false)
+const currentDeviceLog = ref({} as GetDeviceUploadLogListRsp)
+
+function showDeviceLogDetail (deviceLogItem: GetDeviceUploadLogListRsp) {
+ if (!deviceLogItem) return
+ currentDeviceLog.value = deviceLogItem
+ deviceLogDetailModalVisible.value = true
+}
+
+// 取消上传设备日志
+async function onCancelUploadDeviceLog (deviceLogItem: GetDeviceUploadLogListRsp) {
+ Modal.confirm({
+ title: '取消日志上传',
+ content: '您确认取消设备日志上传吗?',
+ okType: 'danger',
+ onOk () {
+ cancelDeviceLogUploadOk()
+ },
+ })
+}
+
+async function cancelDeviceLogUploadOk () {
+ const { code } = await cancelDeviceLogUpload({
+ device_sn: props.device?.device_sn || '',
+ module_list: [DOMAIN.DOCK, DOMAIN.DRONE],
+ status: 'cancel'
+ })
+ if (code === 0) {
+ await getDeviceUploadLogInfo()
+ }
+}
+
+// 删除上传的设备日志
+function onDeleteUploadDeviceLog (deviceLogItem: GetDeviceUploadLogListRsp) {
+ Modal.confirm({
+ title: '删除上传日志',
+ content: '您确认删除该条已上传设备日志吗?',
+ okType: 'danger',
+ onOk () {
+ deleteUploadDeviceLogOk(deviceLogItem)
+ },
+ })
+}
+
+async function deleteUploadDeviceLogOk (deviceLogItem: GetDeviceUploadLogListRsp) {
+ const { code } = await deleteDeviceLogUpload({
+ device_sn: props.device?.device_sn || '',
+ logs_id: deviceLogItem.logs_id
+ })
+ if (code === 0) {
+ await getDeviceUploadLogInfo()
+ }
+}
+
+// 上传日志
+const deviceLogUploadModalVisible = ref(false)
+
+function onUploadDeviceLog () {
+ deviceLogUploadModalVisible.value = true
+}
+
+function onUploadLogOk () {
+ // 刷新列表
+ getDeviceUploadLogInfo()
+}
+</script>
+
+<style lang="scss" scoped>
+.device-log-upload-record-wrap{
+ .page-action-row{
+ display: flex;
+ justify-content: space-between;
+ width: 100%;
+ }
+
+ .device-log-upload-list{
+ padding: 20px 0 10px;
+ }
+
+ .circle-icon {
+ display: inline-block;
+ width: 12px;
+ height: 12px;
+ margin-right: 3px;
+ border-radius: 50%;
+ vertical-align: middle;
+ flex-shrink: 0;
+ }
+
+ .row-action{
+ color: #2d8cf0;
+
+ & > span{
+ margin-right: 10px;
+ }
+ }
+}
+</style>
diff --git a/src/components/devices/device-log/use-device-log-upload-detail.ts b/src/components/devices/device-log/use-device-log-upload-detail.ts
new file mode 100644
index 0000000..3a140d4
--- /dev/null
+++ b/src/components/devices/device-log/use-device-log-upload-detail.ts
@@ -0,0 +1,23 @@
+import { DeviceLogItem } from '/@/api/device-log'
+import { bytesToSize } from '/@/utils/bytes'
+import { formatUnixTime } from '/@/utils/time'
+import {
+ DATE_FORMAT_MINUTE
+} from '/@/utils/constants'
+
+export function useDeviceLogUploadDetail () {
+ function getLogTime (deviceLog: DeviceLogItem): string {
+ const startTime = formatUnixTime(deviceLog.start_time, DATE_FORMAT_MINUTE)
+ const endTime = formatUnixTime(deviceLog.end_time, DATE_FORMAT_MINUTE)
+ return `${startTime} — ${endTime}`
+ }
+
+ function getLogSize (size: number) {
+ return bytesToSize(size)
+ }
+
+ return {
+ getLogTime,
+ getLogSize
+ }
+}
diff --git a/src/components/devices/device-log/use-device-log-upload-progress-event.ts b/src/components/devices/device-log/use-device-log-upload-progress-event.ts
new file mode 100644
index 0000000..42a8135
--- /dev/null
+++ b/src/components/devices/device-log/use-device-log-upload-progress-event.ts
@@ -0,0 +1,19 @@
+import EventBus from '/@/event-bus/'
+import { onMounted, onBeforeUnmount } from 'vue'
+import { DeviceLogUploadInfo } from '/@/types/device-log'
+
+export function useDeviceLogUploadProgressEvent (onDeviceLogUploadWs: (data: DeviceLogUploadInfo) => void): void {
+ function handleDeviceLogUploadProgress (payload: any) {
+ onDeviceLogUploadWs(payload.data)
+ // eslint-disable-next-line no-unused-expressions
+ // console.log('payload', payload.data)
+ }
+
+ onMounted(() => {
+ EventBus.on('deviceLogUploadProgress', handleDeviceLogUploadProgress)
+ })
+
+ onBeforeUnmount(() => {
+ EventBus.off('deviceLogUploadProgress', handleDeviceLogUploadProgress)
+ })
+}
diff --git a/src/components/devices/device-upgrade/DeviceFirmwareUpgrade.vue b/src/components/devices/device-upgrade/DeviceFirmwareUpgrade.vue
new file mode 100644
index 0000000..84b0ad8
--- /dev/null
+++ b/src/components/devices/device-upgrade/DeviceFirmwareUpgrade.vue
@@ -0,0 +1,64 @@
+<template>
+<div class="firmware_upgrade_wrap">
+ <!-- 版本 -->
+ <span class="version"> {{ device.firmware_version }}</span>
+ <!-- tag -->
+ <span v-if="getTagStatus(device)"
+ class="status-tag pointer">
+ <a-tag class="pointer"
+ :color="getFirmwareTag(device.firmware_status).color"
+ @click="deviceUpgrade(device)">
+ {{ getFirmwareTag(device.firmware_status).text }}
+ </a-tag>
+ </span>
+ <!-- 进度 -->
+ <span v-if="device.firmware_status === DeviceFirmwareStatusEnum.DuringUpgrade">
+ {{ `${device.firmware_progress}%`}}
+ </span>
+</div>
+</template>
+
+<script lang="ts" setup>
+import { defineProps, defineEmits, ref, watch, computed } from 'vue'
+import { Device, DeviceFirmwareStatusEnum, DeviceFirmwareStatus, DeviceFirmwareStatusColor } from '/@/types/device'
+
+const props = defineProps<{
+ device: Device,
+}>()
+
+const emit = defineEmits(['device-upgrade'])
+const needUpgrade = computed(() => {
+ return props.device.firmware_status === DeviceFirmwareStatusEnum.ConsistencyUpgrade ||
+ props.device.firmware_status === DeviceFirmwareStatusEnum.ToUpgraded
+})
+
+function getTagStatus (record: Device) {
+ return record.firmware_status && record.firmware_status !== DeviceFirmwareStatusEnum.None
+}
+
+function getFirmwareTag (status: DeviceFirmwareStatusEnum) {
+ return {
+ text: DeviceFirmwareStatus[status] || '',
+ color: DeviceFirmwareStatusColor[status] || ''
+ }
+}
+
+function deviceUpgrade (record: Device) {
+ if (!needUpgrade.value) return
+ emit('device-upgrade', record)
+}
+
+</script>
+
+<style lang="scss" scoped>
+.firmware_upgrade_wrap{
+
+ .status-tag{
+ margin-left: 10px;
+ }
+
+ .pointer {
+ cursor: pointer;
+ }
+}
+</style>
diff --git a/src/components/devices/device-upgrade/DeviceFirmwareUpgradeModal.vue b/src/components/devices/device-upgrade/DeviceFirmwareUpgradeModal.vue
new file mode 100644
index 0000000..5da7f37
--- /dev/null
+++ b/src/components/devices/device-upgrade/DeviceFirmwareUpgradeModal.vue
@@ -0,0 +1,93 @@
+<template>
+<a-modal :visible="sVisible"
+ :title="title"
+ :closable="false"
+ centered
+ @update:visible="onVisibleChange"
+ @cancel="onCancel"
+ @ok="onConfirm">
+ <div>
+ 升级固件版本: {{ deviceUpgradeInfo?.product_version }}
+ </div>
+</a-modal>
+</template>
+
+<script lang="ts" setup>
+import { defineProps, defineEmits, ref, Ref, watchEffect } from 'vue'
+import { Device, DeviceFirmwareStatusEnum, DeviceFirmwareStatus, DeviceFirmwareTypeEnum } from '/@/types/device'
+import { getDeviceUpgradeInfo, GetDeviceUpgradeInfoRsp, DeviceUpgradeBody } from '/@/api/device-upgrade'
+
+const props = defineProps<{
+ visible: boolean,
+ title: string,
+ device: null | Device,
+}>()
+
+const emit = defineEmits(['update:visible', 'ok', 'cancel'])
+
+const deviceUpgradeInfo:Ref<GetDeviceUpgradeInfoRsp> = ref({} as GetDeviceUpgradeInfoRsp)
+const sVisible = ref(false)
+
+watchEffect(() => {
+ sVisible.value = props.visible
+ // 显示弹框时,获取设备升级信息
+ if (props.visible) {
+ initDeviceUpgradeInfo()
+ }
+})
+
+function onVisibleChange (sVisible: boolean) {
+ setVisible(sVisible)
+}
+
+function setVisible (v: boolean, e?: Event) {
+ sVisible.value = v
+ emit('update:visible', v, e)
+}
+
+// 获取设备升级信息
+async function initDeviceUpgradeInfo () {
+ if (!props.device?.device_name) {
+ return
+ }
+ const { code, data } = await getDeviceUpgradeInfo({ device_name: props.device?.device_name })
+ if (code === 0) {
+ deviceUpgradeInfo.value = data && data[0]
+ }
+}
+
+// 提交
+function checkConfirm () {
+ if (!deviceUpgradeInfo.value.product_version) {
+ return false
+ }
+ if (!props.device) {
+ return false
+ }
+ if (props.device.firmware_status !== DeviceFirmwareStatusEnum.ToUpgraded && props.device.firmware_status !== DeviceFirmwareStatusEnum.ConsistencyUpgrade) {
+ return false
+ }
+ return true
+}
+
+function onConfirm (e: Event) {
+ if (!checkConfirm()) {
+ return
+ }
+ setVisible(false, e)
+ emit('ok', [{
+ device_name: props.device?.device_name,
+ sn: props.device?.device_sn,
+ product_version: deviceUpgradeInfo.value.product_version,
+ firmware_upgrade_type: props.device?.firmware_status === DeviceFirmwareStatusEnum.ToUpgraded ? DeviceFirmwareTypeEnum.ToUpgraded : DeviceFirmwareTypeEnum.ConsistencyUpgrade // 1-普通升级,2-一致性升级
+ }] as DeviceUpgradeBody, e)
+}
+
+function onCancel (e: Event) {
+ setVisible(false, e)
+ emit('cancel', e)
+}
+</script>
+
+<style lang="scss" scoped>
+</style>
diff --git a/src/components/devices/device-upgrade/use-device-upgrade-event.ts b/src/components/devices/device-upgrade/use-device-upgrade-event.ts
new file mode 100644
index 0000000..8195a98
--- /dev/null
+++ b/src/components/devices/device-upgrade/use-device-upgrade-event.ts
@@ -0,0 +1,19 @@
+import EventBus from '/@/event-bus/'
+import { onMounted, onBeforeUnmount } from 'vue'
+import { DeviceCmdExecuteInfo, DeviceCmdExecuteStatus } from '/@/types/device-cmd'
+
+export function useDeviceUpgradeEvent (onDeviceUpgradeWs: (payload: DeviceCmdExecuteInfo) => void): void {
+ function handleDeviceUpgrade (payload: any) {
+ onDeviceUpgradeWs(payload.data)
+ // eslint-disable-next-line no-unused-expressions
+ // console.log('payload', payload.data)
+ }
+
+ onMounted(() => {
+ EventBus.on('deviceUpgrade', handleDeviceUpgrade)
+ })
+
+ onBeforeUnmount(() => {
+ EventBus.off('deviceUpgrade', handleDeviceUpgrade)
+ })
+}
diff --git a/src/components/devices/device-upgrade/use-device-upgrade.ts b/src/components/devices/device-upgrade/use-device-upgrade.ts
new file mode 100644
index 0000000..2591fa5
--- /dev/null
+++ b/src/components/devices/device-upgrade/use-device-upgrade.ts
@@ -0,0 +1,42 @@
+import { Ref, ref } from 'vue'
+import { Device } from '/@/types/device'
+import { postDeviceUpgrade, DeviceUpgradeBody } from '/@/api/device-upgrade'
+
+export function useDeviceFirmwareUpgrade (workspaceId: string) {
+ const deviceFirmwareUpgradeModalVisible = ref(false)
+ const selectedDevice: Ref<null | Device> = ref(null)
+
+ function setDeviceFirmwareUpgradeModalVisible (visible: boolean) {
+ deviceFirmwareUpgradeModalVisible.value = visible
+ }
+
+ function setSelectedDevice (device: null | Device) {
+ selectedDevice.value = device
+ }
+
+ // 点击设备升级
+ function onDeviceUpgrade (record: Device) {
+ if (!record) {
+ return
+ }
+ setSelectedDevice(record)
+ setDeviceFirmwareUpgradeModalVisible(true)
+ }
+
+ // 确认设备升级
+ async function onUpgradeDeviceOk (deviceUpgradeBody: DeviceUpgradeBody) {
+ const { code } = await postDeviceUpgrade(workspaceId, deviceUpgradeBody)
+ if (code === 0) {
+ // setDeviceFirmwareUpgradeModalVisible(false)
+ }
+ }
+
+ return {
+ deviceFirmwareUpgradeModalVisible,
+ setDeviceFirmwareUpgradeModalVisible,
+ selectedDevice,
+ setSelectedDevice,
+ onDeviceUpgrade,
+ onUpgradeDeviceOk,
+ }
+}
diff --git a/src/components/g-map/DockControlPanel.vue b/src/components/g-map/DockControlPanel.vue
new file mode 100644
index 0000000..284d9ca
--- /dev/null
+++ b/src/components/g-map/DockControlPanel.vue
@@ -0,0 +1,131 @@
+<template>
+<div class="dock-control-panel">
+ <!-- title -->
+ <div class="dock-control-panel-header fz16 pl5 pr5 flex-align-center flex-row flex-justify-between">
+ <span>远程调试 {{ props.sn}}</span>
+ <span @click="closeControlPanel">
+ <CloseOutlined />
+ </span>
+ </div>
+ <!-- cmd -->
+ <div class="control-cmd-wrapper">
+ <div v-for="(cmdItem, index) in cmdList" :key="cmdItem.cmdKey" class="control-cmd-item">
+ <div class="control-cmd-item-left">
+ <div class="item-label">{{ cmdItem.label }}</div>
+ <div class="item-status">{{ cmdItem.status }}</div>
+ </div>
+ <div class="control-cmd-item-right">
+ <a-button :loading="cmdItem.loading" size="small" type="primary" @click="sendControlCmd(cmdItem, index)">
+ {{ cmdItem.operateText }}
+ </a-button>
+ </div>
+ </div>
+ </div>
+</div>
+
+</template>
+
+<script setup lang="ts">
+import { defineProps, defineEmits, ref, watch } from 'vue'
+import {
+ CloseOutlined
+} from '@ant-design/icons-vue'
+import { useDockControl } from './useDockControl'
+import { DeviceInfoType } from '/@/types/device'
+import { cmdList as baseCmdList, DeviceCmdItem } from '/@/types/device-cmd'
+import { useMyStore } from '/@/store'
+import { updateDeviceCmdInfoByOsd, updateDeviceCmdInfoByExecuteInfo } from '/@/utils/device-cmd'
+
+const props = defineProps<{
+ sn: string,
+ deviceInfo: DeviceInfoType,
+}>()
+
+const store = useMyStore()
+const initCmdList = baseCmdList.map(cmdItem => Object.assign({}, cmdItem))
+const cmdList = ref(initCmdList)
+
+// 根据机场指令执行状态更新信息
+watch(() => store.state.devicesCmdExecuteInfo, (devicesCmdExecuteInfo) => {
+ if (props.sn && devicesCmdExecuteInfo[props.sn]) {
+ updateDeviceCmdInfoByExecuteInfo(cmdList.value, devicesCmdExecuteInfo[props.sn])
+ }
+}, {
+ immediate: true,
+ deep: true,
+})
+
+// 根据设备osd信息更新信息
+watch(() => props.deviceInfo, (value) => {
+ updateDeviceCmdInfoByOsd(cmdList.value, value)
+ // console.log('deviceInfo', value)
+}, {
+ immediate: true,
+ deep: true
+})
+
+const emit = defineEmits(['close-control-panel'])
+
+function closeControlPanel () {
+ emit('close-control-panel', props.sn, false)
+}
+
+// dock 控制指令
+const {
+ sendDockControlCmd,
+} = useDockControl()
+
+async function sendControlCmd (cmdItem: DeviceCmdItem, index: number) {
+ const success = await sendDockControlCmd({
+ sn: props.sn,
+ cmd: cmdItem.cmdKey
+ }, true)
+ if (success) {
+ // updateDeviceSingleCmdInfo(cmdList.value[index])
+ }
+}
+
+</script>
+
+<style lang='scss' scoped>
+.dock-control-panel{
+ position: absolute;
+ left: calc(100% + 10px);
+ top: 0px;
+ width: 480px;
+ padding: 0 !important;
+ background: #000;
+ color: #fff;
+ border-radius: 2px;
+
+ .dock-control-panel-header{
+ border-bottom: 1px solid #515151;
+ }
+
+ .control-cmd-wrapper{
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ padding: 4px 10px;
+ .control-cmd-item{
+ width: 220px;
+ height: 58px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ border: 1px solid #666;
+ margin: 4px 0;
+ padding: 0 8px;
+
+ .control-cmd-item-left{
+ display: flex;
+ flex-direction: column;
+
+ .item-label{
+ font-weight: 700;
+ }
+ }
+ }
+ }
+}
+</style>
diff --git a/src/components/g-map/useDockControl.ts b/src/components/g-map/useDockControl.ts
new file mode 100644
index 0000000..94e302f
--- /dev/null
+++ b/src/components/g-map/useDockControl.ts
@@ -0,0 +1,48 @@
+import { message } from 'ant-design-vue'
+import { ref } from 'vue'
+import { postSendCmd } from '/@/api/device-cmd'
+import { DeviceCmd } from '/@/types/device-cmd'
+
+export function useDockControl () {
+ const controlPanelVisible = ref(false)
+
+ function setControlPanelVisible (visible: boolean) {
+ controlPanelVisible.value = visible
+ }
+
+ // 远程调试开关
+ async function dockDebugOnOff (sn: string, on: boolean) {
+ const success = await sendDockControlCmd({
+ sn: sn,
+ cmd: on ? DeviceCmd.DebugModeOpen : DeviceCmd.DebugModeClose
+ }, false)
+ if (success) {
+ setControlPanelVisible(on)
+ }
+ }
+
+ // 发送指令
+ async function sendDockControlCmd (params: {
+ sn: string,
+ cmd: DeviceCmd
+ }, tip = true) {
+ try {
+ const { code, message: msg } = await postSendCmd({ dock_sn: params.sn, device_cmd: params.cmd })
+ if (code === 0) {
+ tip && message.success('指令发送成功')
+ return true
+ }
+ throw (msg)
+ } catch (e) {
+ tip && message.error('指令发送失败')
+ return false
+ }
+ }
+
+ return {
+ controlPanelVisible,
+ setControlPanelVisible,
+ sendDockControlCmd,
+ dockDebugOnOff,
+ }
+}
diff --git a/src/event-bus/index.ts b/src/event-bus/index.ts
new file mode 100644
index 0000000..8024981
--- /dev/null
+++ b/src/event-bus/index.ts
@@ -0,0 +1,10 @@
+import mitt, { Emitter } from 'mitt'
+
+type Events = {
+ deviceUpgrade: any;
+ deviceLogUploadProgress: any
+};
+
+const emitter: Emitter<Events> = mitt<Events>()
+
+export default emitter
diff --git a/src/hooks/use-connect-websocket.ts b/src/hooks/use-connect-websocket.ts
new file mode 100644
index 0000000..43fb527
--- /dev/null
+++ b/src/hooks/use-connect-websocket.ts
@@ -0,0 +1,21 @@
+import { onMounted, onUnmounted } from 'vue'
+import ReconnectingWebSocket from 'reconnecting-websocket'
+import ConnectWebSocket, { MessageHandler } from '/@/websocket'
+import { getWebsocketUrl } from '/@/websocket/util/config'
+
+/**
+ * 接收一个message函数
+ * @param messageHandler
+ */
+export function useConnectWebSocket (messageHandler: MessageHandler) {
+ const webSocket = new ConnectWebSocket(getWebsocketUrl())
+
+ onMounted(() => {
+ webSocket?.registerMessageHandler(messageHandler)
+ webSocket?.initSocket()
+ })
+
+ onUnmounted(() => {
+ webSocket?.close()
+ })
+}
diff --git a/src/hooks/use-g-map-cover.ts b/src/hooks/use-g-map-cover.ts
index 1ddf152..38e6d4e 100644
--- a/src/hooks/use-g-map-cover.ts
+++ b/src/hooks/use-g-map-cover.ts
@@ -10,16 +10,18 @@
export function useGMapCover () {
const root = getRoot()
- const AMap = root.$aMapObj
+ const AMap = root.$aMap
const normalColor = '#2D8CF0'
const store = rootStore
const coverList = store.state.coverList
+
function AddCoverToMap (cover :any) {
- root.$aMap.add(cover)
+ root.$map.add(cover)
coverList.push(cover)
// console.log('coverList:', store.state.coverList)
}
+
function getPinIcon (color?:string) {
// console.log('color', color)
const colorObj: {
@@ -31,7 +33,6 @@
'b620e0': pinb620e0,
'e23c39': pine23c39,
'ffbb00': pineffbb00,
-
}
const iconName = (color?.replaceAll('#', '') || '').toLocaleLowerCase()
return new AMap.Icon({
@@ -41,6 +42,7 @@
// imageSize: new AMap.Size(40, 50)
})
}
+
function init2DPin (name: string, coordinates:GeojsonCoordinate, color?:string, data?:{}) {
console.log(name, coordinates[0], coordinates[1], color, data)
const pin = new AMap.Marker({
@@ -54,8 +56,9 @@
// console.log('coordinates pin', pin)
AddCoverToMap(pin)
}
+
function AddOverlayGroup (overlayGroup) {
- root.$aMap.add(overlayGroup)
+ root.$map.add(overlayGroup)
coverList.push(overlayGroup)
}
function initPolyline (name: string, coordinates:GeojsonCoordinate[], color?:string, data?:{}) {
@@ -74,6 +77,7 @@
})
AddOverlayGroup(polyline)
}
+
function initPolygon (name: string, coordinates:GeojsonCoordinate[], color?:string, data?:{}) {
const path = [] as GeojsonCoordinate[]
coordinates.forEach(coordinate => {
@@ -92,6 +96,7 @@
})
AddOverlayGroup(Polygon)
}
+
function removeCoverFromMap (id:string) {
for (let i = 0; i < coverList.length; i++) {
const ele = coverList[i]
@@ -99,12 +104,13 @@
const extdata = ele?.getExtData()
if (extdata?.id === id) {
console.log(extdata)
- root.$aMap.remove(ele)
+ root.$map.remove(ele)
coverList.slice(i, 1)
break
}
}
}
+
function getElementFromMap (id:string) {
// console.log('start', new Date().getTime())
const ele = coverList.find(ele => ele?.getExtData().id === id)
@@ -118,6 +124,7 @@
// }
// })
}
+
function updatePinElement (id:string, name: string, coordinates:GeojsonCoordinate, color?:string) {
const element = getElementFromMap(id) as any
if (element) {
@@ -133,6 +140,7 @@
})
}
}
+
return {
init2DPin,
initPolyline,
diff --git a/src/hooks/use-g-map-tsa.ts b/src/hooks/use-g-map-tsa.ts
index 55b1b59..6db59d8 100644
--- a/src/hooks/use-g-map-tsa.ts
+++ b/src/hooks/use-g-map-tsa.ts
@@ -6,23 +6,30 @@
export function deviceTsaUpdate () {
const root = getRoot()
- const AMap = root.$aMapObj
+ const AMap = root.$aMap
- const map = root.$aMap
const icons: {
[key: string]: string
} = {
- 'sub-device' : '/@/assets/icons/drone.png',
+ 'sub-device': '/@/assets/icons/drone.png',
'gateway': '/@/assets/icons/rc.png',
'dock': '/@/assets/icons/dock.png'
}
const markers = store.state.markerInfo.coverMap
const paths = store.state.markerInfo.pathMap
-
- const passedPolyline = new AMap.Polyline({
- map: map,
- strokeColor: '#939393' // 线颜色
- })
+
+ // Fix: 航迹初始化报错
+ // TODO: 从时序上解决
+ let trackLine = null as any
+ function getTrackLineInstance () {
+ if (!trackLine) {
+ trackLine = new AMap.Polyline({
+ map: root.$map,
+ strokeColor: '#939393' // 线颜色
+ })
+ }
+ return trackLine
+ }
function initIcon (type: string) {
return new AMap.Icon({
@@ -36,13 +43,13 @@
return
}
markers[sn] = new AMap.Marker({
- position: new AMap.LngLat(lng ? lng : 113.935913, lat ? lat : 22.525335),
+ position: new AMap.LngLat(lng || 113.935913, lat || 22.525335),
icon: initIcon(type),
title: name,
anchor: 'top-center',
offset: [0, -20],
})
- root.$aMap.add(markers[sn])
+ root.$map.add(markers[sn])
// markers[sn].on('moving', function (e: any) {
// let path = paths[sn]
@@ -52,19 +59,21 @@
// }
// path.push(e.passedPath[0])
// path.push(e.passedPath[1])
- // passedPolyline.setPath(path)
+ // getTrackLineInstance().setPath(path)
// })
}
+
function removeMarker (sn: string) {
if (!markers[sn]) {
return
}
- root.$aMap.remove(markers[sn])
- passedPolyline.setPath([])
+ root.$map.remove(markers[sn])
+ getTrackLineInstance().setPath([])
delete markers[sn]
delete paths[sn]
}
- function addMarker(sn: string, lng?: number, lat?: number) {
+
+ function addMarker (sn: string, lng?: number, lat?: number) {
getDeviceBySn(localStorage.getItem(ELocalStorageKey.WorkspaceId)!, sn)
.then(data => {
if (data.code !== 0) {
@@ -74,7 +83,8 @@
initMarker(data.data.domain, data.data.nickname, sn, lng, lat)
})
}
- function moveTo(sn: string, lng: number, lat: number) {
+
+ function moveTo (sn: string, lng: number, lat: number) {
let marker = markers[sn]
if (!marker) {
addMarker(sn, lng, lat)
@@ -86,7 +96,7 @@
autoRotation: true
})
}
-
+
return {
marker: markers,
initMarker,
diff --git a/src/hooks/use-g-map.ts b/src/hooks/use-g-map.ts
index ebb095d..020d591 100644
--- a/src/hooks/use-g-map.ts
+++ b/src/hooks/use-g-map.ts
@@ -4,30 +4,35 @@
export function useGMapManage () {
const state = reactive({
- mapEntity: null,
- mapObj: null,
+ aMap: null, // Map类
+ map: null, // 地图对象
mouseTool: null,
})
+
async function initMap (container: string, app:App) {
AMapLoader.load({
...AMapConfig
}).then((AMap) => {
- state.mapObj = AMap
- state.mapEntity = new AMap.Map(container, {
+ state.aMap = AMap
+ state.map = new AMap.Map(container, {
center: [113.935913, 22.525335],
zoom: 15
})
- state.mouseTool = new AMap.MouseTool(state.mapEntity)
- app.config.globalProperties.$aMap = state.mapEntity
- app.config.globalProperties.$aMapObj = state.mapObj
+ state.mouseTool = new AMap.MouseTool(state.map)
+
+ // 挂在到全局
+ app.config.globalProperties.$aMap = state.aMap
+ app.config.globalProperties.$map = state.map
app.config.globalProperties.$mouseTool = state.mouseTool
}).catch(e => {
console.log(e)
})
}
+
function globalPropertiesConfig (app:App) {
initMap('g-container', app)
}
+
return {
globalPropertiesConfig,
}
diff --git a/src/hooks/use-mouse-tool.ts b/src/hooks/use-mouse-tool.ts
index 2a5aa84..2794b7f 100644
--- a/src/hooks/use-mouse-tool.ts
+++ b/src/hooks/use-mouse-tool.ts
@@ -6,13 +6,14 @@
export function useMouseTool () {
const root = getRoot()
- const AMap = root.$aMapObj
+
const state = reactive({
pinNum: 0,
polylineNum: 0,
PolygonNum: 0,
currentType: '',
})
+
function drawPin (type:MapDoodleType, getDrawCallback:Function) {
root?.$mouseTool.marker({
title: type + state.pinNum,
@@ -21,6 +22,7 @@
state.pinNum++
root?.$mouseTool.on('draw', getDrawCallback)
}
+
function drawPolyline (type:MapDoodleType, getDrawCallback:Function) {
root?.$mouseTool.polyline({
strokeColor: '#2d8cf0',
@@ -32,6 +34,7 @@
})
root?.$mouseTool.on('draw', getDrawCallback)
}
+
function drawPolygon (type:MapDoodleType, getDrawCallback:Function) {
root?.$mouseTool.polygon({
strokeColor: '#2d8cf0',
@@ -44,10 +47,12 @@
})
root?.$mouseTool.on('draw', getDrawCallback)
}
+
function drawOff (type:MapDoodleType) {
root?.$mouseTool.close()
root?.$mouseTool.off('draw')
}
+
function mouseTool (type: MapDoodleType, getDrawCallback: Function) {
state.currentType = type
switch (type) {
@@ -65,6 +70,7 @@
break
}
}
+
return {
mouseTool
}
diff --git a/src/pages/elements/elements.vue b/src/pages/elements/elements.vue
deleted file mode 100644
index deeba41..0000000
--- a/src/pages/elements/elements.vue
+++ /dev/null
@@ -1,21 +0,0 @@
-<template>
- <div class="element-map-wrapper">
- <GMap/>
- </div>
-</template>
-
-<script lang="ts">
-import { defineComponent, onMounted } from 'vue'
-import GMap from '/@/components/GMap.vue'
-export default defineComponent({
- name: 'Elements',
- components: { GMap },
- setup () {
- return {
- }
- },
-})
-</script>
-
-<style lang="scss" scoped>
-</style>
diff --git a/src/pages/page-pilot/pilot-home.vue b/src/pages/page-pilot/pilot-home.vue
index 42416fb..fd15838 100644
--- a/src/pages/page-pilot/pilot-home.vue
+++ b/src/pages/page-pilot/pilot-home.vue
@@ -130,9 +130,8 @@
import cloudapi from '/@/assets/icons/cloudapi.png'
import { RightOutlined, CloudOutlined, CloudSyncOutlined, SyncOutlined } from '@ant-design/icons-vue'
import { useMyStore } from '/@/store'
-import ReconnectingWebSocket from 'reconnecting-websocket'
-import websocket from '/@/api/websocket'
import { DeviceStatus } from '/@/types/device'
+import { useConnectWebSocket } from '/@/hooks/use-connect-websocket'
const root = getRoot()
const gatewayState = ref<boolean>(localStorage.getItem(ELocalStorageKey.GatewayOnline) === 'true')
@@ -211,8 +210,10 @@
const store = useMyStore()
-const wsGetMsg = async (res: any) => {
- const payload = JSON.parse(res.data)
+const messageHandler = async (payload: any) => {
+ if (!payload) {
+ return
+ }
switch (payload.biz_code) {
case EBizCode.DeviceOnline: {
console.info('online: ', payload)
@@ -241,8 +242,11 @@
break
}
}
+
+// 监听ws 消息
+useConnectWebSocket(messageHandler)
+
let bindNum: number
-let socket: ReconnectingWebSocket
onMounted(() => {
apiPilot.onBackClickReg()
@@ -259,8 +263,6 @@
}
device.data.sn = apiPilot.getAircraftSN()
getDeviceInfo()
-
- socket = websocket.init(wsGetMsg)
const isLoaded = apiPilot.isComponentLoaded(EComponentName.Thing)
if (isLoaded) {
@@ -300,10 +302,6 @@
window.wsConnectCallback = arg => {
wsConnectCallback(arg)
}
-})
-
-onUnmounted(() => {
- socket.close()
})
const connectCallback = async (arg: any) => {
diff --git a/src/pages/page-web/home.vue b/src/pages/page-web/home.vue
new file mode 100644
index 0000000..78bec53
--- /dev/null
+++ b/src/pages/page-web/home.vue
@@ -0,0 +1,71 @@
+<template>
+ <a-layout class="width-100 flex-display" style="height: 100vh">
+ <a-layout-header class="header">
+ <Topbar />
+ </a-layout-header>
+ <a-layout-content>
+ <router-view />
+ </a-layout-content>
+
+ </a-layout>
+</template>
+
+<script lang="ts" setup>
+import Topbar from '/@/components/common/topbar.vue'
+import { onMounted, reactive, ref, UnwrapRef, watch } from 'vue'
+import { getRoot } from '/@/root'
+import { EBizCode, ELocalStorageKey, ERouterName } from '/@/types'
+import { useConnectWebSocket } from '/@/hooks/use-connect-websocket'
+import EventBus from '/@/event-bus'
+
+interface FormState {
+ user: string
+ password: string
+}
+
+const root = getRoot()
+
+const messageHandler = async (payload: any) => {
+ if (!payload) {
+ return
+ }
+ switch (payload.biz_code) {
+ case EBizCode.DeviceUpgrade: {
+ EventBus.emit('deviceUpgrade', payload)
+ break
+ }
+ case EBizCode.DeviceLogUploadProgress: {
+ EventBus.emit('deviceLogUploadProgress', payload)
+ break
+ }
+ }
+}
+
+// 监听ws 消息
+useConnectWebSocket(messageHandler)
+
+onMounted(() => {
+ const token = localStorage.getItem(ELocalStorageKey.Token)
+ if (!token) {
+ root.$router.push(ERouterName.PROJECT)
+ }
+})
+
+</script>
+
+<style lang="scss" scoped>
+@import '/@/styles/index.scss';
+
+.fontBold {
+ font-weight: 500;
+ font-size: 18px;
+}
+
+.header {
+ background-color: black;
+ color: white;
+ height: 60px;
+ font-size: 15px;
+ padding: 0 20px;
+}
+</style>
diff --git a/src/pages/project-app/index.vue b/src/pages/page-web/index.vue
similarity index 92%
rename from src/pages/project-app/index.vue
rename to src/pages/page-web/index.vue
index b5a855d..8616925 100644
--- a/src/pages/project-app/index.vue
+++ b/src/pages/page-web/index.vue
@@ -34,7 +34,7 @@
class="m0"
type="primary"
html-type="submit"
- :disabled="formState.user === '' || formState.password === ''"
+ :disabled="loginBtnDisabled"
@click="onSubmit"
>
Login
@@ -49,23 +49,27 @@
import djiLogo from '/@/assets/icons/dji_logo.png'
import { LockOutlined, UserOutlined } from '@ant-design/icons-vue'
import { message } from 'ant-design-vue'
-import { reactive, ref, UnwrapRef } from 'vue'
+import { reactive, computed, UnwrapRef } from 'vue'
import { login, LoginBody } from '/@/api/manage'
import { getRoot } from '/@/root'
import { ELocalStorageKey, ERouterName, EUserType } from '/@/types'
import router from '/@/router'
const root = getRoot()
+
const formState: UnwrapRef<LoginBody> = reactive({
username: 'adminPC',
password: 'adminPC',
flag: EUserType.Web,
})
+const loginBtnDisabled = computed(() => {
+ return !formState.username || !formState.password
+})
+
const onSubmit = async (e: any) => {
const result = await login(formState)
if (result.code === 0) {
- console.log(result)
localStorage.setItem(ELocalStorageKey.Token, result.data.access_token)
localStorage.setItem(ELocalStorageKey.WorkspaceId, result.data.workspace_id)
localStorage.setItem(ELocalStorageKey.Username, result.data.username)
diff --git a/src/pages/project-app/projects/create-plan.vue b/src/pages/page-web/projects/create-plan.vue
similarity index 100%
rename from src/pages/project-app/projects/create-plan.vue
rename to src/pages/page-web/projects/create-plan.vue
diff --git a/src/pages/page-web/projects/devices.vue b/src/pages/page-web/projects/devices.vue
new file mode 100644
index 0000000..c5fd408
--- /dev/null
+++ b/src/pages/page-web/projects/devices.vue
@@ -0,0 +1,436 @@
+
+<template>
+ <a-menu v-model:selectedKeys="current" mode="horizontal" @select="select">
+ <a-menu-item :key="EDeviceTypeName.Aircraft" class="ml20">
+ Aircraft
+ </a-menu-item>
+ <a-menu-item :key="EDeviceTypeName.Dock">
+ Dock
+ </a-menu-item>
+ </a-menu>
+ <div class="device-table-wrap table flex-display flex-column">
+ <a-table :columns="columns" :data-source="data.device" :pagination="paginationProp" @change="refreshData" row-key="device_sn" :expandedRowKeys="expandRows"
+ :row-selection="rowSelection" :rowClassName="rowClassName" :scroll="{ x: '100%', y: 600 }"
+ :expandIcon="expandIcon" :loading="loading">
+ <template v-for="col in ['nickname']" #[col]="{ text, record }" :key="col">
+ <div>
+ <a-input
+ v-if="editableData[record.device_sn]"
+ v-model:value="editableData[record.device_sn][col]"
+ style="margin: -5px 0"
+ />
+ <template v-else>
+ {{ text }}
+ </template>
+ </div>
+ </template>
+ <template v-for="col in ['sn', 'workspace']" #[col]="{ text }" :key="col">
+ <a-tooltip :title="text">
+ <span>{{ text }}</span>
+ </a-tooltip>
+ </template>
+ <!-- 固件版本 -->
+ <template #firmware_version="{ record }">
+ <span v-if="judgeCurrentType(EDeviceTypeName.Dock)">
+ <DeviceFirmwareUpgrade :device="record"
+ class="table-flex-col"
+ @device-upgrade="onDeviceUpgrade"
+ />
+ </span>
+ <span v-else>
+ {{ record.firmware_version }}
+ </span>
+ </template>
+ <!-- 状态 -->
+ <template #status="{ text }">
+ <span v-if="text" class="flex-row flex-align-center">
+ <span class="mr5" style="width: 12px; height: 12px; border-radius: 50%; background-color: green;" />
+ <span>Online</span>
+ </span>
+ <span class="flex-row flex-align-center" v-else>
+ <span class="mr5" style="width: 12px; height: 12px; border-radius: 50%; background-color: red;" />
+ <span>Offline</span>
+ </span>
+ </template>
+ <!-- 操作 -->
+ <template #action="{ record }">
+ <div class="editable-row-operations">
+ <!-- 编辑态操作 -->
+ <div v-if="editableData[record.device_sn]">
+ <a-tooltip title="Confirm changes">
+ <span @click="save(record)" style="color: #28d445;"><CheckOutlined /></span>
+ </a-tooltip>
+ <a-tooltip title="Modification canceled">
+ <span @click="() => delete editableData[record.device_sn]" style="color: #e70102;"><CloseOutlined /></span>
+ </a-tooltip>
+ </div>
+ <!-- 非编辑态操作 -->
+ <div v-else class="flex-align-center flex-row" style="color: #2d8cf0">
+ <a-tooltip v-if="current.indexOf(EDeviceTypeName.Dock) !== -1" title="设备日志">
+ <CloudServerOutlined @click="showDeviceLogUploadRecord(record)"/>
+ </a-tooltip>
+ <a-tooltip v-if="current.indexOf(EDeviceTypeName.Dock) !== -1" title="Hms Info">
+ <FileSearchOutlined @click="showHms(record)"/>
+ </a-tooltip>
+ <a-tooltip title="Edit">
+ <EditOutlined @click="edit(record)"/>
+ </a-tooltip>
+ <a-tooltip title="Delete">
+ <DeleteOutlined @click="() => { deleteTip = true, deleteSn = record.device_sn }"/>
+ </a-tooltip>
+ </div>
+ </div>
+ </template>
+
+ </a-table>
+ <a-modal v-model:visible="deleteTip" width="450px" :closable="false" centered :okButtonProps="{ danger: true }" @ok="unbind">
+ <p class="pt10 pl20" style="height: 50px;">Delete device from workspace?</p>
+ <template #title>
+ <div class="flex-row flex-justify-center">
+ <span>Delete devices</span>
+ </div>
+ </template>
+ </a-modal>
+
+ <!-- 设备升级 -->
+ <DeviceFirmwareUpgradeModal title="设备升级"
+ v-model:visible="deviceFirmwareUpgradeModalVisible"
+ :device="selectedDevice"
+ @ok="onUpgradeDeviceOk"
+ ></DeviceFirmwareUpgradeModal>
+
+ <!-- 设备日志上传记录 -->
+ <DeviceLogUploadRecordDrawer
+ v-model:visible="deviceLogUploadRecordVisible"
+ :device="currentDevice"
+ ></DeviceLogUploadRecordDrawer>
+
+ <!-- hms 信息 -->
+ <DeviceHmsDrawer
+ v-model:visible="hmsVisible"
+ :device="currentDevice">
+ </DeviceHmsDrawer>
+ </div>
+</template>
+<script lang="ts" setup>
+import { ColumnProps, TableState } from 'ant-design-vue/lib/table/interface'
+import { h, onMounted, reactive, ref, UnwrapRef } from 'vue'
+import { IPage } from '/@/api/http/type'
+import { BindBody, bindDevice, getBindingDevices, unbindDevice, updateDevice } from '/@/api/manage'
+import { EDeviceTypeName, ELocalStorageKey } from '/@/types'
+import { EditOutlined, CheckOutlined, CloseOutlined, DeleteOutlined, FileSearchOutlined, CloudServerOutlined } from '@ant-design/icons-vue'
+import { Device, DeviceFirmwareStatusEnum } from '/@/types/device'
+import DeviceFirmwareUpgrade from '/@/components/devices/device-upgrade/DeviceFirmwareUpgrade.vue'
+import DeviceFirmwareUpgradeModal from '/@/components/devices/device-upgrade/DeviceFirmwareUpgradeModal.vue'
+import { useDeviceFirmwareUpgrade } from '/@/components/devices/device-upgrade/use-device-upgrade'
+import { useDeviceUpgradeEvent } from '/@/components/devices/device-upgrade/use-device-upgrade-event'
+import { DeviceCmdExecuteInfo, DeviceCmdExecuteStatus } from '/@/types/device-cmd'
+import DeviceLogUploadRecordDrawer from '/@/components/devices/device-log/DeviceLogUploadRecordDrawer.vue'
+import DeviceHmsDrawer from '/@/components/devices/device-hms/DeviceHmsDrawer.vue'
+import { message } from 'ant-design-vue'
+
+interface DeviceData {
+ device: Device[]
+}
+
+const loading = ref(true)
+const deleteTip = ref<boolean>(false)
+const deleteSn = ref<string>()
+const columns: ColumnProps[] = [
+ { title: 'Model', dataIndex: 'device_name', width: 100, className: 'titleStyle' },
+ { title: 'SN', dataIndex: 'device_sn', width: 100, className: 'titleStyle', ellipsis: true, slots: { customRender: 'sn' } },
+ {
+ title: 'Name',
+ dataIndex: 'nickname',
+ width: 100,
+ sorter: (a: Device, b: Device) => a.nickname.localeCompare(b.nickname),
+ className: 'titleStyle',
+ ellipsis: true,
+ slots: { customRender: 'nickname' }
+ },
+ { title: 'Firmware Version', dataIndex: 'firmware_version', width: 150, className: 'titleStyle', slots: { customRender: 'firmware_version' } },
+ { title: 'Status', dataIndex: 'status', width: 100, className: 'titleStyle', slots: { customRender: 'status' } },
+ {
+ title: 'Workspace',
+ dataIndex: 'workspace_name',
+ width: 100,
+ className: 'titleStyle',
+ ellipsis: true,
+ slots: { customRender: 'workspace' },
+ customRender: ({ text, record, index }) => {
+ const obj = {
+ children: text,
+ props: {} as any,
+ }
+ if (current.value.indexOf(EDeviceTypeName.Dock) !== -1) {
+ if (record.domain === EDeviceTypeName.Aircraft) {
+ obj.children = ''
+ }
+ }
+ return obj
+ }
+ },
+ { title: 'Joined', dataIndex: 'bound_time', width: 150, sorter: (a: Device, b: Device) => a.bound_time.localeCompare(b.bound_time), className: 'titleStyle' },
+ { title: 'Last Online', dataIndex: 'login_time', width: 150, sorter: (a: Device, b: Device) => a.login_time.localeCompare(b.login_time), className: 'titleStyle' },
+ {
+ title: 'Actions',
+ dataIndex: 'actions',
+ width: 100,
+ className: 'titleStyle',
+ slots: { customRender: 'action' }
+ },
+]
+
+const expandIcon = (props: any) => {
+ if (judgeCurrentType(EDeviceTypeName.Dock) && !props.expanded) {
+ return h('div',
+ {
+ style: 'border-left: 2px solid rgb(200,200,200); border-bottom: 2px solid rgb(200,200,200); height: 16px; width: 16px; float: left;',
+ class: 'mt-5 ml0',
+ })
+ }
+}
+
+const rowClassName = (record: any, index: number) => {
+ const className = []
+ if ((index & 1) === 0) {
+ className.push('table-striped')
+ }
+ if (record.domain !== EDeviceTypeName.Dock) {
+ className.push('child-row')
+ }
+ return className.toString().replaceAll(',', ' ')
+}
+
+const expandRows = ref<string[]>([])
+const data = reactive<DeviceData>({
+ device: []
+})
+
+const paginationProp = reactive({
+ pageSizeOptions: ['20', '50', '100'],
+ showQuickJumper: true,
+ showSizeChanger: true,
+ pageSize: 50,
+ current: 1,
+ total: 0
+})
+
+// 获取分页信息
+function getPaginationBody () {
+ return {
+ page: paginationProp.current,
+ page_size: paginationProp.pageSize
+ } as IPage
+}
+
+const rowSelection = {
+ onChange: (selectedRowKeys: (string | number)[], selectedRows: []) => {
+ console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows)
+ },
+ onSelect: (record: any, selected: boolean, selectedRows: []) => {
+ console.log(record, selected, selectedRows)
+ },
+ onSelectAll: (selected: boolean, selectedRows: [], changeRows: []) => {
+ console.log(selected, selectedRows, changeRows)
+ },
+ getCheckboxProps: (record: any) => ({
+ disabled: judgeCurrentType(EDeviceTypeName.Dock) && record.domain !== EDeviceTypeName.Dock,
+ style: judgeCurrentType(EDeviceTypeName.Dock) && record.domain !== EDeviceTypeName.Dock ? 'display: none' : ''
+ }),
+}
+type Pagination = TableState['pagination']
+
+const workspaceId: string = localStorage.getItem(ELocalStorageKey.WorkspaceId) || ''
+const editableData: UnwrapRef<Record<string, Device>> = reactive({})
+const current = ref([EDeviceTypeName.Aircraft])
+
+function judgeCurrentType (type: EDeviceTypeName): boolean {
+ return current.value.indexOf(type) !== -1
+}
+
+// 设备升级
+const {
+ deviceFirmwareUpgradeModalVisible,
+ selectedDevice,
+ onDeviceUpgrade,
+ onUpgradeDeviceOk
+} = useDeviceFirmwareUpgrade(workspaceId)
+
+function onDeviceUpgradeWs (payload: DeviceCmdExecuteInfo) {
+ updateDevicesByWs(data.device, payload)
+}
+
+function updateDevicesByWs (devices: Device[], payload: DeviceCmdExecuteInfo) {
+ if (!devices || devices.length <= 0) {
+ return
+ }
+ for (let i = 0; i < devices.length; i++) {
+ if (devices[i].device_sn === payload.sn) {
+ if (!payload.output) return
+ const { status, progress } = payload.output
+ if (status === DeviceCmdExecuteStatus.Sent || status === DeviceCmdExecuteStatus.InProgress) { // 升级中
+ devices[i].firmware_status = DeviceFirmwareStatusEnum.DuringUpgrade
+ devices[i].firmware_progress = progress?.percent || 0
+ } else { // 终态:成功,失败,超时
+ if (status === DeviceCmdExecuteStatus.Failed || status === DeviceCmdExecuteStatus.Timeout) {
+ message.error(`设备(${payload.sn}) 升级失败`)
+ }
+ // 拉取列表
+ getDevices(current.value[0], true)
+ }
+ return
+ }
+ if (devices[i].children) {
+ updateDevicesByWs(devices[i].children || [], payload)
+ }
+ }
+}
+
+useDeviceUpgradeEvent(onDeviceUpgradeWs)
+
+// 获取设备列表信息
+function getDevices (domain: string, closeLoading?: boolean) {
+ if (!closeLoading) {
+ loading.value = true
+ }
+ getBindingDevices(workspaceId, getPaginationBody(), domain).then(res => {
+ if (res.code !== 0) {
+ return
+ }
+ const resData: Device[] = res.data.list
+ expandRows.value = []
+ resData.forEach((val: any) => {
+ if (val.children) {
+ val.children = [val.children]
+ }
+ if (judgeCurrentType(EDeviceTypeName.Dock)) {
+ expandRows.value.push(val.device_sn)
+ }
+ })
+ data.device = resData
+ paginationProp.total = res.data.pagination.total
+ paginationProp.current = res.data.pagination.page
+ paginationProp.pageSize = res.data.pagination.page_size
+ loading.value = false
+ })
+}
+
+function refreshData (page: Pagination) {
+ paginationProp.current = page?.current!
+ paginationProp.pageSize = page?.pageSize!
+ getDevices(current.value[0])
+}
+
+// 编辑
+function edit (record: Device) {
+ editableData[record.device_sn] = record
+}
+
+// 保存
+function save (record: Device) {
+ delete editableData[record.device_sn]
+ updateDevice({ nickname: record.nickname }, workspaceId, record.device_sn)
+}
+
+// 删除
+function showDeleteTip (sn: any) {
+ deleteTip.value = true
+}
+
+// 解绑
+function unbind () {
+ deleteTip.value = false
+ unbindDevice(deleteSn.value?.toString()!).then(res => {
+ if (res.code !== 0) {
+ return
+ }
+ getDevices(current.value[0])
+ })
+}
+
+// 选择设备
+function select (item: any) {
+ getDevices(item.key)
+}
+
+const currentDevice = ref({} as Device)
+// 设备日志
+const deviceLogUploadRecordVisible = ref(false)
+function showDeviceLogUploadRecord (dock: Device) {
+ deviceLogUploadRecordVisible.value = true
+ currentDevice.value = dock
+}
+
+// 健康状态
+const hmsVisible = ref<boolean>(false)
+
+function showHms (dock: Device) {
+ hmsVisible.value = true
+ currentDevice.value = dock
+}
+
+onMounted(() => {
+ getDevices(current.value[0])
+})
+</script>
+
+<style lang="scss" scoped>
+.device-table-wrap{
+ .editable-row-operations{
+ div > span {
+ margin-right: 10px;
+ }
+ }
+}
+</style>
+
+<style lang="scss">
+.table {
+ background-color: white;
+ margin: 20px;
+ padding: 20px;
+ height: 88vh;
+}
+.table-striped {
+ background-color: #f7f9fa;
+}
+.ant-table {
+ border-top: 1px solid rgb(0,0,0,0.06);
+ border-bottom: 1px solid rgb(0,0,0,0.06);
+}
+.ant-table-tbody tr td {
+ border: 0;
+}
+.ant-table td {
+ white-space: nowrap;
+}
+.ant-table-thead tr th {
+ background: white !important;
+ border: 0;
+}
+th.ant-table-selection-column {
+ background-color: white !important;
+}
+.ant-table-header {
+ background-color: white !important;
+}
+.child-row {
+ height: 70px;
+}
+.notice {
+ background: $success;
+ overflow: hidden;
+ cursor: pointer;
+}
+.caution {
+ background: orange;
+ cursor: pointer;
+ overflow: hidden;
+}
+.warn {
+ background: red;
+ cursor: pointer;
+ overflow: hidden;
+}
+</style>
diff --git a/src/pages/project-app/projects/dock.vue b/src/pages/page-web/projects/dock.vue
similarity index 100%
rename from src/pages/project-app/projects/dock.vue
rename to src/pages/page-web/projects/dock.vue
diff --git a/src/pages/project-app/projects/layer.vue b/src/pages/page-web/projects/layer.vue
similarity index 100%
rename from src/pages/project-app/projects/layer.vue
rename to src/pages/page-web/projects/layer.vue
diff --git a/src/pages/project-app/projects/livestream.vue b/src/pages/page-web/projects/livestream.vue
similarity index 100%
rename from src/pages/project-app/projects/livestream.vue
rename to src/pages/page-web/projects/livestream.vue
diff --git a/src/pages/project-app/projects/media.vue b/src/pages/page-web/projects/media.vue
similarity index 100%
rename from src/pages/project-app/projects/media.vue
rename to src/pages/page-web/projects/media.vue
diff --git a/src/pages/project-app/projects/members.vue b/src/pages/page-web/projects/members.vue
similarity index 90%
rename from src/pages/project-app/projects/members.vue
rename to src/pages/page-web/projects/members.vue
index be0ad1e..642599a 100644
--- a/src/pages/project-app/projects/members.vue
+++ b/src/pages/page-web/projects/members.vue
@@ -57,13 +57,13 @@
member: Member[]
}
const columns = [
- { title: 'Account', dataIndex: 'username', width: 250, sorter: (a: Member, b: Member) => a.username.localeCompare(b.username), className: 'titleStyle' },
- { title: 'User Type', dataIndex: 'user_type', width: 250, className: 'titleStyle' },
- { title: 'Workspace Name', dataIndex: 'workspace_name', width: 250, className: 'titleStyle' },
- { title: 'Mqtt Username', dataIndex: 'mqtt_username', width: 250, className: 'titleStyle', slots: { customRender: 'mqtt_username' } },
- { title: 'Mqtt Password', dataIndex: 'mqtt_password', width: 250, className: 'titleStyle', slots: { customRender: 'mqtt_password' } },
- { title: 'Joined', dataIndex: 'create_time', width: 250, sorter: (a: Member, b: Member) => a.create_time.localeCompare(b.create_time), className: 'titleStyle' },
- { title: 'Action', dataIndex: 'action', className: 'titleStyle', slots: { customRender: 'action' } },
+ { title: 'Account', dataIndex: 'username', width: 150, sorter: (a: Member, b: Member) => a.username.localeCompare(b.username), className: 'titleStyle' },
+ { title: 'User Type', dataIndex: 'user_type', width: 150, className: 'titleStyle' },
+ { title: 'Workspace Name', dataIndex: 'workspace_name', width: 150, className: 'titleStyle' },
+ { title: 'Mqtt Username', dataIndex: 'mqtt_username', width: 150, className: 'titleStyle', slots: { customRender: 'mqtt_username' } },
+ { title: 'Mqtt Password', dataIndex: 'mqtt_password', width: 150, className: 'titleStyle', slots: { customRender: 'mqtt_password' } },
+ { title: 'Joined', dataIndex: 'create_time', width: 150, sorter: (a: Member, b: Member) => a.create_time.localeCompare(b.create_time), className: 'titleStyle' },
+ { title: 'Action', dataIndex: 'action', width: 100, className: 'titleStyle', slots: { customRender: 'action' } },
]
const data = reactive<MemberData>({
@@ -117,7 +117,6 @@
data.member = userList
paginationProp.total = res.data.pagination.total
paginationProp.current = res.data.pagination.page
-
})
}
diff --git a/src/pages/project-app/projects/task.vue b/src/pages/page-web/projects/task.vue
similarity index 100%
rename from src/pages/project-app/projects/task.vue
rename to src/pages/page-web/projects/task.vue
diff --git a/src/pages/project-app/projects/tsa.vue b/src/pages/page-web/projects/tsa.vue
similarity index 98%
rename from src/pages/project-app/projects/tsa.vue
rename to src/pages/page-web/projects/tsa.vue
index f1d1d30..b7bfe47 100644
--- a/src/pages/project-app/projects/tsa.vue
+++ b/src/pages/page-web/projects/tsa.vue
@@ -24,9 +24,9 @@
</a-tooltip>
</div>
<div class="mt5 flex-align-center flex-row flex-justify-between" style="background: #595959;">
- <div>
+ <div class="flex-align-center flex-row">
<span class="ml5 mr5"><RobotOutlined /></span>
- <span class="font-bold" :style="dockInfo[dock.gateway.sn] && dockInfo[dock.gateway.sn].mode_code !== EDockModeCode.Disconnected ? 'color: #00ee8b' : 'color: red;'">
+ <span class="font-bold text-hidden" style="max-width: 80px;" :style="dockInfo[dock.gateway.sn] && dockInfo[dock.gateway.sn].mode_code !== EDockModeCode.Disconnected ? 'color: #00ee8b' : 'color: red;'">
{{ dockInfo[dock.gateway.sn] ? EDockModeCode[dockInfo[dock.gateway.sn].mode_code] : EDockModeCode[EDockModeCode.Disconnected] }}
</span>
</div>
diff --git a/src/pages/project-app/projects/wayline.vue b/src/pages/page-web/projects/wayline.vue
similarity index 95%
rename from src/pages/project-app/projects/wayline.vue
rename to src/pages/page-web/projects/wayline.vue
index 3ef8e32..b64e8e8 100644
--- a/src/pages/project-app/projects/wayline.vue
+++ b/src/pages/page-web/projects/wayline.vue
@@ -8,6 +8,7 @@
</a-row>
</div>
<div class="height-100">
+ <a-spin :spinning="loading" :delay="1000" tip="downloading" size="large">
<div class="scrollbar uranus-scrollbar" v-if="waylinesData.data.length !== 0" @scroll="onScroll">
<div v-for="wayline in waylinesData.data" :key="wayline.id">
<div class="wayline-panel" style="padding-top: 5px;" @click="selectRoute(wayline)">
@@ -62,6 +63,7 @@
</div>
</template>
</a-modal>
+ </a-spin>
</div>
</div>
</template>
@@ -79,6 +81,7 @@
import { downloadFile } from '/@/utils/common'
import { IPage } from '/@/api/http/type'
+const loading = ref(false)
const store = useMyStore()
const pagination :IPage = {
page: 1,
@@ -154,12 +157,15 @@
}
function downloadWayline (waylineId: string, fileName: string) {
+ loading.value = true
downloadWaylineFile(workspaceId, waylineId).then(res => {
- if (res.code && res.code !== 0) {
+ if (!res) {
return
}
- const data = new Blob([res.data], { type: 'application/zip' })
+ const data = new Blob([res], { type: 'application/zip' })
downloadFile(data, fileName + '.kmz')
+ }).finally(() => {
+ loading.value = false
})
}
diff --git a/src/pages/project-app/projects/workspace.vue b/src/pages/page-web/projects/workspace.vue
similarity index 77%
rename from src/pages/project-app/projects/workspace.vue
rename to src/pages/page-web/projects/workspace.vue
index b8dba51..4fc4dd3 100644
--- a/src/pages/project-app/projects/workspace.vue
+++ b/src/pages/page-web/projects/workspace.vue
@@ -21,22 +21,23 @@
</template>
<script lang="ts" setup>
-import Sidebar from '../sidebar.vue'
+import Sidebar from '/@/components/common/sidebar.vue'
import MediaPanel from '/@/components/MediaPanel.vue'
import TaskPanel from '/@/components/TaskPanel.vue'
import GMap from '/@/components/GMap.vue'
import { EBizCode, ERouterName } from '/@/types'
import { getRoot } from '/@/root'
-import { onMounted, onUnmounted, watch } from 'vue'
-import ReconnectingWebSocket from 'reconnecting-websocket'
import { useMyStore } from '/@/store'
-import websocket from '/@/api/websocket'
-// import { enableAgoraLive, enableOthersLive } from '/@/pages/project-app/projects/livestream.vue'
+import { useConnectWebSocket } from '/@/hooks/use-connect-websocket'
const root = getRoot()
+const store = useMyStore()
-const wsGetMsg = async (res: any) => {
- const payload = JSON.parse(res.data)
+const messageHandler = async (payload: any) => {
+ if (!payload) {
+ return
+ }
+
switch (payload.biz_code) {
case EBizCode.GatewayOsd: {
store.commit('SET_GATEWAY_INFO', payload.data)
@@ -78,21 +79,33 @@
store.commit('SET_DEVICE_HMS_INFO', payload.data)
break
}
+ case EBizCode.DeviceReboot:
+ case EBizCode.DroneOpen:
+ case EBizCode.DroneClose:
+ case EBizCode.CoverOpen:
+ case EBizCode.CoverClose:
+ case EBizCode.PutterOpen:
+ case EBizCode.PutterClose:
+ case EBizCode.ChargeOpen:
+ case EBizCode.ChargeClose:
+ case EBizCode.DeviceFormat:
+ case EBizCode.DroneFormat:
+ {
+ store.commit('SET_DEVICES_CMD_EXECUTE_INFO', {
+ biz_code: payload.biz_code,
+ timestamp: payload.timestamp,
+ ...payload.data,
+ })
+ break
+ }
default:
break
}
}
-const store = useMyStore()
+// 监听ws 消息
+useConnectWebSocket(messageHandler)
-let socket: ReconnectingWebSocket
-
-onMounted(() => {
- socket = websocket.init(wsGetMsg)
-})
-onUnmounted(() => {
- socket.close()
-})
</script>
<style lang="scss" scoped>
@import '/@/styles/index.scss';
diff --git a/src/pages/project-app/home.vue b/src/pages/project-app/home.vue
deleted file mode 100644
index c06bc5c..0000000
--- a/src/pages/project-app/home.vue
+++ /dev/null
@@ -1,57 +0,0 @@
-<template>
- <a-layout class="width-100 flex-display" style="height: 100vh">
- <a-layout-header class="header">
- <Topbar />
- </a-layout-header>
- <a-layout-content>
- <router-view />
- </a-layout-content>
-
- </a-layout>
-</template>
-
-<script lang="ts" setup>
-import Topbar from './topbar.vue'
-import { message } from 'ant-design-vue'
-import { onMounted, reactive, ref, UnwrapRef, watch } from 'vue'
-import { getPlatformInfo, getUserInfo } from '/@/api/manage'
-import websocket from '/@/api/websocket'
-import { useGMapCover } from '/@/hooks/use-g-map-cover'
-import { getRoot } from '/@/root'
-import { useMyStore } from '/@/store'
-import { ELocalStorageKey, ERouterName } from '/@/types'
-import ReconnectingWebSocket from 'reconnecting-websocket'
-
-interface FormState {
- user: string
- password: string
-}
-
-const root = getRoot()
-const showLogin = ref(true)
-
-onMounted(() => {
- const token = localStorage.getItem(ELocalStorageKey.Token)
- if (!token) {
- root.$router.push(ERouterName.PROJECT)
- }
-})
-
-</script>
-
-<style lang="scss" scoped>
-@import '/@/styles/index.scss';
-
-.fontBold {
- font-weight: 500;
- font-size: 18px;
-}
-
-.header {
- background-color: black;
- color: white;
- height: 60px;
- font-size: 15px;
- padding: 0 20px;
-}
-</style>
diff --git a/src/pages/project-app/projects/devices.vue b/src/pages/project-app/projects/devices.vue
deleted file mode 100644
index 71201ec..0000000
--- a/src/pages/project-app/projects/devices.vue
+++ /dev/null
@@ -1,518 +0,0 @@
-
-<template>
- <a-menu v-model:selectedKeys="current" mode="horizontal" @select="select">
- <a-menu-item :key="EDeviceTypeName.Aircraft" class="ml20">
- Aircraft
- </a-menu-item>
- <a-menu-item :key="EDeviceTypeName.Dock">
- Dock
- </a-menu-item>
- </a-menu>
- <div class="table flex-display flex-column">
- <a-table :columns="columns" :data-source="data.device" :pagination="paginationProp" @change="refreshData" row-key="device_sn" :expandedRowKeys="expandRows"
- :row-selection="rowSelection" :rowClassName="rowClassName" :scroll="{ x: '100%', y: 600 }"
- :expandIcon="expandIcon" :loading="loading">
- <template v-for="col in ['nickname']" #[col]="{ text, record }" :key="col">
- <div>
- <a-input
- v-if="editableData[record.device_sn]"
- v-model:value="editableData[record.device_sn][col]"
- style="margin: -5px 0"
- />
- <template v-else>
- {{ text }}
- </template>
- </div>
- </template>
- <template v-for="col in ['sn', 'workspace']" #[col]="{ text }" :key="col">
- <a-tooltip :title="text">
- <span>{{ text }}</span>
- </a-tooltip>
- </template>
- <template #status="{ text }">
- <span v-if="text" class="flex-row flex-align-center">
- <span class="mr5" style="width: 12px; height: 12px; border-radius: 50%; background-color: green;" />
- <span>Online</span>
- </span>
- <span class="flex-row flex-align-center" v-else>
- <span class="mr5" style="width: 12px; height: 12px; border-radius: 50%; background-color: red;" />
- <span>Offline</span>
- </span>
- </template>
- <template #action="{ record }">
- <div class="editable-row-operations">
- <span v-if="editableData[record.device_sn]">
- <a-tooltip title="Confirm changes">
- <span @click="save(record)" style="color: #28d445;"><CheckOutlined /></span>
- </a-tooltip>
- <a-tooltip title="Modification canceled">
- <span @click="() => delete editableData[record.device_sn]" class="ml15" style="color: #e70102;"><CloseOutlined /></span>
- </a-tooltip>
- </span>
- <span v-else class="flex-align-center flex-row" style="color: #2d8cf0">
- <a-tooltip v-if="current.indexOf(EDeviceTypeName.Dock) !== -1" title="Hms Info">
- <FileSearchOutlined @click="showHms(record)"/>
- </a-tooltip>
- <a-tooltip title="Edit">
- <EditOutlined @click="edit(record)" class="ml10" />
- </a-tooltip>
- <a-tooltip title="Delete">
- <DeleteOutlined @click="() => { deleteTip = true, deleteSn = record.device_sn }" class="ml15" />
- </a-tooltip>
- </span>
- </div>
- </template>
-
- </a-table>
- <a-modal v-model:visible="deleteTip" width="450px" :closable="false" centered :okButtonProps="{ danger: true }" @ok="unbind">
- <p class="pt10 pl20" style="height: 50px;">Delete device from workspace?</p>
- <template #title>
- <div class="flex-row flex-justify-center">
- <span>Delete devices</span>
- </div>
- </template>
- </a-modal>
-
- <a-drawer
- title="Hms Info"
- placement="right"
- v-model:visible="hmsVisible"
- :width="800">
- <div class="flex-row flex-align-center">
- <div style="width: 240px;">
- <a-range-picker
- v-model:value="time"
- format="YYYY-MM-DD"
- :placeholder="['Start Time', 'End Time']"
- @change="onTimeChange"/>
- </div>
- <div class="ml5">
- <a-select
- style="width: 150px"
- v-model:value="param.level"
- @select="onLevelSelect">
- <a-select-option
- v-for="item in levels"
- :key="item.label"
- :value="item.value"
- >
- {{ item.label }}
- </a-select-option>
- </a-select>
- </div>
- <div class="ml5">
- <a-select
- v-model:value="param.domain"
- :disabled="!param.children_sn || !param.device_sn"
- style="width: 150px"
- @select="onDeviceTypeSelect">
- <a-select-option
- v-for="item in deviceTypes"
- :key="item.label"
- :value="item.value"
- >
- {{ item.label }}
- </a-select-option>
- </a-select>
- </div>
- <div class="ml5">
- <a-input-search
- v-model:value="param.message"
- placeholder="input search message"
- style="width: 200px"
- @search="getHms"/>
- </div>
- </div>
- <div>
- <a-table :columns="hmsColumns" :scroll="{ x: '100%', y: 600 }" :data-source="hmsData.data" :pagination="hmsPaginationProp" @change="refreshHmsData" row-key="hms_id"
- :rowClassName="rowClassName" :loading="loading">
- <template #time="{ record }">
- <div>{{ record.create_time }}</div>
- <div :style="record.update_time ? '' : record.level === EHmsLevel.CAUTION ? 'color: orange;' :
- record.level === EHmsLevel.WARN ? 'color: red;' : 'color: #28d445;'">{{ record.update_time ?? 'It is happening...' }}</div>
- </template>
- <template #level="{ text }">
- <div class="flex-row flex-align-center">
- <div :class="text === EHmsLevel.CAUTION ? 'caution' : text === EHmsLevel.WARN ? 'warn' : 'notice'" style="width: 10px; height: 10px; border-radius: 50%;"></div>
- <div style="margin-left: 3px;">{{ EHmsLevel[text] }}</div>
- </div>
- </template>
- <template v-for="col in ['code', 'message']" #[col]="{ text }" :key="col">
- <a-tooltip :title="text">
- <span>{{ text }}</span>
- </a-tooltip>
- </template>
- </a-table>
- </div>
- </a-drawer>
- </div>
-</template>
-<script lang="ts" setup>
-import { message } from 'ant-design-vue'
-import { ColumnProps, TableState } from 'ant-design-vue/lib/table/interface'
-import { h, onMounted, reactive, ref, UnwrapRef } from 'vue'
-import { IPage } from '/@/api/http/type'
-import { BindBody, bindDevice, getBindingDevices, getDeviceHms, HmsQueryBody, unbindDevice, updateDevice } from '/@/api/manage'
-import { EDeviceTypeName, EHmsLevel, ELocalStorageKey } from '/@/types'
-import { EditOutlined, CheckOutlined, CloseOutlined, DeleteOutlined, FileSearchOutlined } from '@ant-design/icons-vue'
-import { Device, DeviceHms } from '/@/types/device'
-import moment, { Moment } from 'moment'
-
-interface DeviceData {
- device: Device[]
-}
-const loading = ref(true)
-const deleteTip = ref<boolean>(false)
-const deleteSn = ref<string>()
-const hmsVisible = ref<boolean>(false)
-const columns: ColumnProps[] = [
- { title: 'Model', dataIndex: 'device_name', width: '10%', className: 'titleStyle' },
- { title: 'SN', dataIndex: 'device_sn', width: '10%', className: 'titleStyle', ellipsis: true, slots: { customRender: 'sn' } },
- {
- title: 'Name',
- dataIndex: 'nickname',
- width: '15%',
- sorter: (a: Device, b: Device) => a.nickname.localeCompare(b.nickname),
- className: 'titleStyle',
- ellipsis: true,
- slots: { customRender: 'nickname' }
- },
- { title: 'Firmware Version', dataIndex: 'firmware_version', width: '10%', className: 'titleStyle' },
- { title: 'Status', dataIndex: 'status', width: '100px', className: 'titleStyle', slots: { customRender: 'status' } },
- {
- title: 'Workspace',
- dataIndex: 'workspace_name',
- width: '10%',
- className: 'titleStyle',
- ellipsis: true,
- slots: { customRender: 'workspace' },
- customRender: ({ text, record, index }) => {
- const obj = {
- children: text,
- props: {} as any,
- }
- if (current.value.indexOf(EDeviceTypeName.Aircraft) !== -1 || (!record.child_device_sn && record.domain === EDeviceTypeName.Dock)) {
- return obj
- }
-
- obj.props.rowSpan = record.domain === EDeviceTypeName.Dock ? 2 : 0
- return obj
- }
- },
- { title: 'Joined', dataIndex: 'bound_time', width: '15%', sorter: (a: Device, b: Device) => a.bound_time.localeCompare(b.bound_time), className: 'titleStyle' },
- { title: 'Last Online', dataIndex: 'login_time', width: '15%', sorter: (a: Device, b: Device) => a.login_time.localeCompare(b.login_time), className: 'titleStyle' },
- {
- title: 'Actions',
- dataIndex: 'actions',
- className: 'titleStyle',
- slots: { customRender: 'action' }
- },
-]
-const expandIcon = (props: any) => {
- if (judgeCurrentType(EDeviceTypeName.Dock) && !props.expanded) {
- return h('div',
- {
- style: 'border-left: 2px solid rgb(200,200,200); border-bottom: 2px solid rgb(200,200,200); height: 16px; width: 16px; float: left;',
- class: 'mt-5 ml0',
- })
- }
-}
-const rowClassName = (record: any, index: number) => {
- const className = []
- if ((index & 1) === 0) {
- className.push('table-striped')
- }
- if (record.domain !== EDeviceTypeName.Dock) {
- className.push('child-row')
- }
- return className.toString().replaceAll(',', ' ')
-}
-
-const expandRows = ref<string[]>([])
-const data = reactive<DeviceData>({
- device: []
-})
-
-const paginationProp = reactive({
- pageSizeOptions: ['20', '50', '100'],
- showQuickJumper: true,
- showSizeChanger: true,
- pageSize: 50,
- current: 1,
- total: 0
-})
-
-const rowSelection = {
- onChange: (selectedRowKeys: (string | number)[], selectedRows: []) => {
- console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows)
- },
- onSelect: (record: any, selected: boolean, selectedRows: []) => {
- console.log(record, selected, selectedRows)
- },
- onSelectAll: (selected: boolean, selectedRows: [], changeRows: []) => {
- console.log(selected, selectedRows, changeRows)
- },
- getCheckboxProps: (record: any) => ({
- disabled: judgeCurrentType(EDeviceTypeName.Dock) && record.domain !== EDeviceTypeName.Dock,
- style: judgeCurrentType(EDeviceTypeName.Dock) && record.domain !== EDeviceTypeName.Dock ? 'display: none' : ''
- }),
-}
-type Pagination = TableState['pagination']
-
-const body: IPage = {
- page: 1,
- total: 0,
- page_size: 50
-}
-const workspaceId: string = localStorage.getItem(ELocalStorageKey.WorkspaceId)!
-
-const editableData: UnwrapRef<Record<string, Device>> = reactive({})
-
-const current = ref([EDeviceTypeName.Aircraft])
-
-onMounted(() => {
- getDevices(workspaceId, body, current.value[0])
-})
-
-function judgeCurrentType (type: EDeviceTypeName): boolean {
- return current.value.indexOf(type) !== -1
-}
-
-function getDevices (workspaceId: string, body: IPage, domain: string) {
- loading.value = true
- getBindingDevices(workspaceId, body, domain).then(res => {
- if (res.code !== 0) {
- return
- }
- const resData: Device[] = res.data.list
- expandRows.value = []
- resData.forEach((val: any) => {
- if (val.children) {
- val.children = [val.children]
- }
- if (judgeCurrentType(EDeviceTypeName.Dock)) {
- expandRows.value.push(val.device_sn)
- }
- })
- data.device = resData
- paginationProp.total = res.data.pagination.total
- paginationProp.current = res.data.pagination.page
- loading.value = false
- })
-}
-
-function refreshData (page: Pagination) {
- body.page = page?.current!
- body.page_size = page?.pageSize!
- getDevices(workspaceId, body, current.value[0])
-}
-
-function edit (record: Device) {
- editableData[record.device_sn] = record
-}
-
-function save (record: Device) {
- delete editableData[record.device_sn]
- updateDevice({ nickname: record.nickname }, workspaceId, record.device_sn)
-}
-
-function showDeleteTip (sn: any) {
- deleteTip.value = true
-}
-
-function unbind () {
- deleteTip.value = false
- unbindDevice(deleteSn.value?.toString()!).then(res => {
- if (res.code !== 0) {
- return
- }
- getDevices(workspaceId, body, current.value[0])
- })
-}
-
-function select (item: any) {
- getDevices(workspaceId, body, item.key)
-}
-
-const hmsColumns: ColumnProps[] = [
- { title: 'Alarm Begin | End Time', dataIndex: 'create_time', width: '25%', className: 'titleStyle', slots: { customRender: 'time' } },
- { title: 'Level', dataIndex: 'level', width: '120px', className: 'titleStyle', slots: { customRender: 'level' } },
- { title: 'Device', dataIndex: 'domain', width: '12%', className: 'titleStyle' },
- { title: 'Error Code', dataIndex: 'key', width: '20%', className: 'titleStyle', slots: { customRender: 'code' } },
- { title: 'Hms Message', dataIndex: 'message_en', className: 'titleStyle', ellipsis: true, slots: { customRender: 'message' } },
-]
-
-interface DeviceHmsData {
- data: DeviceHms[]
-}
-const hmsData = reactive<DeviceHmsData>({
- data: []
-})
-
-const hmsPaginationProp = reactive({
- pageSizeOptions: ['20', '50', '100'],
- showQuickJumper: true,
- showSizeChanger: true,
- pageSize: 50,
- current: 1,
- total: 0
-})
-
-const hmsPage: IPage = {
- page: 1,
- total: 0,
- page_size: 50
-}
-
-function showHms (dock: Device) {
- hmsVisible.value = true
- if (dock.domain === EDeviceTypeName.Dock) {
- param.domain = ''
- getDeviceHmsBySn(dock.device_sn, dock.children?.[0].device_sn ?? '')
- }
- if (dock.domain === EDeviceTypeName.Aircraft) {
- param.domain = EDeviceTypeName.Aircraft
- getDeviceHmsBySn('', dock.device_sn)
- }
-}
-
-function refreshHmsData (page: Pagination) {
- hmsPage.page = page?.current!
- hmsPage.page_size = page?.pageSize!
- getHms()
-}
-
-const param = reactive<HmsQueryBody>({
- sns: [],
- device_sn: '',
- children_sn: '',
- language: 'en',
- begin_time: new Date(new Date().setDate(new Date().getDate() - 7)).setHours(0, 0, 0, 0),
- end_time: new Date().setHours(23, 59, 59, 999),
- domain: '',
- level: '',
- message: ''
-})
-
-const levels = [
- {
- label: 'All',
- value: ''
- }, {
- label: EHmsLevel[0],
- value: EHmsLevel.NOTICE
- }, {
- label: EHmsLevel[1],
- value: EHmsLevel.CAUTION
- }, {
- label: EHmsLevel[2],
- value: EHmsLevel.WARN
- }
-]
-
-const deviceTypes = [
- {
- label: 'All',
- value: ''
- }, {
- label: EDeviceTypeName.Aircraft,
- value: EDeviceTypeName.Aircraft
- }, {
- label: EDeviceTypeName.Dock,
- value: EDeviceTypeName.Dock
- }
-]
-
-const time = ref([moment(param.begin_time), moment(param.end_time)])
-
-function getHms () {
- getDeviceHms(param, workspaceId, hmsPage)
- .then(res => {
- hmsPaginationProp.total = res.data.pagination.total
- hmsPaginationProp.current = res.data.pagination.page
- hmsData.data = res.data.list
- hmsData.data.forEach(hms => {
- hms.domain = hms.sn === param.children_sn ? EDeviceTypeName.Aircraft : EDeviceTypeName.Dock
- })
- })
-}
-
-function getDeviceHmsBySn (sn: string, childSn: string) {
- param.device_sn = sn
- param.children_sn = childSn
- param.sns = [param.device_sn, param.children_sn]
- getHms()
-}
-
-function onTimeChange (newTime: [Moment, Moment]) {
- param.begin_time = newTime[0].valueOf()
- param.end_time = newTime[1].valueOf()
- getHms()
-}
-
-function onDeviceTypeSelect (val: string) {
- param.sns = [param.device_sn, param.children_sn]
- if (val === EDeviceTypeName.Dock) {
- param.sns = [param.device_sn, '']
- }
- if (val === EDeviceTypeName.Aircraft) {
- param.sns = ['', param.children_sn]
- }
- getHms()
-}
-
-function onLevelSelect (val: number) {
- param.level = val
- getHms()
-}
-</script>
-<style lang="scss">
-
-.table {
- background-color: white;
- margin: 20px;
- padding: 20px;
- height: 88vh;
-}
-.table-striped {
- background-color: #f7f9fa;
-}
-.ant-table {
- border-top: 1px solid rgb(0,0,0,0.06);
- border-bottom: 1px solid rgb(0,0,0,0.06);
-}
-.ant-table-tbody tr td {
- border: 0;
-}
-.ant-table td {
- white-space: nowrap;
-}
-.ant-table-thead tr th {
- background: white !important;
- border: 0;
-}
-th.ant-table-selection-column {
- background-color: white !important;
-}
-.ant-table-header {
- background-color: white !important;
-}
-.child-row {
- height: 70px;
-}
-.notice {
- background: $success;
- overflow: hidden;
- cursor: pointer;
-}
-.caution {
- background: orange;
- cursor: pointer;
- overflow: hidden;
-}
-.warn {
- background: red;
- cursor: pointer;
- overflow: hidden;
-}
-</style>
diff --git a/src/root.ts b/src/root.ts
index a3bba92..db3944f 100644
--- a/src/root.ts
+++ b/src/root.ts
@@ -1,8 +1,8 @@
import { createApp, ComponentCustomProperties, App as VueApp } from 'vue'
declare module '@vue/runtime-core' {
interface ComponentCustomProperties {
- $aMap: any
- $aMapObj: any
+ $aMap: any // Map类
+ $map: any // 地图对象
$mouseTool: any
}
}
diff --git a/src/router/index.ts b/src/router/index.ts
index 78f8bb5..8b20a35 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -1,8 +1,8 @@
import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
import { ERouterName } from '/@/types/index'
-import CreatePlan from '../pages/project-app/projects/create-plan.vue'
-import WaylinePanel from '/@/pages/project-app/projects/wayline.vue'
-import DockPanel from '/@/pages/project-app/projects/dock.vue'
+import CreatePlan from '../pages/page-web/projects/create-plan.vue'
+import WaylinePanel from '/@/pages/page-web/projects/wayline.vue'
+import DockPanel from '/@/pages/page-web/projects/dock.vue'
import LiveAgora from '/@/components/livestream-agora.vue'
import LiveOthers from '/@/components/livestream-others.vue'
@@ -11,38 +11,41 @@
path: '/',
redirect: '/' + ERouterName.PROJECT
},
+ // 首页
{
path: '/' + ERouterName.PROJECT,
name: ERouterName.PROJECT,
- component: () => import('/@/pages/project-app/index.vue')
+ component: () => import('/@/pages/page-web/index.vue')
},
+ // members, devices
{
path: '/' + ERouterName.HOME,
name: ERouterName.HOME,
- component: () => import('/@/pages/project-app/home.vue'),
+ component: () => import('/@/pages/page-web/home.vue'),
children: [
{
path: '/' + ERouterName.MEMBERS,
name: ERouterName.MEMBERS,
- component: () => import('/@/pages/project-app/projects/members.vue')
+ component: () => import('/@/pages/page-web/projects/members.vue')
},
{
path: '/' + ERouterName.DEVICES,
name: ERouterName.DEVICES,
- component: () => import('/@/pages/project-app/projects/devices.vue')
+ component: () => import('/@/pages/page-web/projects/devices.vue')
}
]
},
+ // workspace
{
path: '/' + ERouterName.WORKSPACE,
name: ERouterName.WORKSPACE,
- component: () => import('/@/pages/project-app/projects/workspace.vue'),
+ component: () => import('/@/pages/page-web/projects/workspace.vue'),
redirect: '/' + ERouterName.TSA,
children: [
{
path: '/' + ERouterName.LIVESTREAM,
name: ERouterName.LIVESTREAM,
- component: () => import('/@/pages/project-app/projects/livestream.vue'),
+ component: () => import('/@/pages/page-web/projects/livestream.vue'),
children: [
{
path: ERouterName.LIVING,
@@ -56,27 +59,27 @@
},
{
path: '/' + ERouterName.TSA,
- component: () => import('/@/pages/project-app/projects/tsa.vue')
+ component: () => import('/@/pages/page-web/projects/tsa.vue')
},
{
path: '/' + ERouterName.LAYER,
name: ERouterName.LAYER,
- component: () => import('/@/pages/project-app/projects/layer.vue')
+ component: () => import('/@/pages/page-web/projects/layer.vue')
},
{
path: '/' + ERouterName.MEDIA,
name: ERouterName.MEDIA,
- component: () => import('/@/pages/project-app/projects/media.vue')
+ component: () => import('/@/pages/page-web/projects/media.vue')
},
{
path: '/' + ERouterName.WAYLINE,
name: ERouterName.WAYLINE,
- component: () => import('/@/pages/project-app/projects/wayline.vue')
+ component: () => import('/@/pages/page-web/projects/wayline.vue')
},
{
path: '/' + ERouterName.TASK,
name: ERouterName.TASK,
- component: () => import('/@/pages/project-app/projects/task.vue'),
+ component: () => import('/@/pages/page-web/projects/task.vue'),
children: [
{
path: ERouterName.CREATE_PLAN,
@@ -98,6 +101,7 @@
}
]
},
+ // pilot
{
path: '/' + ERouterName.PILOT,
name: ERouterName.PILOT,
@@ -118,11 +122,6 @@
{
path: '/' + ERouterName.PILOT_BIND,
component: () => import('/@/pages/page-pilot/pilot-bind.vue')
- },
- {
- path: '/' + ERouterName.ELEMENT,
- name: ERouterName.ELEMENT,
- component: () => import('/@/pages/elements/elements.vue')
}
]
diff --git a/src/store/index.ts b/src/store/index.ts
index bdcd972..36a7725 100644
--- a/src/store/index.ts
+++ b/src/store/index.ts
@@ -5,6 +5,7 @@
import { getLayers } from '/@/api/layer'
import { LayerType } from '/@/types/mapLayer'
import { ETaskStatus, TaskInfo, WaylineFile } from '/@/types/wayline'
+import { DevicesCmdExecuteInfo } from '/@/types/device-cmd'
const initStateFunc = () => ({
Layers: [
@@ -87,7 +88,10 @@
},
hmsInfo: {} as {
[sn: string]: DeviceHms[]
- }
+ },
+ // 机场指令执行状态信息
+ devicesCmdExecuteInfo: {
+ } as DevicesCmdExecuteInfo
})
export type RootStateType = ReturnType<typeof initStateFunc>
@@ -144,7 +148,6 @@
delete state.deviceState.deviceInfo[info.sn]
delete state.deviceState.dockInfo[info.sn]
delete state.hmsInfo[info.sn]
-
// delete state.markerInfo.coverMap[info.sn]
// delete state.markerInfo.pathMap[info.sn]
},
@@ -171,6 +174,25 @@
SET_DEVICE_HMS_INFO (state, info) {
const hmsList: Array<DeviceHms> = state.hmsInfo[info.sn]
state.hmsInfo[info.sn] = info.host.concat(hmsList ?? [])
+ },
+ SET_DEVICES_CMD_EXECUTE_INFO (state, info) { // 保存设备指令ws消息推送
+ if (!info.sn) {
+ return
+ }
+ if (state.devicesCmdExecuteInfo[info.sn]) {
+ const index = state.devicesCmdExecuteInfo[info.sn].findIndex(cmdExecuteInfo => cmdExecuteInfo.biz_code === info.biz_code)
+ if (index >= 0) {
+ // 丢弃前面的消息
+ if (state.devicesCmdExecuteInfo[info.sn][index].timestamp > info.timestamp) {
+ return
+ }
+ state.devicesCmdExecuteInfo[info.sn][index] = info
+ } else {
+ state.devicesCmdExecuteInfo[info.sn].push(info)
+ }
+ } else {
+ state.devicesCmdExecuteInfo[info.sn] = [info]
+ }
}
}
diff --git a/src/styles/flex.style.scss b/src/styles/flex.style.scss
index 4dddf26..25ad19a 100644
--- a/src/styles/flex.style.scss
+++ b/src/styles/flex.style.scss
@@ -44,6 +44,18 @@
justify-content: space-around;
}
+.flex-1 {
+ flex: 1;
+}
+
+.flex-shrink-0 {
+ flex-shrink: 0;
+}
+
+.flex-shrink-1 {
+ flex-shrink: 1;
+}
+
//width
.width-100vw {
width: 100vw;
diff --git a/src/types/airport-tsa.ts b/src/types/airport-tsa.ts
new file mode 100644
index 0000000..c672f36
--- /dev/null
+++ b/src/types/airport-tsa.ts
@@ -0,0 +1,38 @@
+// 机场存储容量:总容量(单位:KB)、已使用(单位:KB)
+export interface AirportStorage {
+ total: number, // 单位:KB
+ used: number
+}
+
+// 舱盖状态
+export enum CoverStateEnum {
+ Close = 0, // 关闭
+ Open = 1, // 打开
+ HalfOpen = 2, // 半打开
+ Failed = 3 // 失败
+}
+
+// 推杆状态
+export enum PutterStateEnum {
+ Close = 0, // 关闭
+ Open = 1, // 打开
+ HalfOpen = 2, // 半打开
+ Failed = 3 // 失败
+}
+
+// 充电状态
+export enum ChargeStateEnum {
+ NotCharge = 0, // 空闲
+ Charge = 1, // 正在充电
+}
+
+export interface DroneChargeState {
+ state: ChargeStateEnum,
+ capacity_percent: string,
+}
+
+// 补光灯状态
+export enum SupplementLightStateEnum {
+ Close = 0, // 关闭
+ Open = 1, // 打开
+}
diff --git a/src/types/device-cmd.ts b/src/types/device-cmd.ts
new file mode 100644
index 0000000..1230881
--- /dev/null
+++ b/src/types/device-cmd.ts
@@ -0,0 +1,210 @@
+// 机场指令集
+export enum DeviceCmd {
+ // 简单指令
+ DebugModeOpen = 'debug_mode_open', // 调试模式开启
+ DebugModeClose = 'debug_mode_close', // 调试模式关闭
+ SupplementLightOpen = 'supplement_light_open', // 打开补光灯
+ SupplementLightClose = 'supplement_light_close', // 关闭补光灯
+ ReturnHome = 'return_home', // 一键返航
+ // 复杂指令
+ DeviceReboot = 'device_reboot', // 机场重启
+ DroneOpen = 'drone_open', // 飞行器开机
+ DroneClose = 'drone_close', // 飞行器关机
+ // DeviceCheck = 'device_check', // 一键排障(一键起飞自检)
+ DeviceFormat = 'device_format', // 机场数据格式化
+ DroneFormat = 'drone_format', // 飞行器数据格式化
+ CoverOpen = 'cover_open', // 打开舱盖
+ CoverClose = 'cover_close', // 关闭舱盖
+ PutterOpen = 'putter_open', // 推杆展开
+ PutterClose = 'putter_close', // 推杆闭合
+ ChargeOpen = 'charge_open', // 打开充电
+ ChargeClose = 'charge_close', // 关闭充电
+}
+
+export interface DeviceCmdItem{
+ label: string, // 标题
+ status: string, // 当前状态
+ operateText: string, // 按钮文字
+ cmdKey: DeviceCmd, // 请求指令
+ oppositeCmdKey?: DeviceCmd, // 相反状态指令
+ func: string, // 处理函数
+ loading: boolean // 按钮loading
+}
+
+// 机场指令
+export const cmdList: DeviceCmdItem[] = [
+ {
+ // iconName: ,
+ label: '机场系统',
+ status: '工作中',
+ operateText: '重启',
+ cmdKey: DeviceCmd.DeviceReboot,
+ func: 'deviceReboot',
+ loading: false,
+ // btnAnimationIconName: '',
+ // operateTips: '',
+ // statusColor: '',
+ },
+ {
+ label: '飞行器',
+ status: '关机',
+ operateText: '开机',
+ cmdKey: DeviceCmd.DroneOpen,
+ oppositeCmdKey: DeviceCmd.DroneClose,
+ func: 'droneStatus',
+ loading: false,
+ },
+ {
+ label: '舱盖',
+ status: '关',
+ operateText: '开启',
+ cmdKey: DeviceCmd.CoverOpen,
+ oppositeCmdKey: DeviceCmd.CoverClose,
+ func: 'coverStatus',
+ loading: false,
+ },
+ {
+ label: '推杆',
+ status: '闭合',
+ operateText: '展开',
+ cmdKey: DeviceCmd.PutterOpen,
+ oppositeCmdKey: DeviceCmd.PutterClose,
+ func: 'putterStatus',
+ loading: false,
+ },
+ {
+ label: '充电状态',
+ status: '未充电',
+ operateText: '充电',
+ cmdKey: DeviceCmd.ChargeOpen,
+ oppositeCmdKey: DeviceCmd.ChargeClose,
+ func: 'chargeStatus',
+ loading: false,
+ },
+ {
+ label: '一键返航',
+ status: '--',
+ operateText: '返航',
+ cmdKey: DeviceCmd.ReturnHome,
+ func: 'returnHome',
+ loading: false,
+ },
+ {
+ label: '机场存储',
+ status: '--',
+ operateText: '格式化',
+ cmdKey: DeviceCmd.DeviceFormat,
+ func: 'deviceFormat',
+ loading: false,
+ },
+ {
+ label: '飞行器存储',
+ status: '--',
+ operateText: '格式化',
+ cmdKey: DeviceCmd.DroneFormat,
+ func: 'droneFormat',
+ loading: false,
+ },
+ {
+ label: '补光灯',
+ status: '关',
+ operateText: '打开',
+ cmdKey: DeviceCmd.SupplementLightOpen,
+ oppositeCmdKey: DeviceCmd.SupplementLightClose,
+ func: 'supplementLightStatus',
+ loading: false,
+ },
+]
+
+export enum DeviceCmdStatusText {
+ DeviceRebootNormalText = '工作中',
+ DeviceRebootInProgressText = '重启中...',
+ DeviceRebootFailedText = '重启失败',
+
+ DroneStatusOpenNormalText = '开',
+ DroneStatusOpenInProgressText = '开机中...',
+ DroneStatusOpenFailedText = '关',
+ DroneStatusOpenBtnText = '关机',
+
+ DroneStatusCloseNormalText = '关',
+ DroneStatusCloseInProgressText = '关机中...',
+ DroneStatusCloseFailedText = '开',
+ DroneStatusCloseBtnText = '开机',
+
+ DeviceCoverOpenNormalText = '开',
+ DeviceCoverOpenInProgressText = '开启中...',
+ DeviceCoverOpenFailedText = '关',
+ DeviceCoverOpenBtnText = '关闭',
+
+ DeviceCoverCloseNormalText = '关',
+ DeviceCoverCloseInProgressText = '关闭中...',
+ DeviceCoverCloseFailedText = '开',
+ DeviceCoverCloseBtnText = '开启',
+
+ DevicePutterOpenNormalText = '展开',
+ DevicePutterOpenBtnText = '闭合',
+ DevicePutterOpenInProgressText = '推杆展开中',
+ DevicePutterOpenFailedText = '闭合',
+
+ DevicePutterCloseNormalText = '闭合',
+ DevicePutterCloseInProgressText = '推杆闭合中',
+ DevicePutterCloseFailedText = '展开',
+ DevicePutterCloseBtnText = '展开',
+
+ DeviceChargeOpenNormalText = '充电',
+ DeviceChargeOpenInProgressText = '充电中...',
+ DeviceChargeOpenFailedText = '未充电',
+ DeviceChargeOpenBtnText = '断电',
+
+ DeviceChargeCloseNormalText = '断电',
+ DeviceChargeCloseInProgressText = '断电中...',
+ DeviceChargeCloseFailedText = '充电',
+ DeviceChargeCloseBtnText = '充电',
+
+ DeviceFormatInProgressText = '格式化...',
+ DeviceFormatFailedText = '格式化失败',
+
+ DroneFormatInProgressText = '格式化...',
+ DroneFormatFailedText = '格式化失败',
+
+ DeviceSupplementLightOpenNormalText = '开',
+ DeviceSupplementLightOpenInProgressText = '开启中...',
+ DeviceSupplementLightOpenFailedText = '关',
+ DeviceSupplementLightOpenBtnText = '关闭',
+
+ DeviceSupplementLightCloseNormalText = '关',
+ DeviceSupplementLightCloseText = '关闭中...',
+ DeviceSupplementLightCloseFailedText = '开',
+ DeviceSupplementLightCloseBtnText = '打开',
+}
+
+// cmd ws 消息状态
+export enum DeviceCmdExecuteStatus {
+ Sent = 'sent', // 已下发
+ InProgress = 'in_progress', // 执行中
+ OK = 'ok', // 执行成功
+ Failed = 'failed', // 失败
+ Canceled = 'canceled', // 取消
+ Timeout = 'timeout' // 超时
+}
+
+export interface DeviceCmdExecuteInfo {
+ biz_code: string,
+ timestamp: number,
+ sn: string,
+ bid: string,
+ output:{
+ status: DeviceCmdExecuteStatus,
+ progress?: {
+ percent: number,
+ step_key: string,
+ step_result: number
+ }
+ }
+ result: number,
+}
+
+// 所有机场的指令执行状态
+export interface DevicesCmdExecuteInfo {
+ [key: string]: DeviceCmdExecuteInfo[], // sn --- DeviceCmdExecuteInfo
+}
diff --git a/src/types/device-log.ts b/src/types/device-log.ts
new file mode 100644
index 0000000..307c249
--- /dev/null
+++ b/src/types/device-log.ts
@@ -0,0 +1,65 @@
+import { DOMAIN } from '/@/types/device'
+import { commonColor } from '/@/utils/color'
+
+// 日志上传状态
+export enum DeviceLogUploadStatusEnum {
+ Uploading = 1, // 上传中
+ Done = 2, // 完成
+ Canceled = 3, // 取消
+ Failed = 4, // 失败
+}
+
+export const DeviceLogUploadStatusMap = {
+ [DeviceLogUploadStatusEnum.Uploading]: '上传中',
+ [DeviceLogUploadStatusEnum.Done]: '上传成功',
+ [DeviceLogUploadStatusEnum.Canceled]: '取消上传',
+ [DeviceLogUploadStatusEnum.Failed]: '上传失败',
+}
+
+export const DeviceLogUploadStatusColor = {
+ [DeviceLogUploadStatusEnum.Uploading]: commonColor.BLUE,
+ [DeviceLogUploadStatusEnum.Done]: commonColor.NORMAL,
+ [DeviceLogUploadStatusEnum.Canceled]: commonColor.WARN,
+ [DeviceLogUploadStatusEnum.Failed]: commonColor.FAIL,
+}
+
+// 设备日志上传 ws 消息状态
+export enum DeviceLogUploadStatus {
+ FilePull = 'file_pull', // 拉取日志 可以作为 正在处理中
+ FileZip = 'file_zip', // 拉取日志,日志压缩可以作为 正在处理中
+ FileUploading = 'file_uploading', // 正在上传
+ Canceled = 'canceled', // 取消
+ Timeout = 'timeout', // 超时
+ Failed = 'failed', // 失败
+ OK = 'ok', // 上传成功
+ // Paused = 'paused' // 暂停
+}
+
+export interface DeviceLogUploadInfo {
+ sn: string,
+ bid: string,
+ output:{
+ logs_id: string
+ status: DeviceLogUploadStatus,
+ files: {
+ device_sn: string,
+ device_model_domain: DOMAIN,
+ progress: number,
+ result: number,
+ upload_rate: number,
+ status: DeviceLogUploadStatus
+ }[]
+ }
+ result: number,
+}
+
+// ws status => log status
+export const DeviceLogUploadWsStatusMap = {
+ [DeviceLogUploadStatus.FilePull]: DeviceLogUploadStatusEnum.Uploading,
+ [DeviceLogUploadStatus.FileZip]: DeviceLogUploadStatusEnum.Uploading,
+ [DeviceLogUploadStatus.FileUploading]: DeviceLogUploadStatusEnum.Uploading,
+ [DeviceLogUploadStatus.OK]: DeviceLogUploadStatusEnum.Done,
+ [DeviceLogUploadStatus.Failed]: DeviceLogUploadStatusEnum.Failed,
+ [DeviceLogUploadStatus.Canceled]: DeviceLogUploadStatusEnum.Canceled,
+ [DeviceLogUploadStatus.Timeout]: DeviceLogUploadStatusEnum.Failed,
+}
diff --git a/src/types/device.ts b/src/types/device.ts
index 8a77512..08c285a 100644
--- a/src/types/device.ts
+++ b/src/types/device.ts
@@ -1,16 +1,188 @@
-import { EDeviceTypeName } from ".";
+import { commonColor } from '/@/utils/color'
+
+export interface DeviceValue {
+ key: string; // 'domain-type-subtype'
+ domain: string; // 表示一个领域,作为一个命名空间,暂时分 飞机类-0, 负载类-1,RC类-2,机场类-3 4种
+ type: number; // 设备类型枚举
+ sub_type: number; // 设备类型枚举 负载一般表示镜头
+}
+
+// domain
+export enum DOMAIN {
+ DRONE = '0', // 飞行器
+ PAYLOAD = '1', // 负载
+ RC = '2', // 遥控
+ DOCK = '3', // 机场
+}
+
+// DJI飞机类型
+export enum DRONE_TYPE {
+ M30 = 67,
+ M300 = 60,
+ Phantom4 = 11,
+ Phantom4Pro = 18,
+ Phantom4RTK = 59,
+ Phantom4Advanced = 27,
+ Mavic3EnterpriseAdvanced= 77,
+}
+
+// DJI负载类型枚举值
+export enum PAYLOAD_TYPE {
+ FPV = 39,
+ H20 = 42,
+ H20T = 43,
+ H20N = 61,
+ EP600 = 50,
+ EP800 = 90742,
+ M30D = 52,
+ M30T = 53,
+ XT2 = 26,
+ XTS = 41,
+ Z30 = 20,
+ DockTopCamera = 165,
+
+ M3E = 66,
+ M3T = 67,
+ // UNKNOWN = 65535
+}
+
+// RC type
+export enum RC_TYPE {
+ RC = 56,
+ RCPlus = 119,
+ RC144 = 144,
+}
+
+// DOCK type
+export enum DOCK_TYPE {
+ Dock = 1,
+}
+
+// 设备sub_type 从0升序
+export enum DEVICE_SUB_TYPE {
+ ZERO,
+ ONE,
+ TWO,
+ THREE,
+ UNKNOWN = 65535,
+}
+
+export const DEVICE_MODEL_KEY = {
+ M30: `${DOMAIN.DRONE}-${DRONE_TYPE.M30}-${DEVICE_SUB_TYPE.ZERO}`,
+ M30T: `${DOMAIN.DRONE}-${DRONE_TYPE.M30}-${DEVICE_SUB_TYPE.ONE}`,
+
+ M3E: `${DOMAIN.DRONE}-${DRONE_TYPE.Mavic3EnterpriseAdvanced}-${DEVICE_SUB_TYPE.ZERO}`,
+ M3T: `${DOMAIN.DRONE}-${DRONE_TYPE.Mavic3EnterpriseAdvanced}-${DEVICE_SUB_TYPE.ONE}`,
+
+ M300: `${DOMAIN.DRONE}-${DRONE_TYPE.M300}-${DEVICE_SUB_TYPE.ZERO}`,
+ Phantom4: `${DOMAIN.DRONE}-${DRONE_TYPE.Phantom4}-${DEVICE_SUB_TYPE.ZERO}`,
+ Phantom4Pro: `${DOMAIN.DRONE}-${DRONE_TYPE.Phantom4Pro}-${DEVICE_SUB_TYPE.ZERO}`,
+ Phantom4RTK: `${DOMAIN.DRONE}-${DRONE_TYPE.Phantom4RTK}-${DEVICE_SUB_TYPE.ZERO}`,
+ Phantom4Advanced: `${DOMAIN.DRONE}-${DRONE_TYPE.Phantom4Advanced}-${DEVICE_SUB_TYPE.ZERO}`,
+
+ FPV: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.FPV}-${DEVICE_SUB_TYPE.ZERO}`,
+ H20: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.H20}-${DEVICE_SUB_TYPE.ZERO}`,
+ H20T: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.H20T}-${DEVICE_SUB_TYPE.ZERO}`,
+ H20N: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.H20N}-${DEVICE_SUB_TYPE.ZERO}`,
+ EP600: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.EP600}-${DEVICE_SUB_TYPE.UNKNOWN}`,
+ EP800: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.EP800}-${DEVICE_SUB_TYPE.ZERO}`,
+ M30Camera: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.M30D}-${DEVICE_SUB_TYPE.ZERO}`,
+ M30TCamera: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.M30T}-${DEVICE_SUB_TYPE.ZERO}`,
+
+ M3ECamera: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.M3E}-${DEVICE_SUB_TYPE.ZERO}`,
+ M3TCamera: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.M3T}-${DEVICE_SUB_TYPE.ZERO}`,
+ // M3MCamera: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.M3M}-${DEVICE_SUB_TYPE.ZERO}`,
+
+ XT2: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.XT2}-${DEVICE_SUB_TYPE.ZERO}`,
+ XTS: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.XTS}-${DEVICE_SUB_TYPE.ZERO}`,
+ Z30: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.Z30}-${DEVICE_SUB_TYPE.ZERO}`,
+ DockTopCamera: `${DOMAIN.PAYLOAD}-${PAYLOAD_TYPE.DockTopCamera}-${DEVICE_SUB_TYPE.ZERO}`,
+
+ RC: `${DOMAIN.RC}-${RC_TYPE.RC}-${DEVICE_SUB_TYPE.ZERO}`,
+ RCPlus: `${DOMAIN.RC}-${RC_TYPE.RCPlus}-${DEVICE_SUB_TYPE.ZERO}`,
+
+ Dock: `${DOMAIN.DOCK}-${DOCK_TYPE.Dock}-${DEVICE_SUB_TYPE.ZERO}`,
+}
+
+export const DEVICE_NAME = {
+ // drone
+ [DEVICE_MODEL_KEY.M30]: 'M30',
+ [DEVICE_MODEL_KEY.M30T]: 'M30T',
+ [DEVICE_MODEL_KEY.M3E]: 'Mavic 3E',
+ [DEVICE_MODEL_KEY.M3T]: 'Mavic 3T',
+ // [DEVICE_MODEL_KEY.M3M]: 'Mavic 3M',
+ [DEVICE_MODEL_KEY.M300]: 'M300 RTK',
+ [DEVICE_MODEL_KEY.Phantom4]: 'Phantom 4',
+ [DEVICE_MODEL_KEY.Phantom4Pro]: 'Phantom 4 Pro',
+ [DEVICE_MODEL_KEY.Phantom4RTK]: 'Phantom 4 RTK',
+ [DEVICE_MODEL_KEY.Phantom4Advanced]: 'Phantom 4 Advanced',
+
+ // payload
+ [DEVICE_MODEL_KEY.FPV]: 'FPV',
+ [DEVICE_MODEL_KEY.H20]: 'H20',
+ [DEVICE_MODEL_KEY.H20T]: 'H20T',
+ [DEVICE_MODEL_KEY.H20N]: 'H20N',
+ [DEVICE_MODEL_KEY.EP600]: 'P1',
+ [DEVICE_MODEL_KEY.EP800]: 'L1',
+ [DEVICE_MODEL_KEY.M30Camera]: 'M30 Camera',
+ [DEVICE_MODEL_KEY.M30TCamera]: 'M30T Camera',
+ [DEVICE_MODEL_KEY.M3ECamera]: 'Mavic 3E',
+ [DEVICE_MODEL_KEY.M3TCamera]: 'Mavic 3T',
+ // [DEVICE_MODEL_KEY.M3MCamera]: 'Mavic 3M',
+ [DEVICE_MODEL_KEY.XT2]: 'XT2',
+ [DEVICE_MODEL_KEY.XTS]: 'XTS',
+ [DEVICE_MODEL_KEY.Z30]: 'Z30',
+ [DEVICE_MODEL_KEY.DockTopCamera]: 'Dock Camera',
+
+ // rc
+ [DEVICE_MODEL_KEY.RC]: 'RC',
+ [DEVICE_MODEL_KEY.RCPlus]: 'RC Plus',
+
+ // dock
+ [DEVICE_MODEL_KEY.Dock]: 'Dock',
+}
+
+// 固件升级类型
+export enum DeviceFirmwareTypeEnum {
+ ToUpgraded = 3, // 普通升级
+ ConsistencyUpgrade =2, // 一致性升级
+}
+
+// 固件升级状态
+export enum DeviceFirmwareStatusEnum {
+ None = 1, // 无需升级
+ ToUpgraded = 2, // 待升级
+ ConsistencyUpgrade = 3, // 一致性升级
+ DuringUpgrade = 4, // 升级中
+}
+
+export const DeviceFirmwareStatus = {
+ [DeviceFirmwareStatusEnum.None]: '',
+ [DeviceFirmwareStatusEnum.ToUpgraded]: '待升级',
+ [DeviceFirmwareStatusEnum.ConsistencyUpgrade]: '一致性升级',
+ [DeviceFirmwareStatusEnum.DuringUpgrade]: '升级中',
+}
+
+export const DeviceFirmwareStatusColor = {
+ [DeviceFirmwareStatusEnum.None]: commonColor.WHITE,
+ [DeviceFirmwareStatusEnum.ToUpgraded]: commonColor.BLUE,
+ [DeviceFirmwareStatusEnum.ConsistencyUpgrade]: commonColor.WARN,
+ [DeviceFirmwareStatusEnum.DuringUpgrade]: commonColor.NORMAL,
+}
export interface Device {
device_name: string,
device_sn: string,
nickname: string,
firmware_version: string,
+ firmware_status: DeviceFirmwareStatusEnum,
status: string,
workspace_name: string,
bound_time: string,
login_time: string,
- children?: Device[]
- domain: string
+ children?: Device[],
+ domain: string,
+ firmware_progress?: number, // 升级进度
}
export interface DeviceStatus {
@@ -78,7 +250,7 @@
network_state: {
type: number,
quality: number,
- rate: number,
+ rate: number,
},
drone_in_dock: number,
drone_charge_state: {
@@ -195,4 +367,12 @@
create_time: string,
update_time: string,
domain: string
-}
\ No newline at end of file
+}
+
+// TODO: 设备拓扑管理优化
+// 设备信息
+export interface DeviceInfoType {
+ gateway: GatewayOsd, // 遥控器
+ dock: DockOsd, // 机场
+ device: DeviceOsd, // 飞机
+}
diff --git a/src/types/enums.ts b/src/types/enums.ts
index 999f1e1..00a298c 100644
--- a/src/types/enums.ts
+++ b/src/types/enums.ts
@@ -92,6 +92,25 @@
DeviceOffline = 'device_offline',
FlightTaskProgress = 'flighttask_progress',
DeviceHms = 'device_hms',
+
+ // 设备指令
+ DeviceReboot = 'device_reboot', // 机场重启
+ DroneOpen = 'drone_open', // 飞行器开机
+ DroneClose = 'drone_close', // 飞行器关机
+ DeviceFormat = 'device_format', // 机场数据格式化
+ DroneFormat = 'drone_format', // 飞行器数据格式化
+ CoverOpen = 'cover_open', // 打开舱盖
+ CoverClose = 'cover_close', // 关闭舱盖
+ PutterOpen = 'putter_open', // 推杆展开
+ PutterClose = 'putter_close', // 推杆闭合
+ ChargeOpen = 'charge_open', // 打开充电
+ ChargeClose = 'charge_close', // 关闭充电
+
+ // 设备升级
+ DeviceUpgrade = 'ota_progress', // 设备升级
+
+ // 设备日志
+ DeviceLogUploadProgress = 'fileupload_progress' // 设备日志上传上传
}
export enum EDeviceTypeName {
@@ -104,4 +123,4 @@
NOTICE,
CAUTION,
WARN,
-}
\ No newline at end of file
+}
diff --git a/src/utils/bytes.ts b/src/utils/bytes.ts
new file mode 100644
index 0000000..a1dd1fb
--- /dev/null
+++ b/src/utils/bytes.ts
@@ -0,0 +1,86 @@
+import { DEFAULT_PLACEHOLDER, SIZES as byteSizes, BYTE_SIZES } from './constants'
+
+/**
+ * 转换字节数为单位B,KB,GB...
+ * 保留一位小数
+ * @param bytes 字节数
+ * @param holder 0字节占位符,默认 --
+ * @returns
+ */
+export function bytesToSize (bytes: number, holder = DEFAULT_PLACEHOLDER, fix = 1, unit = false): string {
+ if (isNaN(bytes) || bytes === 0) {
+ return holder
+ }
+ // 兼容负数
+ let prefix = ''
+ if (bytes < 0) {
+ bytes = 0 - bytes
+ prefix = '-'
+ }
+ const k = 1024
+ const sizes = unit ? BYTE_SIZES : byteSizes// ['B', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y']
+ const i = Math.floor(Math.log(bytes) / Math.log(k))
+ return prefix + (bytes / Math.pow(k, i)).toFixed(fix) + '' + sizes[i]
+}
+
+// 获取转化后数据及单位
+export function getBytesObject (bytes: number, holder = DEFAULT_PLACEHOLDER, fix = 1): {
+ value: string,
+ size: string
+ index: number
+} {
+ if (isNaN(bytes) || bytes === 0) {
+ return {
+ value: holder,
+ size: '',
+ index: -1,
+ }
+ }
+ // 兼容负数
+ let prefix = ''
+ if (bytes < 0) {
+ bytes = 0 - bytes
+ prefix = '-'
+ }
+ const k = 1024
+ const sizes = byteSizes// ['B', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y']
+ const i = Math.floor(Math.log(bytes) / Math.log(k))
+
+ return {
+ value: prefix + (bytes / Math.pow(k, i)).toFixed(fix),
+ size: sizes[i],
+ index: i,
+ }
+}
+
+/**
+ * 根据最小单位返回文件大小
+ * @param bytes
+ * @param minUnit
+ * @param fix
+ * @returns
+ */
+export function bytesToSizeWithMinUnit (bytes: number, minUnit = 'B', fix = 1): string {
+ const holder = `0${minUnit}`
+ const sizes = byteSizes// ['B', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y']
+ const k = 1024
+ const findIndex = sizes.findIndex(item => item === minUnit)
+
+ const { value, size, index } = getBytesObject(bytes, holder, fix)
+ // 0
+ if (index === -1) {
+ return holder
+ }
+ // 转换后单位小于传入的最小单位
+ if (index < findIndex) {
+ const sizeToMinUint = parseFloat(value) / (Math.pow(k, findIndex - index))
+ return sizeToMinUint.toFixed(fix) + minUnit
+ }
+ // 其他
+ return value + size
+}
+// console.log('size', bytesToSizeWithMinUnit(0))
+// console.log('size', bytesToSizeWithMinUnit(1023))
+// console.log('size', bytesToSizeWithMinUnit(1024))
+// console.log('size', bytesToSizeWithMinUnit(1000 * 1024, 'MB', 2))
+// console.log('size', bytesToSizeWithMinUnit(1024 * 1024, 'MB', 2))
diff --git a/src/utils/color.ts b/src/utils/color.ts
new file mode 100644
index 0000000..5ad4ee3
--- /dev/null
+++ b/src/utils/color.ts
@@ -0,0 +1,8 @@
+export const commonColor = {
+ WARN: '#FF9900', // 黄色
+ FAIL: '#E02020', // 红色
+ WHITE: '#FFFFFF', // 白色
+ NORMAL: '#19BE6B', // 绿色
+ BLUE: '#2B85E4', // 蓝色
+ PINK: '#F7C0BA', // 粉
+}
diff --git a/src/utils/common.ts b/src/utils/common.ts
index 03c65f2..26fd977 100644
--- a/src/utils/common.ts
+++ b/src/utils/common.ts
@@ -1,4 +1,8 @@
-
+/**
+ * 下载文件
+ * @param data
+ * @param fileName
+ */
export function downloadFile (data: Blob, fileName: string) {
const lable = document.createElement('a')
lable.href = window.URL.createObjectURL(data)
diff --git a/src/utils/constants.ts b/src/utils/constants.ts
new file mode 100644
index 0000000..06ad646
--- /dev/null
+++ b/src/utils/constants.ts
@@ -0,0 +1,15 @@
+
+export const DEFAULT_PLACEHOLDER = '--' // 默认占位符
+
+// 全局日期格式
+export const DATE_FORMAT = 'YYYY-MM-DD HH:mm:ss'
+export const DATE_FORMAT_MINUTE = 'YYYY-MM-DD HH:mm'
+export const DATE_FORMAT_DAY = 'YYYY-MM-DD'
+export const TIME_FORMAT = 'HH:mm:ss'
+export const TIME_FORMAT_MINUTE = 'HH:mm'
+export const DATE_FORMAT_MM = 'MM-DD HH:mm'
+
+export const SIZES = ['B', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y']
+export const BYTE_SIZES = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
+export const PAGE_SIZE_OPTIONS = ['20', '50', '100']
+export const PAGE_SIZE = 50
diff --git a/src/utils/device-cmd.ts b/src/utils/device-cmd.ts
new file mode 100644
index 0000000..b6c80dd
--- /dev/null
+++ b/src/utils/device-cmd.ts
@@ -0,0 +1,350 @@
+import { DeviceInfoType } from '/@/types/device'
+import { DeviceCmd, DeviceCmdItem, DeviceCmdExecuteInfo, DeviceCmdStatusText, DeviceCmdExecuteStatus } from '/@/types/device-cmd'
+import { AirportStorage, CoverStateEnum, PutterStateEnum, ChargeStateEnum, SupplementLightStateEnum } from '/@/types/airport-tsa'
+import { getBytesObject } from './bytes'
+import { DEFAULT_PLACEHOLDER } from './constants'
+
+/**
+ * 根据osd 更新信息
+ * @param cmdList
+ * @param deviceInfo
+ * @returns
+ */
+export function updateDeviceCmdInfoByOsd (cmdList: DeviceCmdItem[], deviceInfo: DeviceInfoType) {
+ const { device, dock, gateway } = deviceInfo || {}
+ if (!cmdList || cmdList.length < 1) {
+ return
+ }
+ cmdList.forEach(cmdItem => {
+ if (cmdItem.loading) {
+ return
+ }
+ if (cmdItem.cmdKey === DeviceCmd.DeviceReboot) { // 重启
+ // console.log('DeviceReboot')
+ } else if (cmdItem.cmdKey === DeviceCmd.DroneOpen || cmdItem.cmdKey === DeviceCmd.DroneClose) { // 飞行器开关机
+ getDroneState(cmdItem, device)
+ } else if (cmdItem.cmdKey === DeviceCmd.CoverOpen || cmdItem.cmdKey === DeviceCmd.CoverClose) { // 舱盖开关
+ getCoverState(cmdItem, dock)
+ } else if (cmdItem.cmdKey === DeviceCmd.PutterOpen || cmdItem.cmdKey === DeviceCmd.PutterClose) { // 推杆闭合展开
+ getPutterState(cmdItem, dock)
+ } else if (cmdItem.cmdKey === DeviceCmd.ChargeOpen || cmdItem.cmdKey === DeviceCmd.ChargeClose) { // 充电状态
+ getChargeState(cmdItem, dock)
+ } else if (cmdItem.cmdKey === DeviceCmd.DeviceFormat) { // 机场存储
+ deviceFormat(cmdItem, dock)
+ } else if (cmdItem.cmdKey === DeviceCmd.DroneFormat) { // 飞行器存储
+ droneFormat(cmdItem, device)
+ } else if (cmdItem.cmdKey === DeviceCmd.SupplementLightOpen || cmdItem.cmdKey === DeviceCmd.SupplementLightClose) { // 补光灯开关
+ getSupplementLightState(cmdItem, dock)
+ }
+ })
+}
+
+// 飞行器开关机
+function getDroneState (cmdItem: DeviceCmdItem, droneProperties: any) {
+ if (!droneProperties) {
+ cmdItem.status = DeviceCmdStatusText.DroneStatusCloseNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DroneStatusCloseBtnText
+ if (cmdItem.cmdKey !== DeviceCmd.DroneOpen) {
+ exchangeDeviceCmd(cmdItem)
+ }
+ } else {
+ cmdItem.status = DeviceCmdStatusText.DroneStatusOpenNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DroneStatusOpenBtnText
+ if (cmdItem.cmdKey !== DeviceCmd.DroneClose) {
+ exchangeDeviceCmd(cmdItem)
+ }
+ }
+}
+
+// 舱盖开关
+function getCoverState (cmdItem: DeviceCmdItem, airportProperties: any) {
+ const coverState = airportProperties?.cover_state as CoverStateEnum
+
+ if (coverState === CoverStateEnum.Close || coverState === CoverStateEnum.Failed) {
+ cmdItem.status = DeviceCmdStatusText.DeviceCoverCloseNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DeviceCoverCloseBtnText
+ if (cmdItem.cmdKey !== DeviceCmd.CoverOpen) {
+ exchangeDeviceCmd(cmdItem)
+ }
+ } else if (coverState === CoverStateEnum.Open || coverState === CoverStateEnum.HalfOpen) {
+ cmdItem.status = DeviceCmdStatusText.DeviceCoverOpenNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DeviceCoverOpenBtnText
+ if (cmdItem.cmdKey !== DeviceCmd.CoverClose) {
+ exchangeDeviceCmd(cmdItem)
+ }
+ }
+}
+
+// 推杆状态
+function getPutterState (cmdItem: DeviceCmdItem, airportProperties: any) {
+ const putterState = airportProperties?.putter_state as PutterStateEnum
+ if (putterState === PutterStateEnum.Close || putterState === PutterStateEnum.Failed) {
+ cmdItem.status = DeviceCmdStatusText.DevicePutterCloseNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DevicePutterCloseBtnText
+ if (cmdItem.cmdKey !== DeviceCmd.PutterOpen) {
+ exchangeDeviceCmd(cmdItem)
+ }
+ } else if (putterState === PutterStateEnum.Open || putterState === PutterStateEnum.HalfOpen) {
+ cmdItem.status = DeviceCmdStatusText.DevicePutterOpenNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DevicePutterOpenBtnText
+ if (cmdItem.cmdKey !== DeviceCmd.PutterClose) {
+ exchangeDeviceCmd(cmdItem)
+ }
+ }
+}
+
+// 充电状态
+function getChargeState (cmdItem: DeviceCmdItem, airportProperties: any) {
+ const chargeState = airportProperties?.drone_charge_state
+ const state = chargeState?.state as ChargeStateEnum
+ if (!state) return
+ if (state === ChargeStateEnum.Charge) {
+ cmdItem.status = DeviceCmdStatusText.DeviceChargeOpenNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DeviceChargeOpenBtnText
+ if (cmdItem.cmdKey !== DeviceCmd.ChargeClose) {
+ exchangeDeviceCmd(cmdItem)
+ }
+ } else if (state === ChargeStateEnum.NotCharge) {
+ cmdItem.status = DeviceCmdStatusText.DeviceChargeCloseNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DeviceChargeCloseBtnText
+ if (cmdItem.cmdKey !== DeviceCmd.ChargeOpen) {
+ exchangeDeviceCmd(cmdItem)
+ }
+ }
+}
+
+// 机场存储格式化
+function deviceFormat (cmdItem: DeviceCmdItem, airportProperties: any) {
+ const airportStorage = airportProperties?.storage
+ const value = getAirportStorage(airportStorage)
+ cmdItem.status = value
+}
+
+// 机场存储格式化
+function droneFormat (cmdItem: DeviceCmdItem, droneProperties: any) {
+ const droneStorage = droneProperties?.storage
+ const value = getAirportStorage(droneStorage)
+ cmdItem.status = value
+}
+
+// 获取机场存储容量
+// {
+// "total": 10000, // 单位:KB
+// "used": 500
+// }
+export function getAirportStorage (storage: AirportStorage) {
+ if (!storage) {
+ return DEFAULT_PLACEHOLDER
+ }
+ const total = storage.total
+ const used = storage.used
+ const byteObj = getBytesObject(total * 1024)
+ const _total = byteObj.value
+ const _used = getBytes(used * 1024, byteObj.index)
+ return `${_used}/${_total} ${byteObj.size}`
+}
+
+function getBytes (bytes: number, index: number, fixed = 1) {
+ return (bytes / Math.pow(1024, index)).toFixed(fixed)
+}
+
+// 补光灯状态
+function getSupplementLightState (cmdItem: DeviceCmdItem, airportProperties: any) {
+ const supplementLightState = airportProperties?.supplement_light_state
+ if (supplementLightState === SupplementLightStateEnum.Close) {
+ cmdItem.operateText = DeviceCmdStatusText.DeviceSupplementLightCloseBtnText
+ cmdItem.status = DeviceCmdStatusText.DeviceSupplementLightCloseNormalText
+ if (cmdItem.cmdKey !== DeviceCmd.SupplementLightOpen) {
+ exchangeDeviceCmd(cmdItem)
+ }
+ } else if (supplementLightState === SupplementLightStateEnum.Open) {
+ cmdItem.operateText = DeviceCmdStatusText.DeviceSupplementLightOpenBtnText
+ cmdItem.status = DeviceCmdStatusText.DeviceSupplementLightOpenNormalText
+ if (cmdItem.cmdKey !== DeviceCmd.SupplementLightClose) {
+ exchangeDeviceCmd(cmdItem)
+ }
+ }
+}
+
+/**
+ * 交换指令
+ * @param cmd
+ */
+function exchangeDeviceCmd (cmdItem: DeviceCmdItem) {
+ if (cmdItem.oppositeCmdKey) {
+ const oppositeCmdKey = cmdItem.oppositeCmdKey
+ cmdItem.oppositeCmdKey = cmdItem.cmdKey
+ cmdItem.cmdKey = oppositeCmdKey
+ }
+}
+
+// /**
+// * 更新简单指令发送情况更新信息
+// * @param cmd
+// */
+// export function updateDeviceSingleCmdInfo (cmdItem: DeviceCmdItem) {
+// // 补光灯
+// if (cmdItem.cmdKey === DeviceCmd.SupplementLightOpen) {
+// cmdItem.status = DeviceCmdStatusText.DeviceSupplementLightOpenNormalText
+// cmdItem.operateText = DeviceCmdStatusText.DeviceSupplementLightOpenBtnText
+// exchangeDeviceCmd(cmdItem)
+// } else if (cmdItem.cmdKey === DeviceCmd.SupplementLightClose) {
+// cmdItem.status = DeviceCmdStatusText.DeviceSupplementLightCloseNormalText
+// cmdItem.operateText = DeviceCmdStatusText.DeviceSupplementLightCloseBtnText
+// exchangeDeviceCmd(cmdItem)
+// }
+// }
+
+/**
+ * 根据指令执行消息更新信息
+ * @param cmd
+ * @param deviceCmdExecuteInfo
+ * @returns
+ */
+export function updateDeviceCmdInfoByExecuteInfo (cmdList: DeviceCmdItem[], deviceCmdExecuteInfos?: DeviceCmdExecuteInfo[]) {
+ if (!deviceCmdExecuteInfos || !cmdList) {
+ return
+ }
+ cmdList.forEach(cmdItem => {
+ // 获取当前设备相应指令信息
+ const deviceCmdExecuteInfo = deviceCmdExecuteInfos.find(cmdExecuteInfo => cmdExecuteInfo.biz_code === cmdItem.cmdKey)
+ if (deviceCmdExecuteInfo) {
+ if (cmdItem.cmdKey === DeviceCmd.DeviceReboot) { // 重启
+ if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
+ cmdItem.status = DeviceCmdStatusText.DeviceRebootInProgressText
+ cmdItem.loading = true
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) {
+ cmdItem.status = DeviceCmdStatusText.DeviceRebootFailedText
+ cmdItem.loading = false
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
+ cmdItem.status = DeviceCmdStatusText.DeviceRebootNormalText
+ cmdItem.loading = false
+ }
+ } else if (cmdItem.cmdKey === DeviceCmd.DroneOpen) { // 飞行器开关机
+ if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
+ cmdItem.status = DeviceCmdStatusText.DroneStatusOpenInProgressText
+ cmdItem.loading = true
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) {
+ cmdItem.status = DeviceCmdStatusText.DroneStatusOpenFailedText
+ cmdItem.loading = false
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
+ cmdItem.status = DeviceCmdStatusText.DroneStatusOpenNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DroneStatusOpenBtnText
+ exchangeDeviceCmd(cmdItem)
+ cmdItem.loading = false
+ }
+ } else if (cmdItem.cmdKey === DeviceCmd.DroneClose) {
+ if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
+ cmdItem.status = DeviceCmdStatusText.DroneStatusCloseInProgressText
+ cmdItem.loading = true
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) {
+ cmdItem.status = DeviceCmdStatusText.DroneStatusCloseFailedText
+ cmdItem.loading = false
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
+ cmdItem.status = DeviceCmdStatusText.DroneStatusCloseNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DroneStatusCloseBtnText
+ exchangeDeviceCmd(cmdItem)
+ cmdItem.loading = false
+ }
+ } else if (cmdItem.cmdKey === DeviceCmd.CoverOpen) { // 舱盖开关
+ if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
+ cmdItem.status = DeviceCmdStatusText.DeviceCoverOpenInProgressText
+ cmdItem.loading = true
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) {
+ cmdItem.status = DeviceCmdStatusText.DeviceCoverOpenFailedText
+ cmdItem.loading = false
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
+ cmdItem.status = DeviceCmdStatusText.DeviceCoverOpenNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DeviceCoverOpenBtnText
+ exchangeDeviceCmd(cmdItem)
+ cmdItem.loading = false
+ }
+ } else if (cmdItem.cmdKey === DeviceCmd.CoverClose) {
+ if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
+ cmdItem.status = DeviceCmdStatusText.DeviceCoverCloseInProgressText
+ cmdItem.loading = true
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) {
+ cmdItem.status = DeviceCmdStatusText.DeviceCoverCloseFailedText
+ cmdItem.loading = false
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
+ cmdItem.status = DeviceCmdStatusText.DeviceCoverCloseNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DeviceCoverCloseBtnText
+ exchangeDeviceCmd(cmdItem)
+ cmdItem.loading = false
+ }
+ } else if (cmdItem.cmdKey === DeviceCmd.PutterOpen) { // 推杆闭合展开
+ if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
+ cmdItem.status = DeviceCmdStatusText.DevicePutterOpenInProgressText
+ cmdItem.loading = true
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) {
+ cmdItem.status = DeviceCmdStatusText.DevicePutterOpenFailedText
+ cmdItem.loading = false
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
+ cmdItem.status = DeviceCmdStatusText.DevicePutterOpenNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DevicePutterOpenBtnText
+ exchangeDeviceCmd(cmdItem)
+ cmdItem.loading = false
+ }
+ } else if (cmdItem.cmdKey === DeviceCmd.PutterClose) {
+ if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
+ cmdItem.status = DeviceCmdStatusText.DevicePutterCloseInProgressText
+ cmdItem.loading = true
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) {
+ cmdItem.status = DeviceCmdStatusText.DevicePutterCloseFailedText
+ cmdItem.loading = false
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
+ cmdItem.status = DeviceCmdStatusText.DevicePutterCloseNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DevicePutterCloseBtnText
+ exchangeDeviceCmd(cmdItem)
+ cmdItem.loading = false
+ }
+ } else if (cmdItem.cmdKey === DeviceCmd.ChargeOpen) { // 充电状态
+ if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
+ cmdItem.status = DeviceCmdStatusText.DeviceChargeOpenInProgressText
+ cmdItem.loading = true
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) {
+ cmdItem.status = DeviceCmdStatusText.DeviceChargeOpenFailedText
+ cmdItem.loading = false
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
+ cmdItem.status = DeviceCmdStatusText.DeviceChargeOpenNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DeviceChargeOpenBtnText
+ exchangeDeviceCmd(cmdItem)
+ cmdItem.loading = false
+ }
+ } else if (cmdItem.cmdKey === DeviceCmd.ChargeClose) {
+ if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
+ cmdItem.status = DeviceCmdStatusText.DeviceChargeCloseInProgressText
+ cmdItem.loading = true
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) {
+ cmdItem.status = DeviceCmdStatusText.DeviceChargeCloseFailedText
+ cmdItem.loading = false
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
+ cmdItem.status = DeviceCmdStatusText.DeviceChargeCloseNormalText
+ cmdItem.operateText = DeviceCmdStatusText.DeviceChargeCloseBtnText
+ exchangeDeviceCmd(cmdItem)
+ cmdItem.loading = false
+ }
+ } else if (cmdItem.cmdKey === DeviceCmd.DeviceFormat) { // 机场存储
+ if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
+ cmdItem.status = DeviceCmdStatusText.DeviceFormatInProgressText
+ cmdItem.loading = true
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) {
+ cmdItem.status = DeviceCmdStatusText.DeviceFormatFailedText
+ cmdItem.loading = false
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
+ cmdItem.loading = false
+ }
+ } else if (cmdItem.cmdKey === DeviceCmd.DroneFormat) { // 飞行器存储
+ if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.InProgress) {
+ cmdItem.status = DeviceCmdStatusText.DroneFormatInProgressText
+ cmdItem.loading = true
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.Failed) {
+ cmdItem.status = DeviceCmdStatusText.DroneFormatFailedText
+ cmdItem.loading = false
+ } else if (deviceCmdExecuteInfo.output.status === DeviceCmdExecuteStatus.OK) {
+ cmdItem.loading = false
+ }
+ }
+ }
+ })
+}
diff --git a/src/utils/download.ts b/src/utils/download.ts
new file mode 100644
index 0000000..3838865
--- /dev/null
+++ b/src/utils/download.ts
@@ -0,0 +1,82 @@
+/**
+ * 加载图片
+ * @param url
+ * @returns
+ */
+export function urlToImage (url: string) {
+ return new Promise<HTMLImageElement>((resolve, reject) => {
+ const image = new Image()
+ image.src = url
+ image.onload = () => { resolve(image) }
+ image.onerror = () => { reject(new Error('image load error')) }
+ })
+}
+
+export interface CompressImageData {
+ blob: Blob | null;
+ imageData: ImageData;
+}
+export function compressImage (imgToCompress: HTMLImageElement, targetWidth: number, targetHeight: number): Promise<CompressImageData> | undefined {
+ // resizing the image
+ const canvas = document.createElement('canvas')
+ const context = canvas.getContext('2d')
+ if (context) {
+ const iWidth = imgToCompress.width
+ const iHeight = imgToCompress.height
+ const iRatio = iWidth / iHeight // 图像宽高比
+ const tRatio = targetWidth / targetHeight // 目标宽高比
+ let dw = targetWidth
+ let dh = targetHeight
+ let dx = 0
+ let dy = 0
+ if (iRatio > tRatio) {
+ // 如果图像宽高比比目标宽高比要大,说明图像比目标尺寸更宽,这时候我们应该按照高度缩放比来进行缩放宽度
+ dw = (targetHeight / iHeight) * iWidth
+ // 宽度溢出,应该放在中间
+ dx = -(dw - targetWidth) / 2
+ } else {
+ // 否则说明图像比目标尺寸更高,按照宽度缩放比来缩放高度
+ dh = (targetWidth / iWidth) * iHeight
+ // 高度溢出,应该放在中间
+ dy = -(dh - targetHeight) / 2
+ }
+
+ canvas.width = targetWidth
+ canvas.height = targetHeight
+
+ context.drawImage(
+ imgToCompress,
+ dx,
+ dy,
+ dw,
+ dh,
+ )
+
+ return new Promise<CompressImageData>((resolve) => {
+ const imageData = context.getImageData(0, 0, canvas.width, canvas.height)
+
+ canvas.toBlob(blob => resolve({
+ blob,
+ imageData,
+ }))
+ })
+ }
+}
+
+/**
+ * 根据资源url下载文件
+ * @param url
+ * @param fileName
+ */
+export function download (url: string, fileName = ''): void {
+ const aLink = document.createElement('a')
+ aLink.style.display = 'none'
+ aLink.download = fileName
+ aLink.href = url
+ document.body.appendChild(aLink)
+ // 避免新开页面,闪烁
+ // aLink.target = '_blank'
+ aLink.click()
+ document.body.removeChild(aLink)
+ // aLink.remove()
+}
diff --git a/src/utils/time.ts b/src/utils/time.ts
new file mode 100644
index 0000000..31f3717
--- /dev/null
+++ b/src/utils/time.ts
@@ -0,0 +1,15 @@
+import {
+ DATE_FORMAT,
+ DEFAULT_PLACEHOLDER
+} from '/@/utils/constants'
+import moment, { Moment } from 'moment'
+
+// 时间字符串 或者 Unix 时间戳(毫秒数)
+export function formatDateTime (time: string | number, format = DATE_FORMAT) {
+ return time ? moment(time, format) : DEFAULT_PLACEHOLDER
+}
+
+// Unix 时间戳 (秒)
+export function formatUnixTime (time: number, format = DATE_FORMAT): string {
+ return time ? moment.unix(time).format(format) : DEFAULT_PLACEHOLDER
+}
diff --git a/src/websocket/index.ts b/src/websocket/index.ts
new file mode 100644
index 0000000..8edd25c
--- /dev/null
+++ b/src/websocket/index.ts
@@ -0,0 +1,85 @@
+import { message } from 'ant-design-vue'
+import ReconnectingWebSocket from 'reconnecting-websocket'
+
+interface WebSocketOptions {
+ data: any
+ cache?: boolean | string
+ destroyCache?: string
+}
+
+export interface MessageHandler {
+ (data : {[key: string]: any}): void
+}
+
+/**
+ * ConnectWebSocket 类
+ * TODO: 优化messageHandler: EventEmitter。暂时传入回调函数
+ */
+class ConnectWebSocket {
+ _url: string
+ _socket: ReconnectingWebSocket | null
+ _hasInit: boolean
+ _messageHandler: MessageHandler | null
+
+ constructor (url: string) {
+ this._url = url
+ this._socket = null
+ this._hasInit = false
+ this._messageHandler = null
+ }
+
+ initSocket () {
+ if (this._hasInit) {
+ return
+ }
+ if (!this._url) {
+ return
+ }
+
+ // 会自动重连,无需处理重连逻辑
+ this._socket = new ReconnectingWebSocket(this._url, [], {
+ maxReconnectionDelay: 20000, // 断开后最大的重连时间: 20s,每多一次重连,会增加 1.3 倍,5 * 1.3 * 1.3 * 1.3...
+ minReconnectionDelay: 5000, // 断开后最短的重连时间: 5s
+ maxRetries: 5
+ })
+
+ this._hasInit = true
+
+ this._socket.addEventListener('open', this._onOpen.bind(this))
+ this._socket.addEventListener('close', this._onClose.bind(this))
+ this._socket.addEventListener('error', this._onError.bind(this))
+ this._socket.addEventListener('message', this._onMessage.bind(this))
+ }
+
+ _onOpen () {
+ console.log('连接成功')
+ }
+
+ _onClose () {
+ console.log('连接已断开')
+ }
+
+ _onError () {
+ console.log('连接 error')
+ }
+
+ registerMessageHandler (messageHandler: MessageHandler) {
+ this._messageHandler = messageHandler
+ }
+
+ _onMessage (msg: MessageEvent) {
+ const data = JSON.parse(msg.data)
+ this._messageHandler && this._messageHandler(data)
+ // console.log('接受消息', message)
+ }
+
+ sendMessage = (message: WebSocketOptions): void => {
+ this._socket?.send(JSON.stringify(message.data))
+ }
+
+ close () {
+ this._socket?.close()
+ }
+}
+
+export default ConnectWebSocket
diff --git a/src/websocket/util/config.ts b/src/websocket/util/config.ts
new file mode 100644
index 0000000..46c8c2e
--- /dev/null
+++ b/src/websocket/util/config.ts
@@ -0,0 +1,8 @@
+import { ELocalStorageKey } from '/@/types/enums'
+import { CURRENT_CONFIG } from '/@/api/http/config'
+
+export function getWebsocketUrl () {
+ const token: string = localStorage.getItem(ELocalStorageKey.Token) || '' as string
+ const url = CURRENT_CONFIG.websocketURL + '?x-auth-token=' + encodeURI(token)
+ return url
+}
diff --git a/tsconfig.json b/tsconfig.json
index cffee3a..8aefcd9 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -25,6 +25,6 @@
"src/**/*.d.ts",
"src/**/*.tsx",
"src/**/*.vue",
- "src/vendors/coordtransform.js"
- ]
+ "src/vendors/coordtransform.js"
+ ]
}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 475880b..b48720b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3,55 +3,55 @@
"@amap/amap-jsapi-loader@^1.0.1":
- "integrity" "sha1-nsS01dJGfqxFH2yFLjXbaen58MA="
- "resolved" "https://registry.npmmirror.com/@amap/amap-jsapi-loader/download/@amap/amap-jsapi-loader-1.0.1.tgz"
- "version" "1.0.1"
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/@amap/amap-jsapi-loader/download/@amap/amap-jsapi-loader-1.0.1.tgz"
+ integrity sha1-nsS01dJGfqxFH2yFLjXbaen58MA=
"@ant-design/colors@^5.0.0":
- "integrity" "sha1-gAshhrHifmZDLmfQPtlq8+IdiUA="
- "resolved" "https://registry.npm.taobao.org/@ant-design/colors/download/@ant-design/colors-5.1.1.tgz"
- "version" "5.1.1"
+ version "5.1.1"
+ resolved "https://registry.npm.taobao.org/@ant-design/colors/download/@ant-design/colors-5.1.1.tgz"
+ integrity sha1-gAshhrHifmZDLmfQPtlq8+IdiUA=
dependencies:
"@ctrl/tinycolor" "^3.3.1"
"@ant-design/icons-svg@^4.0.0":
- "integrity" "sha1-hjDajrRHGkqr2u19H/apfcss8Fo="
- "resolved" "https://registry.npmmirror.com/@ant-design/icons-svg/download/@ant-design/icons-svg-4.2.1.tgz?cache=0&sync_timestamp=1632478211055&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40ant-design%2Ficons-svg%2Fdownload%2F%40ant-design%2Ficons-svg-4.2.1.tgz"
- "version" "4.2.1"
+ version "4.2.1"
+ resolved "https://registry.npmmirror.com/@ant-design/icons-svg/download/@ant-design/icons-svg-4.2.1.tgz?cache=0&sync_timestamp=1632478211055&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40ant-design%2Ficons-svg%2Fdownload%2F%40ant-design%2Ficons-svg-4.2.1.tgz"
+ integrity sha1-hjDajrRHGkqr2u19H/apfcss8Fo=
"@ant-design/icons-vue@^6.0.0", "@ant-design/icons-vue@^6.0.1":
- "integrity" "sha1-nYBMPHTSz6+XyxjlgtO5QAk09f0="
- "resolved" "https://registry.npmmirror.com/@ant-design/icons-vue/download/@ant-design/icons-vue-6.0.1.tgz"
- "version" "6.0.1"
+ version "6.0.1"
+ resolved "https://registry.npmmirror.com/@ant-design/icons-vue/download/@ant-design/icons-vue-6.0.1.tgz"
+ integrity sha1-nYBMPHTSz6+XyxjlgtO5QAk09f0=
dependencies:
"@ant-design/colors" "^5.0.0"
"@ant-design/icons-svg" "^4.0.0"
"@types/lodash" "^4.14.165"
- "lodash" "^4.17.15"
-
-"@babel/code-frame@^7.16.7":
- "integrity" "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg=="
- "resolved" "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.16.7.tgz"
- "version" "7.16.7"
- dependencies:
- "@babel/highlight" "^7.16.7"
+ lodash "^4.17.15"
"@babel/code-frame@7.12.11":
- "integrity" "sha1-9K1DWqJj25NbjxDyxVLSP7cWpj8="
- "resolved" "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.12.11.tgz"
- "version" "7.12.11"
+ version "7.12.11"
+ resolved "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.12.11.tgz"
+ integrity sha1-9K1DWqJj25NbjxDyxVLSP7cWpj8=
dependencies:
"@babel/highlight" "^7.10.4"
-"@babel/compat-data@^7.16.4":
- "integrity" "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q=="
- "resolved" "https://registry.npmmirror.com/@babel/compat-data/download/@babel/compat-data-7.16.8.tgz"
- "version" "7.16.8"
+"@babel/code-frame@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.16.7.tgz"
+ integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
+ dependencies:
+ "@babel/highlight" "^7.16.7"
-"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.12.17":
- "integrity" "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA=="
- "resolved" "https://registry.npmmirror.com/@babel/core/download/@babel/core-7.16.7.tgz"
- "version" "7.16.7"
+"@babel/compat-data@^7.16.4":
+ version "7.16.8"
+ resolved "https://registry.npmmirror.com/@babel/compat-data/download/@babel/compat-data-7.16.8.tgz"
+ integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==
+
+"@babel/core@^7.12.17":
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/core/download/@babel/core-7.16.7.tgz"
+ integrity sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==
dependencies:
"@babel/code-frame" "^7.16.7"
"@babel/generator" "^7.16.7"
@@ -62,73 +62,73 @@
"@babel/template" "^7.16.7"
"@babel/traverse" "^7.16.7"
"@babel/types" "^7.16.7"
- "convert-source-map" "^1.7.0"
- "debug" "^4.1.0"
- "gensync" "^1.0.0-beta.2"
- "json5" "^2.1.2"
- "semver" "^6.3.0"
- "source-map" "^0.5.0"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.1.2"
+ semver "^6.3.0"
+ source-map "^0.5.0"
"@babel/generator@^7.16.7", "@babel/generator@^7.16.8":
- "integrity" "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw=="
- "resolved" "https://registry.npmmirror.com/@babel/generator/download/@babel/generator-7.16.8.tgz"
- "version" "7.16.8"
+ version "7.16.8"
+ resolved "https://registry.npmmirror.com/@babel/generator/download/@babel/generator-7.16.8.tgz"
+ integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==
dependencies:
"@babel/types" "^7.16.8"
- "jsesc" "^2.5.1"
- "source-map" "^0.5.0"
+ jsesc "^2.5.1"
+ source-map "^0.5.0"
"@babel/helper-compilation-targets@^7.16.7":
- "integrity" "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA=="
- "resolved" "https://registry.npmmirror.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.16.7.tgz"
+ integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==
dependencies:
"@babel/compat-data" "^7.16.4"
"@babel/helper-validator-option" "^7.16.7"
- "browserslist" "^4.17.5"
- "semver" "^6.3.0"
+ browserslist "^4.17.5"
+ semver "^6.3.0"
"@babel/helper-environment-visitor@^7.16.7":
- "integrity" "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag=="
- "resolved" "https://registry.npmmirror.com/@babel/helper-environment-visitor/download/@babel/helper-environment-visitor-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/helper-environment-visitor/download/@babel/helper-environment-visitor-7.16.7.tgz"
+ integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==
dependencies:
"@babel/types" "^7.16.7"
"@babel/helper-function-name@^7.16.7":
- "integrity" "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA=="
- "resolved" "https://registry.npmmirror.com/@babel/helper-function-name/download/@babel/helper-function-name-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/helper-function-name/download/@babel/helper-function-name-7.16.7.tgz"
+ integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==
dependencies:
"@babel/helper-get-function-arity" "^7.16.7"
"@babel/template" "^7.16.7"
"@babel/types" "^7.16.7"
"@babel/helper-get-function-arity@^7.16.7":
- "integrity" "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw=="
- "resolved" "https://registry.npmmirror.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.16.7.tgz"
+ integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==
dependencies:
"@babel/types" "^7.16.7"
"@babel/helper-hoist-variables@^7.16.7":
- "integrity" "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg=="
- "resolved" "https://registry.npmmirror.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.16.7.tgz"
+ integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==
dependencies:
"@babel/types" "^7.16.7"
"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.16.7":
- "integrity" "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg=="
- "resolved" "https://registry.npmmirror.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.16.7.tgz"
+ integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==
dependencies:
"@babel/types" "^7.16.7"
"@babel/helper-module-transforms@^7.16.7":
- "integrity" "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng=="
- "resolved" "https://registry.npmmirror.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.16.7.tgz"
+ integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==
dependencies:
"@babel/helper-environment-visitor" "^7.16.7"
"@babel/helper-module-imports" "^7.16.7"
@@ -140,89 +140,89 @@
"@babel/types" "^7.16.7"
"@babel/helper-plugin-utils@^7.10.4":
- "integrity" "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA=="
- "resolved" "https://registry.npmmirror.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.16.7.tgz"
+ integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==
"@babel/helper-simple-access@^7.16.7":
- "integrity" "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g=="
- "resolved" "https://registry.npmmirror.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.16.7.tgz"
+ integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==
dependencies:
"@babel/types" "^7.16.7"
"@babel/helper-split-export-declaration@^7.16.7":
- "integrity" "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw=="
- "resolved" "https://registry.npmmirror.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.16.7.tgz"
+ integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==
dependencies:
"@babel/types" "^7.16.7"
"@babel/helper-validator-identifier@^7.16.7":
- "integrity" "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw=="
- "resolved" "https://registry.npmmirror.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.16.7.tgz"
+ integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
"@babel/helper-validator-option@^7.16.7":
- "integrity" "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ=="
- "resolved" "https://registry.npmmirror.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.16.7.tgz"
+ integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==
"@babel/helpers@^7.16.7":
- "integrity" "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw=="
- "resolved" "https://registry.npmmirror.com/@babel/helpers/download/@babel/helpers-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/helpers/download/@babel/helpers-7.16.7.tgz"
+ integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==
dependencies:
"@babel/template" "^7.16.7"
"@babel/traverse" "^7.16.7"
"@babel/types" "^7.16.7"
"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7":
- "integrity" "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw=="
- "resolved" "https://registry.npmmirror.com/@babel/highlight/download/@babel/highlight-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/highlight/download/@babel/highlight-7.16.7.tgz"
+ integrity sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==
dependencies:
"@babel/helper-validator-identifier" "^7.16.7"
- "chalk" "^2.0.0"
- "js-tokens" "^4.0.0"
+ chalk "^2.0.0"
+ js-tokens "^4.0.0"
"@babel/parser@^7.16.4", "@babel/parser@^7.16.7", "@babel/parser@^7.16.8":
- "integrity" "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw=="
- "resolved" "https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.16.8.tgz"
- "version" "7.16.8"
+ version "7.16.8"
+ resolved "https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.16.8.tgz"
+ integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==
"@babel/plugin-syntax-import-meta@^7.10.4":
- "integrity" "sha1-7mATSMNw+jNNIge+FYd3SWUh/VE="
- "resolved" "https://registry.npm.taobao.org/@babel/plugin-syntax-import-meta/download/@babel/plugin-syntax-import-meta-7.10.4.tgz"
- "version" "7.10.4"
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-import-meta/download/@babel/plugin-syntax-import-meta-7.10.4.tgz"
+ integrity sha1-7mATSMNw+jNNIge+FYd3SWUh/VE=
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.5":
- "integrity" "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ=="
- "resolved" "https://registry.npmmirror.com/@babel/runtime/download/@babel/runtime-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/runtime/download/@babel/runtime-7.16.7.tgz"
+ integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==
dependencies:
- "regenerator-runtime" "^0.13.4"
+ regenerator-runtime "^0.13.4"
"@babel/standalone@^7.16.4":
- "integrity" "sha512-2xC+uqniw1MNMTxzkfRUD8y0koEav+cGyWNCTVFAMC58Mb6HYfxqzQt+YtdMpSEcNqrDjvatthhyU0v18PNrnA=="
- "resolved" "https://registry.npmmirror.com/@babel/standalone/download/@babel/standalone-7.16.9.tgz"
- "version" "7.16.9"
+ version "7.16.9"
+ resolved "https://registry.npmmirror.com/@babel/standalone/download/@babel/standalone-7.16.9.tgz"
+ integrity sha512-2xC+uqniw1MNMTxzkfRUD8y0koEav+cGyWNCTVFAMC58Mb6HYfxqzQt+YtdMpSEcNqrDjvatthhyU0v18PNrnA==
"@babel/template@^7.16.7":
- "integrity" "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w=="
- "resolved" "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.7.tgz"
- "version" "7.16.7"
+ version "7.16.7"
+ resolved "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.7.tgz"
+ integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==
dependencies:
"@babel/code-frame" "^7.16.7"
"@babel/parser" "^7.16.7"
"@babel/types" "^7.16.7"
"@babel/traverse@^7.16.7":
- "integrity" "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ=="
- "resolved" "https://registry.npmmirror.com/@babel/traverse/download/@babel/traverse-7.16.8.tgz"
- "version" "7.16.8"
+ version "7.16.8"
+ resolved "https://registry.npmmirror.com/@babel/traverse/download/@babel/traverse-7.16.8.tgz"
+ integrity sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==
dependencies:
"@babel/code-frame" "^7.16.7"
"@babel/generator" "^7.16.8"
@@ -232,55 +232,55 @@
"@babel/helper-split-export-declaration" "^7.16.7"
"@babel/parser" "^7.16.8"
"@babel/types" "^7.16.8"
- "debug" "^4.1.0"
- "globals" "^11.1.0"
+ debug "^4.1.0"
+ globals "^11.1.0"
"@babel/types@^7.16.7", "@babel/types@^7.16.8":
- "integrity" "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg=="
- "resolved" "https://registry.npmmirror.com/@babel/types/download/@babel/types-7.16.8.tgz"
- "version" "7.16.8"
+ version "7.16.8"
+ resolved "https://registry.npmmirror.com/@babel/types/download/@babel/types-7.16.8.tgz"
+ integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==
dependencies:
"@babel/helper-validator-identifier" "^7.16.7"
- "to-fast-properties" "^2.0.0"
+ to-fast-properties "^2.0.0"
"@ctrl/tinycolor@^3.3.1":
- "integrity" "sha1-w8WuVDyJfKqcKmhjC+01W+X5mQ8="
- "resolved" "https://registry.npmmirror.com/@ctrl/tinycolor/download/@ctrl/tinycolor-3.4.0.tgz"
- "version" "3.4.0"
+ version "3.4.0"
+ resolved "https://registry.npmmirror.com/@ctrl/tinycolor/download/@ctrl/tinycolor-3.4.0.tgz"
+ integrity sha1-w8WuVDyJfKqcKmhjC+01W+X5mQ8=
"@eslint/eslintrc@^0.4.3":
- "integrity" "sha1-nkKYHvA1vrPdSa3ResuW6P9vOUw="
- "resolved" "https://registry.npmmirror.com/@eslint/eslintrc/download/@eslint/eslintrc-0.4.3.tgz"
- "version" "0.4.3"
+ version "0.4.3"
+ resolved "https://registry.npmmirror.com/@eslint/eslintrc/download/@eslint/eslintrc-0.4.3.tgz"
+ integrity sha1-nkKYHvA1vrPdSa3ResuW6P9vOUw=
dependencies:
- "ajv" "^6.12.4"
- "debug" "^4.1.1"
- "espree" "^7.3.0"
- "globals" "^13.9.0"
- "ignore" "^4.0.6"
- "import-fresh" "^3.2.1"
- "js-yaml" "^3.13.1"
- "minimatch" "^3.0.4"
- "strip-json-comments" "^3.1.1"
+ ajv "^6.12.4"
+ debug "^4.1.1"
+ espree "^7.3.0"
+ globals "^13.9.0"
+ ignore "^4.0.6"
+ import-fresh "^3.2.1"
+ js-yaml "^3.13.1"
+ minimatch "^3.0.4"
+ strip-json-comments "^3.1.1"
"@humanwhocodes/config-array@^0.5.0":
- "integrity" "sha1-FAeWfUxu7Nc4j4Os8er00Mbljvk="
- "resolved" "https://registry.npmmirror.com/@humanwhocodes/config-array/download/@humanwhocodes/config-array-0.5.0.tgz?cache=0&sync_timestamp=1635880739605&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40humanwhocodes%2Fconfig-array%2Fdownload%2F%40humanwhocodes%2Fconfig-array-0.5.0.tgz"
- "version" "0.5.0"
+ version "0.5.0"
+ resolved "https://registry.npmmirror.com/@humanwhocodes/config-array/download/@humanwhocodes/config-array-0.5.0.tgz?cache=0&sync_timestamp=1635880739605&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40humanwhocodes%2Fconfig-array%2Fdownload%2F%40humanwhocodes%2Fconfig-array-0.5.0.tgz"
+ integrity sha1-FAeWfUxu7Nc4j4Os8er00Mbljvk=
dependencies:
"@humanwhocodes/object-schema" "^1.2.0"
- "debug" "^4.1.1"
- "minimatch" "^3.0.4"
+ debug "^4.1.1"
+ minimatch "^3.0.4"
"@humanwhocodes/object-schema@^1.2.0":
- "integrity" "sha1-tSBSnsIdjllFoYUd/Rwy6U45/0U="
- "resolved" "https://registry.npmmirror.com/@humanwhocodes/object-schema/download/@humanwhocodes/object-schema-1.2.1.tgz"
- "version" "1.2.1"
+ version "1.2.1"
+ resolved "https://registry.npmmirror.com/@humanwhocodes/object-schema/download/@humanwhocodes/object-schema-1.2.1.tgz"
+ integrity sha1-tSBSnsIdjllFoYUd/Rwy6U45/0U=
"@intlify/core-base@9.1.9":
- "integrity" "sha1-5OjJUQEHKOSvOg0T10zz+eet1/Y="
- "resolved" "https://registry.npmmirror.com/@intlify/core-base/download/@intlify/core-base-9.1.9.tgz"
- "version" "9.1.9"
+ version "9.1.9"
+ resolved "https://registry.npmmirror.com/@intlify/core-base/download/@intlify/core-base-9.1.9.tgz"
+ integrity sha1-5OjJUQEHKOSvOg0T10zz+eet1/Y=
dependencies:
"@intlify/devtools-if" "9.1.9"
"@intlify/message-compiler" "9.1.9"
@@ -290,246 +290,246 @@
"@intlify/vue-devtools" "9.1.9"
"@intlify/devtools-if@9.1.9":
- "integrity" "sha1-ow4d0SVv8sXJjY110HU4T7qJjl0="
- "resolved" "https://registry.npmmirror.com/@intlify/devtools-if/download/@intlify/devtools-if-9.1.9.tgz"
- "version" "9.1.9"
+ version "9.1.9"
+ resolved "https://registry.npmmirror.com/@intlify/devtools-if/download/@intlify/devtools-if-9.1.9.tgz"
+ integrity sha1-ow4d0SVv8sXJjY110HU4T7qJjl0=
dependencies:
"@intlify/shared" "9.1.9"
"@intlify/message-compiler@9.1.9":
- "integrity" "sha1-EZPL0iSnHC+5gUVbhTSjx2bSlI0="
- "resolved" "https://registry.npmmirror.com/@intlify/message-compiler/download/@intlify/message-compiler-9.1.9.tgz"
- "version" "9.1.9"
+ version "9.1.9"
+ resolved "https://registry.npmmirror.com/@intlify/message-compiler/download/@intlify/message-compiler-9.1.9.tgz"
+ integrity sha1-EZPL0iSnHC+5gUVbhTSjx2bSlI0=
dependencies:
"@intlify/message-resolver" "9.1.9"
"@intlify/shared" "9.1.9"
- "source-map" "0.6.1"
+ source-map "0.6.1"
"@intlify/message-resolver@9.1.9":
- "integrity" "sha1-MVXM0vXm0NwWyti38djpf82gW/w="
- "resolved" "https://registry.npmmirror.com/@intlify/message-resolver/download/@intlify/message-resolver-9.1.9.tgz?cache=0&sync_timestamp=1633533008021&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40intlify%2Fmessage-resolver%2Fdownload%2F%40intlify%2Fmessage-resolver-9.1.9.tgz"
- "version" "9.1.9"
+ version "9.1.9"
+ resolved "https://registry.npmmirror.com/@intlify/message-resolver/download/@intlify/message-resolver-9.1.9.tgz?cache=0&sync_timestamp=1633533008021&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40intlify%2Fmessage-resolver%2Fdownload%2F%40intlify%2Fmessage-resolver-9.1.9.tgz"
+ integrity sha1-MVXM0vXm0NwWyti38djpf82gW/w=
"@intlify/runtime@9.1.9":
- "integrity" "sha1-LBLOKVGKB1Yp7+0KjtKT7nQMsoU="
- "resolved" "https://registry.npmmirror.com/@intlify/runtime/download/@intlify/runtime-9.1.9.tgz?cache=0&sync_timestamp=1633534552005&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40intlify%2Fruntime%2Fdownload%2F%40intlify%2Fruntime-9.1.9.tgz"
- "version" "9.1.9"
+ version "9.1.9"
+ resolved "https://registry.npmmirror.com/@intlify/runtime/download/@intlify/runtime-9.1.9.tgz?cache=0&sync_timestamp=1633534552005&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40intlify%2Fruntime%2Fdownload%2F%40intlify%2Fruntime-9.1.9.tgz"
+ integrity sha1-LBLOKVGKB1Yp7+0KjtKT7nQMsoU=
dependencies:
"@intlify/message-compiler" "9.1.9"
"@intlify/message-resolver" "9.1.9"
"@intlify/shared" "9.1.9"
"@intlify/shared@9.1.9":
- "integrity" "sha1-C6r5YSi4VWBma+x4T/sB9mI8wXo="
- "resolved" "https://registry.npmmirror.com/@intlify/shared/download/@intlify/shared-9.1.9.tgz"
- "version" "9.1.9"
+ version "9.1.9"
+ resolved "https://registry.npmmirror.com/@intlify/shared/download/@intlify/shared-9.1.9.tgz"
+ integrity sha1-C6r5YSi4VWBma+x4T/sB9mI8wXo=
"@intlify/vue-devtools@9.1.9":
- "integrity" "sha1-K+j02+f37UEVZ26zI0gUHUEeQms="
- "resolved" "https://registry.npmmirror.com/@intlify/vue-devtools/download/@intlify/vue-devtools-9.1.9.tgz"
- "version" "9.1.9"
+ version "9.1.9"
+ resolved "https://registry.npmmirror.com/@intlify/vue-devtools/download/@intlify/vue-devtools-9.1.9.tgz"
+ integrity sha1-K+j02+f37UEVZ26zI0gUHUEeQms=
dependencies:
"@intlify/message-resolver" "9.1.9"
"@intlify/runtime" "9.1.9"
"@intlify/shared" "9.1.9"
"@nodelib/fs.scandir@2.1.5":
- "integrity" "sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U="
- "resolved" "https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz"
- "version" "2.1.5"
+ version "2.1.5"
+ resolved "https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz"
+ integrity sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=
dependencies:
"@nodelib/fs.stat" "2.0.5"
- "run-parallel" "^1.1.9"
+ run-parallel "^1.1.9"
-"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
- "integrity" "sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos="
- "resolved" "https://registry.npmmirror.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz"
- "version" "2.0.5"
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.5"
+ resolved "https://registry.npmmirror.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz"
+ integrity sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos=
"@nodelib/fs.walk@^1.2.3":
- "integrity" "sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po="
- "resolved" "https://registry.nlark.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz?cache=0&sync_timestamp=1625769815389&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.walk%2Fdownload%2F%40nodelib%2Ffs.walk-1.2.8.tgz"
- "version" "1.2.8"
+ version "1.2.8"
+ resolved "https://registry.nlark.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz?cache=0&sync_timestamp=1625769815389&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.walk%2Fdownload%2F%40nodelib%2Ffs.walk-1.2.8.tgz"
+ integrity sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po=
dependencies:
"@nodelib/fs.scandir" "2.1.5"
- "fastq" "^1.6.0"
+ fastq "^1.6.0"
"@rollup/pluginutils@^4.0.0", "@rollup/pluginutils@^4.1.0", "@rollup/pluginutils@^4.1.2":
- "integrity" "sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ=="
- "resolved" "https://registry.npmmirror.com/@rollup/pluginutils/download/@rollup/pluginutils-4.1.2.tgz"
- "version" "4.1.2"
+ version "4.1.2"
+ resolved "https://registry.npmmirror.com/@rollup/pluginutils/download/@rollup/pluginutils-4.1.2.tgz"
+ integrity sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==
dependencies:
- "estree-walker" "^2.0.1"
- "picomatch" "^2.2.2"
+ estree-walker "^2.0.1"
+ picomatch "^2.2.2"
"@simonwep/pickr@~1.8.0":
- "integrity" "sha1-ltyGZ1lA18rWPWnCIIPdHLuXl8s="
- "resolved" "https://registry.nlark.com/@simonwep/pickr/download/@simonwep/pickr-1.8.2.tgz"
- "version" "1.8.2"
+ version "1.8.2"
+ resolved "https://registry.nlark.com/@simonwep/pickr/download/@simonwep/pickr-1.8.2.tgz"
+ integrity sha1-ltyGZ1lA18rWPWnCIIPdHLuXl8s=
dependencies:
- "core-js" "^3.15.1"
- "nanopop" "^2.1.0"
+ core-js "^3.15.1"
+ nanopop "^2.1.0"
"@trysound/sax@0.2.0":
- "integrity" "sha1-zMqrdYr1Z2Hre/N69vA/Mm3XmK0="
- "resolved" "https://registry.nlark.com/@trysound/sax/download/@trysound/sax-0.2.0.tgz"
- "version" "0.2.0"
+ version "0.2.0"
+ resolved "https://registry.nlark.com/@trysound/sax/download/@trysound/sax-0.2.0.tgz"
+ integrity sha1-zMqrdYr1Z2Hre/N69vA/Mm3XmK0=
"@types/estree@*":
- "integrity" "sha1-Hgyqk2TT/M0pMcPtlv2+ql1MyoM="
- "resolved" "https://registry.npmmirror.com/@types/estree/download/@types/estree-0.0.50.tgz?cache=0&sync_timestamp=1637266061438&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Festree%2Fdownload%2F%40types%2Festree-0.0.50.tgz"
- "version" "0.0.50"
+ version "0.0.50"
+ resolved "https://registry.npmmirror.com/@types/estree/download/@types/estree-0.0.50.tgz?cache=0&sync_timestamp=1637266061438&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Festree%2Fdownload%2F%40types%2Festree-0.0.50.tgz"
+ integrity sha1-Hgyqk2TT/M0pMcPtlv2+ql1MyoM=
"@types/json-schema@^7.0.9":
- "integrity" "sha1-l+3JA36gw4WFMgsolk3eOznkZg0="
- "resolved" "https://registry.npmmirror.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz?cache=0&sync_timestamp=1637265456183&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.9.tgz"
- "version" "7.0.9"
+ version "7.0.9"
+ resolved "https://registry.npmmirror.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz?cache=0&sync_timestamp=1637265456183&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.9.tgz"
+ integrity sha1-l+3JA36gw4WFMgsolk3eOznkZg0=
"@types/json5@^0.0.29":
- "integrity" "sha1-7ihweulOEdK4J7y+UnC86n8+ce4="
- "resolved" "https://registry.npm.taobao.org/@types/json5/download/@types/json5-0.0.29.tgz"
- "version" "0.0.29"
+ version "0.0.29"
+ resolved "https://registry.npm.taobao.org/@types/json5/download/@types/json5-0.0.29.tgz"
+ integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
"@types/lodash@^4.14.165":
- "integrity" "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw=="
- "resolved" "https://registry.npmmirror.com/@types/lodash/download/@types/lodash-4.14.178.tgz"
- "version" "4.14.178"
+ version "4.14.178"
+ resolved "https://registry.npmmirror.com/@types/lodash/download/@types/lodash-4.14.178.tgz"
+ integrity sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==
"@types/node@*", "@types/node@^16.3.2":
- "integrity" "sha512-BPAcfDPoHlRQNKktbsbnpACGdypPFBuX4xQlsWDE7B8XXcfII+SpOLay3/qZmCLb39kV5S1RTYwXdkx2lwLYng=="
- "resolved" "https://registry.npmmirror.com/@types/node/download/@types/node-16.11.19.tgz"
- "version" "16.11.19"
+ version "16.11.19"
+ resolved "https://registry.npmmirror.com/@types/node/download/@types/node-16.11.19.tgz"
+ integrity sha512-BPAcfDPoHlRQNKktbsbnpACGdypPFBuX4xQlsWDE7B8XXcfII+SpOLay3/qZmCLb39kV5S1RTYwXdkx2lwLYng==
"@types/svgo@^2.6.0":
- "integrity" "sha512-4BfUnd19L25BD2iRyZTNuG4pfL9HBs+rvF7zp5maKhbX42uOpc5prGdBXXmCdHlVZfTWq8pNP/vxQt9v8ACxqQ=="
- "resolved" "https://registry.npmmirror.com/@types/svgo/download/@types/svgo-2.6.1.tgz"
- "version" "2.6.1"
+ version "2.6.1"
+ resolved "https://registry.npmmirror.com/@types/svgo/download/@types/svgo-2.6.1.tgz"
+ integrity sha512-4BfUnd19L25BD2iRyZTNuG4pfL9HBs+rvF7zp5maKhbX42uOpc5prGdBXXmCdHlVZfTWq8pNP/vxQt9v8ACxqQ==
dependencies:
"@types/node" "*"
"@types/urlencode@^1.1.2":
- "integrity" "sha1-YMiiBmZ+TJaom0rkfowKna35A0s="
- "resolved" "https://registry.npmmirror.com/@types/urlencode/download/@types/urlencode-1.1.2.tgz"
- "version" "1.1.2"
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/@types/urlencode/download/@types/urlencode-1.1.2.tgz"
+ integrity sha1-YMiiBmZ+TJaom0rkfowKna35A0s=
"@typescript-eslint/eslint-plugin@^5.8.1":
- "integrity" "sha512-Xv9tkFlyD4MQGpJgTo6wqDqGvHIRmRgah/2Sjz1PUnJTawjHWIwBivUE9x0QtU2WVii9baYgavo/bHjrZJkqTw=="
- "resolved" "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-5.9.1.tgz"
- "version" "5.9.1"
+ version "5.9.1"
+ resolved "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-5.9.1.tgz"
+ integrity sha512-Xv9tkFlyD4MQGpJgTo6wqDqGvHIRmRgah/2Sjz1PUnJTawjHWIwBivUE9x0QtU2WVii9baYgavo/bHjrZJkqTw==
dependencies:
"@typescript-eslint/experimental-utils" "5.9.1"
"@typescript-eslint/scope-manager" "5.9.1"
"@typescript-eslint/type-utils" "5.9.1"
- "debug" "^4.3.2"
- "functional-red-black-tree" "^1.0.1"
- "ignore" "^5.1.8"
- "regexpp" "^3.2.0"
- "semver" "^7.3.5"
- "tsutils" "^3.21.0"
+ debug "^4.3.2"
+ functional-red-black-tree "^1.0.1"
+ ignore "^5.1.8"
+ regexpp "^3.2.0"
+ semver "^7.3.5"
+ tsutils "^3.21.0"
"@typescript-eslint/experimental-utils@5.9.1":
- "integrity" "sha512-cb1Njyss0mLL9kLXgS/eEY53SZQ9sT519wpX3i+U457l2UXRDuo87hgKfgRazmu9/tQb0x2sr3Y0yrU+Zz0y+w=="
- "resolved" "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-5.9.1.tgz"
- "version" "5.9.1"
+ version "5.9.1"
+ resolved "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-5.9.1.tgz"
+ integrity sha512-cb1Njyss0mLL9kLXgS/eEY53SZQ9sT519wpX3i+U457l2UXRDuo87hgKfgRazmu9/tQb0x2sr3Y0yrU+Zz0y+w==
dependencies:
"@types/json-schema" "^7.0.9"
"@typescript-eslint/scope-manager" "5.9.1"
"@typescript-eslint/types" "5.9.1"
"@typescript-eslint/typescript-estree" "5.9.1"
- "eslint-scope" "^5.1.1"
- "eslint-utils" "^3.0.0"
+ eslint-scope "^5.1.1"
+ eslint-utils "^3.0.0"
-"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.8.1":
- "integrity" "sha512-PLYO0AmwD6s6n0ZQB5kqPgfvh73p0+VqopQQLuNfi7Lm0EpfKyDalchpVwkE+81k5HeiRrTV/9w1aNHzjD7C4g=="
- "resolved" "https://registry.npmmirror.com/@typescript-eslint/parser/download/@typescript-eslint/parser-5.9.1.tgz"
- "version" "5.9.1"
+"@typescript-eslint/parser@^5.8.1":
+ version "5.9.1"
+ resolved "https://registry.npmmirror.com/@typescript-eslint/parser/download/@typescript-eslint/parser-5.9.1.tgz"
+ integrity sha512-PLYO0AmwD6s6n0ZQB5kqPgfvh73p0+VqopQQLuNfi7Lm0EpfKyDalchpVwkE+81k5HeiRrTV/9w1aNHzjD7C4g==
dependencies:
"@typescript-eslint/scope-manager" "5.9.1"
"@typescript-eslint/types" "5.9.1"
"@typescript-eslint/typescript-estree" "5.9.1"
- "debug" "^4.3.2"
+ debug "^4.3.2"
"@typescript-eslint/scope-manager@5.9.1":
- "integrity" "sha512-8BwvWkho3B/UOtzRyW07ffJXPaLSUKFBjpq8aqsRvu6HdEuzCY57+ffT7QoV4QXJXWSU1+7g3wE4AlgImmQ9pQ=="
- "resolved" "https://registry.npmmirror.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-5.9.1.tgz"
- "version" "5.9.1"
+ version "5.9.1"
+ resolved "https://registry.npmmirror.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-5.9.1.tgz"
+ integrity sha512-8BwvWkho3B/UOtzRyW07ffJXPaLSUKFBjpq8aqsRvu6HdEuzCY57+ffT7QoV4QXJXWSU1+7g3wE4AlgImmQ9pQ==
dependencies:
"@typescript-eslint/types" "5.9.1"
"@typescript-eslint/visitor-keys" "5.9.1"
"@typescript-eslint/type-utils@5.9.1":
- "integrity" "sha512-tRSpdBnPRssjlUh35rE9ug5HrUvaB9ntREy7gPXXKwmIx61TNN7+l5YKgi1hMKxo5NvqZCfYhA5FvyuJG6X6vg=="
- "resolved" "https://registry.npmmirror.com/@typescript-eslint/type-utils/download/@typescript-eslint/type-utils-5.9.1.tgz"
- "version" "5.9.1"
+ version "5.9.1"
+ resolved "https://registry.npmmirror.com/@typescript-eslint/type-utils/download/@typescript-eslint/type-utils-5.9.1.tgz"
+ integrity sha512-tRSpdBnPRssjlUh35rE9ug5HrUvaB9ntREy7gPXXKwmIx61TNN7+l5YKgi1hMKxo5NvqZCfYhA5FvyuJG6X6vg==
dependencies:
"@typescript-eslint/experimental-utils" "5.9.1"
- "debug" "^4.3.2"
- "tsutils" "^3.21.0"
+ debug "^4.3.2"
+ tsutils "^3.21.0"
"@typescript-eslint/types@5.9.1":
- "integrity" "sha512-SsWegWudWpkZCwwYcKoDwuAjoZXnM1y2EbEerTHho19Hmm+bQ56QG4L4jrtCu0bI5STaRTvRTZmjprWlTw/5NQ=="
- "resolved" "https://registry.npmmirror.com/@typescript-eslint/types/download/@typescript-eslint/types-5.9.1.tgz"
- "version" "5.9.1"
+ version "5.9.1"
+ resolved "https://registry.npmmirror.com/@typescript-eslint/types/download/@typescript-eslint/types-5.9.1.tgz"
+ integrity sha512-SsWegWudWpkZCwwYcKoDwuAjoZXnM1y2EbEerTHho19Hmm+bQ56QG4L4jrtCu0bI5STaRTvRTZmjprWlTw/5NQ==
"@typescript-eslint/typescript-estree@5.9.1":
- "integrity" "sha512-gL1sP6A/KG0HwrahVXI9fZyeVTxEYV//6PmcOn1tD0rw8VhUWYeZeuWHwwhnewnvEMcHjhnJLOBhA9rK4vmb8A=="
- "resolved" "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-5.9.1.tgz"
- "version" "5.9.1"
+ version "5.9.1"
+ resolved "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-5.9.1.tgz"
+ integrity sha512-gL1sP6A/KG0HwrahVXI9fZyeVTxEYV//6PmcOn1tD0rw8VhUWYeZeuWHwwhnewnvEMcHjhnJLOBhA9rK4vmb8A==
dependencies:
"@typescript-eslint/types" "5.9.1"
"@typescript-eslint/visitor-keys" "5.9.1"
- "debug" "^4.3.2"
- "globby" "^11.0.4"
- "is-glob" "^4.0.3"
- "semver" "^7.3.5"
- "tsutils" "^3.21.0"
+ debug "^4.3.2"
+ globby "^11.0.4"
+ is-glob "^4.0.3"
+ semver "^7.3.5"
+ tsutils "^3.21.0"
"@typescript-eslint/visitor-keys@5.9.1":
- "integrity" "sha512-Xh37pNz9e9ryW4TVdwiFzmr4hloty8cFj8GTWMXh3Z8swGwyQWeCcNgF0hm6t09iZd6eiZmIf4zHedQVP6TVtg=="
- "resolved" "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-5.9.1.tgz"
- "version" "5.9.1"
+ version "5.9.1"
+ resolved "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-5.9.1.tgz"
+ integrity sha512-Xh37pNz9e9ryW4TVdwiFzmr4hloty8cFj8GTWMXh3Z8swGwyQWeCcNgF0hm6t09iZd6eiZmIf4zHedQVP6TVtg==
dependencies:
"@typescript-eslint/types" "5.9.1"
- "eslint-visitor-keys" "^3.0.0"
+ eslint-visitor-keys "^3.0.0"
"@vitejs/plugin-legacy@^1.6.2":
- "integrity" "sha512-geH2F3hTRN++E4n9NZ0JFumxIWUKqW4FA9PAgM7Q6RvUOUUYW4tlURhEmCBYfZSN24H/yX3mEolX+wFVErsAYQ=="
- "resolved" "https://registry.npmmirror.com/@vitejs/plugin-legacy/download/@vitejs/plugin-legacy-1.6.4.tgz"
- "version" "1.6.4"
+ version "1.6.4"
+ resolved "https://registry.npmmirror.com/@vitejs/plugin-legacy/download/@vitejs/plugin-legacy-1.6.4.tgz"
+ integrity sha512-geH2F3hTRN++E4n9NZ0JFumxIWUKqW4FA9PAgM7Q6RvUOUUYW4tlURhEmCBYfZSN24H/yX3mEolX+wFVErsAYQ==
dependencies:
"@babel/standalone" "^7.16.4"
- "core-js" "^3.19.1"
- "magic-string" "^0.25.7"
- "regenerator-runtime" "^0.13.9"
- "systemjs" "^6.11.0"
+ core-js "^3.19.1"
+ magic-string "^0.25.7"
+ regenerator-runtime "^0.13.9"
+ systemjs "^6.11.0"
"@vitejs/plugin-vue@^1.2.4":
- "integrity" "sha512-/QJ0Z9qfhAFtKRY+r57ziY4BSbGUTGsPRMpB/Ron3QPwBZM4OZAZHdTa4a8PafCwU5DTatXG8TMDoP8z+oDqJw=="
- "resolved" "https://registry.npmmirror.com/@vitejs/plugin-vue/download/@vitejs/plugin-vue-1.10.2.tgz"
- "version" "1.10.2"
+ version "1.10.2"
+ resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/download/@vitejs/plugin-vue-1.10.2.tgz"
+ integrity sha512-/QJ0Z9qfhAFtKRY+r57ziY4BSbGUTGsPRMpB/Ron3QPwBZM4OZAZHdTa4a8PafCwU5DTatXG8TMDoP8z+oDqJw==
"@vue/compiler-core@3.2.26":
- "integrity" "sha512-N5XNBobZbaASdzY9Lga2D9Lul5vdCIOXvUMd6ThcN8zgqQhPKfCV+wfAJNNJKQkSHudnYRO2gEB+lp0iN3g2Tw=="
- "resolved" "https://registry.npmmirror.com/@vue/compiler-core/download/@vue/compiler-core-3.2.26.tgz"
- "version" "3.2.26"
+ version "3.2.26"
+ resolved "https://registry.npmmirror.com/@vue/compiler-core/download/@vue/compiler-core-3.2.26.tgz"
+ integrity sha512-N5XNBobZbaASdzY9Lga2D9Lul5vdCIOXvUMd6ThcN8zgqQhPKfCV+wfAJNNJKQkSHudnYRO2gEB+lp0iN3g2Tw==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/shared" "3.2.26"
- "estree-walker" "^2.0.2"
- "source-map" "^0.6.1"
+ estree-walker "^2.0.2"
+ source-map "^0.6.1"
"@vue/compiler-dom@3.2.26":
- "integrity" "sha512-smBfaOW6mQDxcT3p9TKT6mE22vjxjJL50GFVJiI0chXYGU/xzC05QRGrW3HHVuJrmLTLx5zBhsZ2dIATERbarg=="
- "resolved" "https://registry.npmmirror.com/@vue/compiler-dom/download/@vue/compiler-dom-3.2.26.tgz"
- "version" "3.2.26"
+ version "3.2.26"
+ resolved "https://registry.npmmirror.com/@vue/compiler-dom/download/@vue/compiler-dom-3.2.26.tgz"
+ integrity sha512-smBfaOW6mQDxcT3p9TKT6mE22vjxjJL50GFVJiI0chXYGU/xzC05QRGrW3HHVuJrmLTLx5zBhsZ2dIATERbarg==
dependencies:
"@vue/compiler-core" "3.2.26"
"@vue/shared" "3.2.26"
-"@vue/compiler-sfc@^3.0.5", "@vue/compiler-sfc@>=3.1.0", "@vue/compiler-sfc@3.2.26":
- "integrity" "sha512-ePpnfktV90UcLdsDQUh2JdiTuhV0Skv2iYXxfNMOK/F3Q+2BO0AulcVcfoksOpTJGmhhfosWfMyEaEf0UaWpIw=="
- "resolved" "https://registry.npmmirror.com/@vue/compiler-sfc/download/@vue/compiler-sfc-3.2.26.tgz"
- "version" "3.2.26"
+"@vue/compiler-sfc@3.2.26", "@vue/compiler-sfc@^3.0.5":
+ version "3.2.26"
+ resolved "https://registry.npmmirror.com/@vue/compiler-sfc/download/@vue/compiler-sfc-3.2.26.tgz"
+ integrity sha512-ePpnfktV90UcLdsDQUh2JdiTuhV0Skv2iYXxfNMOK/F3Q+2BO0AulcVcfoksOpTJGmhhfosWfMyEaEf0UaWpIw==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/compiler-core" "3.2.26"
@@ -537,3348 +537,3330 @@
"@vue/compiler-ssr" "3.2.26"
"@vue/reactivity-transform" "3.2.26"
"@vue/shared" "3.2.26"
- "estree-walker" "^2.0.2"
- "magic-string" "^0.25.7"
- "postcss" "^8.1.10"
- "source-map" "^0.6.1"
+ estree-walker "^2.0.2"
+ magic-string "^0.25.7"
+ postcss "^8.1.10"
+ source-map "^0.6.1"
"@vue/compiler-ssr@3.2.26":
- "integrity" "sha512-2mywLX0ODc4Zn8qBoA2PDCsLEZfpUGZcyoFRLSOjyGGK6wDy2/5kyDOWtf0S0UvtoyVq95OTSGIALjZ4k2q/ag=="
- "resolved" "https://registry.npmmirror.com/@vue/compiler-ssr/download/@vue/compiler-ssr-3.2.26.tgz"
- "version" "3.2.26"
+ version "3.2.26"
+ resolved "https://registry.npmmirror.com/@vue/compiler-ssr/download/@vue/compiler-ssr-3.2.26.tgz"
+ integrity sha512-2mywLX0ODc4Zn8qBoA2PDCsLEZfpUGZcyoFRLSOjyGGK6wDy2/5kyDOWtf0S0UvtoyVq95OTSGIALjZ4k2q/ag==
dependencies:
"@vue/compiler-dom" "3.2.26"
"@vue/shared" "3.2.26"
"@vue/devtools-api@^6.0.0-beta.11", "@vue/devtools-api@^6.0.0-beta.18", "@vue/devtools-api@^6.0.0-beta.7":
- "integrity" "sha512-FqC4s3pm35qGVeXRGOjTsRzlkJjrBLriDS9YXbflHLsfA9FrcKzIyWnLXoNm+/7930E8rRakXuAc2QkC50swAw=="
- "resolved" "https://registry.npmmirror.com/@vue/devtools-api/download/@vue/devtools-api-6.0.0-beta.21.1.tgz"
- "version" "6.0.0-beta.21.1"
+ version "6.0.0-beta.21.1"
+ resolved "https://registry.npmmirror.com/@vue/devtools-api/download/@vue/devtools-api-6.0.0-beta.21.1.tgz"
+ integrity sha512-FqC4s3pm35qGVeXRGOjTsRzlkJjrBLriDS9YXbflHLsfA9FrcKzIyWnLXoNm+/7930E8rRakXuAc2QkC50swAw==
"@vue/reactivity-transform@3.2.26":
- "integrity" "sha512-XKMyuCmzNA7nvFlYhdKwD78rcnmPb7q46uoR00zkX6yZrUmcCQ5OikiwUEVbvNhL5hBJuvbSO95jB5zkUon+eQ=="
- "resolved" "https://registry.npmmirror.com/@vue/reactivity-transform/download/@vue/reactivity-transform-3.2.26.tgz"
- "version" "3.2.26"
+ version "3.2.26"
+ resolved "https://registry.npmmirror.com/@vue/reactivity-transform/download/@vue/reactivity-transform-3.2.26.tgz"
+ integrity sha512-XKMyuCmzNA7nvFlYhdKwD78rcnmPb7q46uoR00zkX6yZrUmcCQ5OikiwUEVbvNhL5hBJuvbSO95jB5zkUon+eQ==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/compiler-core" "3.2.26"
"@vue/shared" "3.2.26"
- "estree-walker" "^2.0.2"
- "magic-string" "^0.25.7"
+ estree-walker "^2.0.2"
+ magic-string "^0.25.7"
"@vue/reactivity@3.2.26":
- "integrity" "sha512-h38bxCZLW6oFJVDlCcAiUKFnXI8xP8d+eO0pcDxx+7dQfSPje2AO6M9S9QO6MrxQB7fGP0DH0dYQ8ksf6hrXKQ=="
- "resolved" "https://registry.npmmirror.com/@vue/reactivity/download/@vue/reactivity-3.2.26.tgz"
- "version" "3.2.26"
+ version "3.2.26"
+ resolved "https://registry.npmmirror.com/@vue/reactivity/download/@vue/reactivity-3.2.26.tgz"
+ integrity sha512-h38bxCZLW6oFJVDlCcAiUKFnXI8xP8d+eO0pcDxx+7dQfSPje2AO6M9S9QO6MrxQB7fGP0DH0dYQ8ksf6hrXKQ==
dependencies:
"@vue/shared" "3.2.26"
"@vue/runtime-core@3.2.26":
- "integrity" "sha512-BcYi7qZ9Nn+CJDJrHQ6Zsmxei2hDW0L6AB4vPvUQGBm2fZyC0GXd/4nVbyA2ubmuhctD5RbYY8L+5GUJszv9mQ=="
- "resolved" "https://registry.npmmirror.com/@vue/runtime-core/download/@vue/runtime-core-3.2.26.tgz"
- "version" "3.2.26"
+ version "3.2.26"
+ resolved "https://registry.npmmirror.com/@vue/runtime-core/download/@vue/runtime-core-3.2.26.tgz"
+ integrity sha512-BcYi7qZ9Nn+CJDJrHQ6Zsmxei2hDW0L6AB4vPvUQGBm2fZyC0GXd/4nVbyA2ubmuhctD5RbYY8L+5GUJszv9mQ==
dependencies:
"@vue/reactivity" "3.2.26"
"@vue/shared" "3.2.26"
"@vue/runtime-dom@3.2.26":
- "integrity" "sha512-dY56UIiZI+gjc4e8JQBwAifljyexfVCkIAu/WX8snh8vSOt/gMSEGwPRcl2UpYpBYeyExV8WCbgvwWRNt9cHhQ=="
- "resolved" "https://registry.npmmirror.com/@vue/runtime-dom/download/@vue/runtime-dom-3.2.26.tgz"
- "version" "3.2.26"
+ version "3.2.26"
+ resolved "https://registry.npmmirror.com/@vue/runtime-dom/download/@vue/runtime-dom-3.2.26.tgz"
+ integrity sha512-dY56UIiZI+gjc4e8JQBwAifljyexfVCkIAu/WX8snh8vSOt/gMSEGwPRcl2UpYpBYeyExV8WCbgvwWRNt9cHhQ==
dependencies:
"@vue/runtime-core" "3.2.26"
"@vue/shared" "3.2.26"
- "csstype" "^2.6.8"
+ csstype "^2.6.8"
"@vue/server-renderer@3.2.26":
- "integrity" "sha512-Jp5SggDUvvUYSBIvYEhy76t4nr1vapY/FIFloWmQzn7UxqaHrrBpbxrqPcTrSgGrcaglj0VBp22BKJNre4aA1w=="
- "resolved" "https://registry.npmmirror.com/@vue/server-renderer/download/@vue/server-renderer-3.2.26.tgz"
- "version" "3.2.26"
+ version "3.2.26"
+ resolved "https://registry.npmmirror.com/@vue/server-renderer/download/@vue/server-renderer-3.2.26.tgz"
+ integrity sha512-Jp5SggDUvvUYSBIvYEhy76t4nr1vapY/FIFloWmQzn7UxqaHrrBpbxrqPcTrSgGrcaglj0VBp22BKJNre4aA1w==
dependencies:
"@vue/compiler-ssr" "3.2.26"
"@vue/shared" "3.2.26"
"@vue/shared@3.2.26":
- "integrity" "sha512-vPV6Cq+NIWbH5pZu+V+2QHE9y1qfuTq49uNWw4f7FDEeZaDU2H2cx5jcUZOAKW7qTrUS4k6qZPbMy1x4N96nbA=="
- "resolved" "https://registry.npmmirror.com/@vue/shared/download/@vue/shared-3.2.26.tgz"
- "version" "3.2.26"
+ version "3.2.26"
+ resolved "https://registry.npmmirror.com/@vue/shared/download/@vue/shared-3.2.26.tgz"
+ integrity sha512-vPV6Cq+NIWbH5pZu+V+2QHE9y1qfuTq49uNWw4f7FDEeZaDU2H2cx5jcUZOAKW7qTrUS4k6qZPbMy1x4N96nbA==
-"acorn-jsx@^5.2.0", "acorn-jsx@^5.3.1":
- "integrity" "sha1-ftW7VZCLOy8bxVxq8WU7rafweTc="
- "resolved" "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz"
- "version" "5.3.2"
+acorn-jsx@^5.2.0, acorn-jsx@^5.3.1:
+ version "5.3.2"
+ resolved "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz"
+ integrity sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=
-"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^7.1.1", "acorn@^7.4.0":
- "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
- "resolved" "https://registry.npmmirror.com/acorn/download/acorn-7.4.1.tgz"
- "version" "7.4.1"
+acorn@^7.1.1, acorn@^7.4.0:
+ version "7.4.1"
+ resolved "https://registry.npmmirror.com/acorn/download/acorn-7.4.1.tgz"
+ integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-"agora-rtc-sdk-ng@^4.12.1":
- "integrity" "sha512-kmc+ZyKDdnY/BN3iAwBs+MSgTX8Zkc6THFSIAXN9WebjZ/F+N/JXItoNEcgQe3MdTABUli6w3pZ+iObnDqVkBw=="
- "resolved" "https://registry.npmmirror.com/agora-rtc-sdk-ng/-/agora-rtc-sdk-ng-4.12.1.tgz"
- "version" "4.12.1"
+agora-rtc-sdk-ng@^4.12.1:
+ version "4.12.1"
+ resolved "https://registry.npmmirror.com/agora-rtc-sdk-ng/-/agora-rtc-sdk-ng-4.12.1.tgz"
+ integrity sha512-kmc+ZyKDdnY/BN3iAwBs+MSgTX8Zkc6THFSIAXN9WebjZ/F+N/JXItoNEcgQe3MdTABUli6w3pZ+iObnDqVkBw==
dependencies:
- "agora-rte-extension" "^1.0.22"
+ agora-rte-extension "^1.0.22"
-"agora-rte-extension@^1.0.22":
- "integrity" "sha512-X2cGBg+L5ZJIFU91qvMASvRsBfg1HXTktVG3YROw9wxHsILSI7jgF9R9XraLc3fNX/UjovaYAlUW+hiJe0v6Xw=="
- "resolved" "https://registry.npmmirror.com/agora-rte-extension/-/agora-rte-extension-1.0.23.tgz"
- "version" "1.0.23"
+agora-rte-extension@^1.0.22:
+ version "1.0.23"
+ resolved "https://registry.npmmirror.com/agora-rte-extension/-/agora-rte-extension-1.0.23.tgz"
+ integrity sha512-X2cGBg+L5ZJIFU91qvMASvRsBfg1HXTktVG3YROw9wxHsILSI7jgF9R9XraLc3fNX/UjovaYAlUW+hiJe0v6Xw==
-"ajv@^6.10.0", "ajv@^6.12.4":
- "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="
- "resolved" "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz"
- "version" "6.12.6"
+ajv@^6.10.0, ajv@^6.12.4:
+ version "6.12.6"
+ resolved "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
dependencies:
- "fast-deep-equal" "^3.1.1"
- "fast-json-stable-stringify" "^2.0.0"
- "json-schema-traverse" "^0.4.1"
- "uri-js" "^4.2.2"
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
-"ajv@^8.0.1":
- "integrity" "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw=="
- "resolved" "https://registry.npmmirror.com/ajv/download/ajv-8.8.2.tgz"
- "version" "8.8.2"
+ajv@^8.0.1:
+ version "8.8.2"
+ resolved "https://registry.npmmirror.com/ajv/download/ajv-8.8.2.tgz"
+ integrity sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==
dependencies:
- "fast-deep-equal" "^3.1.1"
- "json-schema-traverse" "^1.0.0"
- "require-from-string" "^2.0.2"
- "uri-js" "^4.2.2"
+ fast-deep-equal "^3.1.1"
+ json-schema-traverse "^1.0.0"
+ require-from-string "^2.0.2"
+ uri-js "^4.2.2"
-"ansi-colors@^4.1.1":
- "integrity" "sha1-y7muJWv3UK8eqzRPIpqif+lLo0g="
- "resolved" "https://registry.nlark.com/ansi-colors/download/ansi-colors-4.1.1.tgz"
- "version" "4.1.1"
+ansi-colors@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.nlark.com/ansi-colors/download/ansi-colors-4.1.1.tgz"
+ integrity sha1-y7muJWv3UK8eqzRPIpqif+lLo0g=
-"ansi-regex@^2.0.0":
- "integrity" "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
- "resolved" "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz"
- "version" "2.1.1"
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz"
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
-"ansi-regex@^5.0.1":
- "integrity" "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ="
- "resolved" "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.1.tgz"
- "version" "5.0.1"
+ansi-regex@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.1.tgz"
+ integrity sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=
-"ansi-styles@^2.2.1":
- "integrity" "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA=="
- "resolved" "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-2.2.1.tgz"
- "version" "2.2.1"
+ansi-styles@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-2.2.1.tgz"
+ integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==
-"ansi-styles@^3.2.1":
- "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="
- "resolved" "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-3.2.1.tgz"
- "version" "3.2.1"
+ansi-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-3.2.1.tgz"
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
dependencies:
- "color-convert" "^1.9.0"
+ color-convert "^1.9.0"
-"ansi-styles@^4.0.0", "ansi-styles@^4.1.0":
- "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
- "resolved" "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-4.3.0.tgz"
- "version" "4.3.0"
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-4.3.0.tgz"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
dependencies:
- "color-convert" "^2.0.1"
+ color-convert "^2.0.1"
-"ant-design-vue@^2.2.8":
- "integrity" "sha512-3graq9/gCfJQs6hznrHV6sa9oDmk/D1H3Oo0vLdVpPS/I61fZPk8NEyNKCHpNA6fT2cx6xx9U3QS63uuyikg/Q=="
- "resolved" "https://registry.npmmirror.com/ant-design-vue/download/ant-design-vue-2.2.8.tgz"
- "version" "2.2.8"
+ant-design-vue@^2.2.8:
+ version "2.2.8"
+ resolved "https://registry.npmmirror.com/ant-design-vue/download/ant-design-vue-2.2.8.tgz"
+ integrity sha512-3graq9/gCfJQs6hznrHV6sa9oDmk/D1H3Oo0vLdVpPS/I61fZPk8NEyNKCHpNA6fT2cx6xx9U3QS63uuyikg/Q==
dependencies:
"@ant-design/icons-vue" "^6.0.0"
"@babel/runtime" "^7.10.5"
"@simonwep/pickr" "~1.8.0"
- "array-tree-filter" "^2.1.0"
- "async-validator" "^3.3.0"
- "dom-align" "^1.12.1"
- "dom-scroll-into-view" "^2.0.0"
- "lodash" "^4.17.21"
- "lodash-es" "^4.17.15"
- "moment" "^2.27.0"
- "omit.js" "^2.0.0"
- "resize-observer-polyfill" "^1.5.1"
- "scroll-into-view-if-needed" "^2.2.25"
- "shallow-equal" "^1.0.0"
- "vue-types" "^3.0.0"
- "warning" "^4.0.0"
+ array-tree-filter "^2.1.0"
+ async-validator "^3.3.0"
+ dom-align "^1.12.1"
+ dom-scroll-into-view "^2.0.0"
+ lodash "^4.17.21"
+ lodash-es "^4.17.15"
+ moment "^2.27.0"
+ omit.js "^2.0.0"
+ resize-observer-polyfill "^1.5.1"
+ scroll-into-view-if-needed "^2.2.25"
+ shallow-equal "^1.0.0"
+ vue-types "^3.0.0"
+ warning "^4.0.0"
-"anymatch@~3.1.2":
- "integrity" "sha1-wFV8CWrzLxBhmPT04qODU343hxY="
- "resolved" "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.2.tgz"
- "version" "3.1.2"
+anymatch@~3.1.2:
+ version "3.1.2"
+ resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.2.tgz"
+ integrity sha1-wFV8CWrzLxBhmPT04qODU343hxY=
dependencies:
- "normalize-path" "^3.0.0"
- "picomatch" "^2.0.4"
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
-"argparse@^1.0.7":
- "integrity" "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE="
- "resolved" "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz"
- "version" "1.0.10"
+argparse@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz"
+ integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=
dependencies:
- "sprintf-js" "~1.0.2"
+ sprintf-js "~1.0.2"
-"arr-diff@^4.0.0":
- "integrity" "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
- "resolved" "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz"
- "version" "4.0.0"
+arr-diff@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz"
+ integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
-"arr-flatten@^1.1.0":
- "integrity" "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE="
- "resolved" "https://registry.nlark.com/arr-flatten/download/arr-flatten-1.1.0.tgz"
- "version" "1.1.0"
+arr-flatten@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.nlark.com/arr-flatten/download/arr-flatten-1.1.0.tgz"
+ integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=
-"arr-union@^3.1.0":
- "integrity" "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
- "resolved" "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz"
- "version" "3.1.0"
+arr-union@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz"
+ integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
-"array-includes@^3.1.4":
- "integrity" "sha1-9bSTFix2DzU5Yx8AW6K7Rqy0W6k="
- "resolved" "https://registry.npmmirror.com/array-includes/download/array-includes-3.1.4.tgz"
- "version" "3.1.4"
+array-includes@^3.1.4:
+ version "3.1.4"
+ resolved "https://registry.npmmirror.com/array-includes/download/array-includes-3.1.4.tgz"
+ integrity sha1-9bSTFix2DzU5Yx8AW6K7Rqy0W6k=
dependencies:
- "call-bind" "^1.0.2"
- "define-properties" "^1.1.3"
- "es-abstract" "^1.19.1"
- "get-intrinsic" "^1.1.1"
- "is-string" "^1.0.7"
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.1"
+ get-intrinsic "^1.1.1"
+ is-string "^1.0.7"
-"array-tree-filter@^2.1.0":
- "integrity" "sha1-hzrAD+yDdJ8lWsjdCDgUtPYykZA="
- "resolved" "https://registry.npm.taobao.org/array-tree-filter/download/array-tree-filter-2.1.0.tgz"
- "version" "2.1.0"
+array-tree-filter@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/array-tree-filter/download/array-tree-filter-2.1.0.tgz"
+ integrity sha1-hzrAD+yDdJ8lWsjdCDgUtPYykZA=
-"array-union@^2.1.0":
- "integrity" "sha1-t5hCCtvrHego2ErNii4j0+/oXo0="
- "resolved" "https://registry.nlark.com/array-union/download/array-union-2.1.0.tgz"
- "version" "2.1.0"
+array-union@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.nlark.com/array-union/download/array-union-2.1.0.tgz"
+ integrity sha1-t5hCCtvrHego2ErNii4j0+/oXo0=
-"array-unique@^0.3.2":
- "integrity" "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
- "resolved" "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz"
- "version" "0.3.2"
+array-unique@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz"
+ integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
-"array.prototype.flat@^1.2.5":
- "integrity" "sha1-B+CXXYS7x8SM0YedYJ5oJZjTPhM="
- "resolved" "https://registry.npmmirror.com/array.prototype.flat/download/array.prototype.flat-1.2.5.tgz?cache=0&sync_timestamp=1633109609894&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Farray.prototype.flat%2Fdownload%2Farray.prototype.flat-1.2.5.tgz"
- "version" "1.2.5"
+array.prototype.flat@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.npmmirror.com/array.prototype.flat/download/array.prototype.flat-1.2.5.tgz?cache=0&sync_timestamp=1633109609894&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Farray.prototype.flat%2Fdownload%2Farray.prototype.flat-1.2.5.tgz"
+ integrity sha1-B+CXXYS7x8SM0YedYJ5oJZjTPhM=
dependencies:
- "call-bind" "^1.0.2"
- "define-properties" "^1.1.3"
- "es-abstract" "^1.19.0"
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.0"
-"assign-symbols@^1.0.0":
- "integrity" "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
- "resolved" "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz"
- "version" "1.0.0"
+assign-symbols@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz"
+ integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
-"astral-regex@^2.0.0":
- "integrity" "sha1-SDFDxWeu7UeFdZwIZXhtx319LjE="
- "resolved" "https://registry.npm.taobao.org/astral-regex/download/astral-regex-2.0.0.tgz"
- "version" "2.0.0"
+astral-regex@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-2.0.0.tgz"
+ integrity sha1-SDFDxWeu7UeFdZwIZXhtx319LjE=
-"async-validator@^3.3.0":
- "integrity" "sha1-aOhmqWgk6LJpT/eoMcGiXETV5QA="
- "resolved" "https://registry.npmmirror.com/async-validator/download/async-validator-3.5.2.tgz"
- "version" "3.5.2"
+async-validator@^3.3.0:
+ version "3.5.2"
+ resolved "https://registry.npmmirror.com/async-validator/download/async-validator-3.5.2.tgz"
+ integrity sha1-aOhmqWgk6LJpT/eoMcGiXETV5QA=
-"atob@^2.1.2":
- "integrity" "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k="
- "resolved" "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz"
- "version" "2.1.2"
+atob@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz"
+ integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=
-"axios@^0.21.1":
- "integrity" "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg=="
- "resolved" "https://registry.npmmirror.com/axios/download/axios-0.21.4.tgz"
- "version" "0.21.4"
+axios@^0.21.1:
+ version "0.21.4"
+ resolved "https://registry.npmmirror.com/axios/download/axios-0.21.4.tgz"
+ integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
dependencies:
- "follow-redirects" "^1.14.0"
+ follow-redirects "^1.14.0"
-"babel-plugin-import@^1.13.3":
- "integrity" "sha1-nbu6fRrHK9QSkXqDDUReAJQdJtc="
- "resolved" "https://registry.npmmirror.com/babel-plugin-import/download/babel-plugin-import-1.13.3.tgz"
- "version" "1.13.3"
+babel-plugin-import@^1.13.3:
+ version "1.13.3"
+ resolved "https://registry.npmmirror.com/babel-plugin-import/download/babel-plugin-import-1.13.3.tgz"
+ integrity sha1-nbu6fRrHK9QSkXqDDUReAJQdJtc=
dependencies:
"@babel/helper-module-imports" "^7.0.0"
"@babel/runtime" "^7.0.0"
-"balanced-match@^1.0.0":
- "integrity" "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4="
- "resolved" "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbalanced-match%2Fdownload%2Fbalanced-match-1.0.2.tgz"
- "version" "1.0.2"
+balanced-match@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbalanced-match%2Fdownload%2Fbalanced-match-1.0.2.tgz"
+ integrity sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=
-"base@^0.11.1":
- "integrity" "sha1-e95c7RRbbVUakNuH+DxVi060io8="
- "resolved" "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz"
- "version" "0.11.2"
+base@^0.11.1:
+ version "0.11.2"
+ resolved "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz"
+ integrity sha1-e95c7RRbbVUakNuH+DxVi060io8=
dependencies:
- "cache-base" "^1.0.1"
- "class-utils" "^0.3.5"
- "component-emitter" "^1.2.1"
- "define-property" "^1.0.0"
- "isobject" "^3.0.1"
- "mixin-deep" "^1.2.0"
- "pascalcase" "^0.1.1"
+ cache-base "^1.0.1"
+ class-utils "^0.3.5"
+ component-emitter "^1.2.1"
+ define-property "^1.0.0"
+ isobject "^3.0.1"
+ mixin-deep "^1.2.0"
+ pascalcase "^0.1.1"
-"big-integer@^1.6.17":
- "integrity" "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg=="
- "resolved" "https://registry.npmmirror.com/big-integer/download/big-integer-1.6.51.tgz"
- "version" "1.6.51"
+big-integer@^1.6.17:
+ version "1.6.51"
+ resolved "https://registry.npmmirror.com/big-integer/download/big-integer-1.6.51.tgz"
+ integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==
-"big.js@^5.2.2":
- "integrity" "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg="
- "resolved" "https://registry.npmmirror.com/big.js/download/big.js-5.2.2.tgz"
- "version" "5.2.2"
+big.js@^5.2.2:
+ version "5.2.2"
+ resolved "https://registry.npmmirror.com/big.js/download/big.js-5.2.2.tgz"
+ integrity sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=
-"binary-extensions@^2.0.0":
- "integrity" "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0="
- "resolved" "https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz"
- "version" "2.2.0"
+binary-extensions@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz"
+ integrity sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=
-"binary@~0.3.0":
- "integrity" "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk="
- "resolved" "https://registry.npm.taobao.org/binary/download/binary-0.3.0.tgz"
- "version" "0.3.0"
+binary@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npm.taobao.org/binary/download/binary-0.3.0.tgz"
+ integrity sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=
dependencies:
- "buffers" "~0.1.1"
- "chainsaw" "~0.1.0"
+ buffers "~0.1.1"
+ chainsaw "~0.1.0"
-"bluebird@^3.5.0":
- "integrity" "sha1-nyKcFb4nJFT/qXOs4NvueaGww28="
- "resolved" "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz"
- "version" "3.7.2"
+bluebird@^3.5.0:
+ version "3.7.2"
+ resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz"
+ integrity sha1-nyKcFb4nJFT/qXOs4NvueaGww28=
-"bluebird@~3.4.1":
- "integrity" "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM="
- "resolved" "https://registry.npm.taobao.org/bluebird/download/bluebird-3.4.7.tgz"
- "version" "3.4.7"
+bluebird@~3.4.1:
+ version "3.4.7"
+ resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.4.7.tgz"
+ integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=
-"boolbase@^1.0.0":
- "integrity" "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
- "resolved" "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz"
- "version" "1.0.0"
+boolbase@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz"
+ integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
-"brace-expansion@^1.1.7":
- "integrity" "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0="
- "resolved" "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz?cache=0&sync_timestamp=1614010709807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrace-expansion%2Fdownload%2Fbrace-expansion-1.1.11.tgz"
- "version" "1.1.11"
+brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz?cache=0&sync_timestamp=1614010709807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrace-expansion%2Fdownload%2Fbrace-expansion-1.1.11.tgz"
+ integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=
dependencies:
- "balanced-match" "^1.0.0"
- "concat-map" "0.0.1"
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
-"braces@^2.2.2":
- "integrity" "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk="
- "resolved" "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz"
- "version" "2.3.2"
+braces@^2.2.2:
+ version "2.3.2"
+ resolved "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz"
+ integrity sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=
dependencies:
- "arr-flatten" "^1.1.0"
- "array-unique" "^0.3.2"
- "extend-shallow" "^2.0.1"
- "fill-range" "^4.0.0"
- "isobject" "^3.0.1"
- "repeat-element" "^1.1.2"
- "snapdragon" "^0.8.1"
- "snapdragon-node" "^2.0.1"
- "split-string" "^3.0.2"
- "to-regex" "^3.0.1"
+ arr-flatten "^1.1.0"
+ array-unique "^0.3.2"
+ extend-shallow "^2.0.1"
+ fill-range "^4.0.0"
+ isobject "^3.0.1"
+ repeat-element "^1.1.2"
+ snapdragon "^0.8.1"
+ snapdragon-node "^2.0.1"
+ split-string "^3.0.2"
+ to-regex "^3.0.1"
-"braces@^3.0.1", "braces@~3.0.2":
- "integrity" "sha1-NFThpGLujVmeI23zNs2epPiv4Qc="
- "resolved" "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz"
- "version" "3.0.2"
+braces@^3.0.1, braces@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz"
+ integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc=
dependencies:
- "fill-range" "^7.0.1"
+ fill-range "^7.0.1"
-"browserslist@^4.17.5":
- "integrity" "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A=="
- "resolved" "https://registry.npmmirror.com/browserslist/download/browserslist-4.19.1.tgz"
- "version" "4.19.1"
+browserslist@^4.17.5:
+ version "4.19.1"
+ resolved "https://registry.npmmirror.com/browserslist/download/browserslist-4.19.1.tgz"
+ integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==
dependencies:
- "caniuse-lite" "^1.0.30001286"
- "electron-to-chromium" "^1.4.17"
- "escalade" "^3.1.1"
- "node-releases" "^2.0.1"
- "picocolors" "^1.0.0"
+ caniuse-lite "^1.0.30001286"
+ electron-to-chromium "^1.4.17"
+ escalade "^3.1.1"
+ node-releases "^2.0.1"
+ picocolors "^1.0.0"
-"buffer-indexof-polyfill@~1.0.0":
- "integrity" "sha1-0nMhNcWZnGSyd/z5savjSYJUcpw="
- "resolved" "https://registry.npm.taobao.org/buffer-indexof-polyfill/download/buffer-indexof-polyfill-1.0.2.tgz"
- "version" "1.0.2"
+buffer-indexof-polyfill@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/buffer-indexof-polyfill/download/buffer-indexof-polyfill-1.0.2.tgz"
+ integrity sha1-0nMhNcWZnGSyd/z5savjSYJUcpw=
-"buffers@~0.1.1":
- "integrity" "sha1-skV5w77U1tOWru5tmorn9Ugqt7s="
- "resolved" "https://registry.npm.taobao.org/buffers/download/buffers-0.1.1.tgz"
- "version" "0.1.1"
+buffers@~0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npm.taobao.org/buffers/download/buffers-0.1.1.tgz"
+ integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s=
-"cache-base@^1.0.1":
- "integrity" "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI="
- "resolved" "https://registry.npmmirror.com/cache-base/download/cache-base-1.0.1.tgz?cache=0&sync_timestamp=1636237629294&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcache-base%2Fdownload%2Fcache-base-1.0.1.tgz"
- "version" "1.0.1"
+cache-base@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/cache-base/download/cache-base-1.0.1.tgz?cache=0&sync_timestamp=1636237629294&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcache-base%2Fdownload%2Fcache-base-1.0.1.tgz"
+ integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=
dependencies:
- "collection-visit" "^1.0.0"
- "component-emitter" "^1.2.1"
- "get-value" "^2.0.6"
- "has-value" "^1.0.0"
- "isobject" "^3.0.1"
- "set-value" "^2.0.0"
- "to-object-path" "^0.3.0"
- "union-value" "^1.0.0"
- "unset-value" "^1.0.0"
+ collection-visit "^1.0.0"
+ component-emitter "^1.2.1"
+ get-value "^2.0.6"
+ has-value "^1.0.0"
+ isobject "^3.0.1"
+ set-value "^2.0.0"
+ to-object-path "^0.3.0"
+ union-value "^1.0.0"
+ unset-value "^1.0.0"
-"call-bind@^1.0.0", "call-bind@^1.0.2":
- "integrity" "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw="
- "resolved" "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz"
- "version" "1.0.2"
+call-bind@^1.0.0, call-bind@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz"
+ integrity sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=
dependencies:
- "function-bind" "^1.1.1"
- "get-intrinsic" "^1.0.2"
+ function-bind "^1.1.1"
+ get-intrinsic "^1.0.2"
-"callsites@^3.0.0":
- "integrity" "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M="
- "resolved" "https://registry.nlark.com/callsites/download/callsites-3.1.0.tgz"
- "version" "3.1.0"
+callsites@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.nlark.com/callsites/download/callsites-3.1.0.tgz"
+ integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=
-"camel-case@^4.1.2":
- "integrity" "sha1-lygHKpVPgFIoIlpt7qazhGHhvVo="
- "resolved" "https://registry.npm.taobao.org/camel-case/download/camel-case-4.1.2.tgz?cache=0&sync_timestamp=1606867297052&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamel-case%2Fdownload%2Fcamel-case-4.1.2.tgz"
- "version" "4.1.2"
+camel-case@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.npm.taobao.org/camel-case/download/camel-case-4.1.2.tgz?cache=0&sync_timestamp=1606867297052&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamel-case%2Fdownload%2Fcamel-case-4.1.2.tgz"
+ integrity sha1-lygHKpVPgFIoIlpt7qazhGHhvVo=
dependencies:
- "pascal-case" "^3.1.2"
- "tslib" "^2.0.3"
+ pascal-case "^3.1.2"
+ tslib "^2.0.3"
-"caniuse-lite@^1.0.30001286":
- "integrity" "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw=="
- "resolved" "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001299.tgz"
- "version" "1.0.30001299"
+caniuse-lite@^1.0.30001286:
+ version "1.0.30001299"
+ resolved "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001299.tgz"
+ integrity sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw==
-"capital-case@^1.0.4":
- "integrity" "sha1-nRMCkjU8kkn2sA+lhSvuOKcX5mk="
- "resolved" "https://registry.nlark.com/capital-case/download/capital-case-1.0.4.tgz"
- "version" "1.0.4"
+capital-case@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.nlark.com/capital-case/download/capital-case-1.0.4.tgz"
+ integrity sha1-nRMCkjU8kkn2sA+lhSvuOKcX5mk=
dependencies:
- "no-case" "^3.0.4"
- "tslib" "^2.0.3"
- "upper-case-first" "^2.0.2"
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+ upper-case-first "^2.0.2"
-"chainsaw@~0.1.0":
- "integrity" "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg="
- "resolved" "https://registry.npm.taobao.org/chainsaw/download/chainsaw-0.1.0.tgz"
- "version" "0.1.0"
+chainsaw@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npm.taobao.org/chainsaw/download/chainsaw-0.1.0.tgz"
+ integrity sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=
dependencies:
- "traverse" ">=0.3.0 <0.4"
+ traverse ">=0.3.0 <0.4"
-"chalk@^1.1.3":
- "integrity" "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg="
- "resolved" "https://registry.npmmirror.com/chalk/download/chalk-1.1.3.tgz"
- "version" "1.1.3"
+chalk@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmmirror.com/chalk/download/chalk-1.1.3.tgz"
+ integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
dependencies:
- "ansi-styles" "^2.2.1"
- "escape-string-regexp" "^1.0.2"
- "has-ansi" "^2.0.0"
- "strip-ansi" "^3.0.0"
- "supports-color" "^2.0.0"
+ ansi-styles "^2.2.1"
+ escape-string-regexp "^1.0.2"
+ has-ansi "^2.0.0"
+ strip-ansi "^3.0.0"
+ supports-color "^2.0.0"
-"chalk@^2.0.0":
- "integrity" "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ="
- "resolved" "https://registry.npmmirror.com/chalk/download/chalk-2.4.2.tgz"
- "version" "2.4.2"
+chalk@^2.0.0:
+ version "2.4.2"
+ resolved "https://registry.npmmirror.com/chalk/download/chalk-2.4.2.tgz"
+ integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=
dependencies:
- "ansi-styles" "^3.2.1"
- "escape-string-regexp" "^1.0.5"
- "supports-color" "^5.3.0"
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
-"chalk@^4.0.0":
- "integrity" "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE="
- "resolved" "https://registry.npmmirror.com/chalk/download/chalk-4.1.2.tgz"
- "version" "4.1.2"
+chalk@^4.0.0:
+ version "4.1.2"
+ resolved "https://registry.npmmirror.com/chalk/download/chalk-4.1.2.tgz"
+ integrity sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=
dependencies:
- "ansi-styles" "^4.1.0"
- "supports-color" "^7.1.0"
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
-"change-case@^4.1.2":
- "integrity" "sha1-/t/F8TYEXiOYwEEO5EH5VwRkHhI="
- "resolved" "https://registry.npm.taobao.org/change-case/download/change-case-4.1.2.tgz?cache=0&sync_timestamp=1606867326259&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchange-case%2Fdownload%2Fchange-case-4.1.2.tgz"
- "version" "4.1.2"
+change-case@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.npm.taobao.org/change-case/download/change-case-4.1.2.tgz?cache=0&sync_timestamp=1606867326259&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchange-case%2Fdownload%2Fchange-case-4.1.2.tgz"
+ integrity sha1-/t/F8TYEXiOYwEEO5EH5VwRkHhI=
dependencies:
- "camel-case" "^4.1.2"
- "capital-case" "^1.0.4"
- "constant-case" "^3.0.4"
- "dot-case" "^3.0.4"
- "header-case" "^2.0.4"
- "no-case" "^3.0.4"
- "param-case" "^3.0.4"
- "pascal-case" "^3.1.2"
- "path-case" "^3.0.4"
- "sentence-case" "^3.0.4"
- "snake-case" "^3.0.4"
- "tslib" "^2.0.3"
+ camel-case "^4.1.2"
+ capital-case "^1.0.4"
+ constant-case "^3.0.4"
+ dot-case "^3.0.4"
+ header-case "^2.0.4"
+ no-case "^3.0.4"
+ param-case "^3.0.4"
+ pascal-case "^3.1.2"
+ path-case "^3.0.4"
+ sentence-case "^3.0.4"
+ snake-case "^3.0.4"
+ tslib "^2.0.3"
"chokidar@>=3.0.0 <4.0.0":
- "integrity" "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ=="
- "resolved" "https://registry.npmmirror.com/chokidar/download/chokidar-3.5.2.tgz"
- "version" "3.5.2"
+ version "3.5.2"
+ resolved "https://registry.npmmirror.com/chokidar/download/chokidar-3.5.2.tgz"
+ integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
dependencies:
- "anymatch" "~3.1.2"
- "braces" "~3.0.2"
- "glob-parent" "~5.1.2"
- "is-binary-path" "~2.1.0"
- "is-glob" "~4.0.1"
- "normalize-path" "~3.0.0"
- "readdirp" "~3.6.0"
+ anymatch "~3.1.2"
+ braces "~3.0.2"
+ glob-parent "~5.1.2"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.6.0"
optionalDependencies:
- "fsevents" "~2.3.2"
+ fsevents "~2.3.2"
-"class-utils@^0.3.5":
- "integrity" "sha1-+TNprouafOAv1B+q0MqDAzGQxGM="
- "resolved" "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz"
- "version" "0.3.6"
+class-utils@^0.3.5:
+ version "0.3.6"
+ resolved "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz"
+ integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM=
dependencies:
- "arr-union" "^3.1.0"
- "define-property" "^0.2.5"
- "isobject" "^3.0.0"
- "static-extend" "^0.1.1"
+ arr-union "^3.1.0"
+ define-property "^0.2.5"
+ isobject "^3.0.0"
+ static-extend "^0.1.1"
-"clone@^2.1.1":
- "integrity" "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
- "resolved" "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz?cache=0&sync_timestamp=1589682821772&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclone%2Fdownload%2Fclone-2.1.2.tgz"
- "version" "2.1.2"
+clone@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz?cache=0&sync_timestamp=1589682821772&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclone%2Fdownload%2Fclone-2.1.2.tgz"
+ integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=
-"collection-visit@^1.0.0":
- "integrity" "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA="
- "resolved" "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz"
- "version" "1.0.0"
+collection-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz"
+ integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
dependencies:
- "map-visit" "^1.0.0"
- "object-visit" "^1.0.0"
+ map-visit "^1.0.0"
+ object-visit "^1.0.0"
-"color-convert@^1.9.0":
- "integrity" "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg="
- "resolved" "https://registry.npmmirror.com/color-convert/download/color-convert-1.9.3.tgz"
- "version" "1.9.3"
+color-convert@^1.9.0:
+ version "1.9.3"
+ resolved "https://registry.npmmirror.com/color-convert/download/color-convert-1.9.3.tgz"
+ integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=
dependencies:
- "color-name" "1.1.3"
+ color-name "1.1.3"
-"color-convert@^2.0.1":
- "integrity" "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM="
- "resolved" "https://registry.npmmirror.com/color-convert/download/color-convert-2.0.1.tgz"
- "version" "2.0.1"
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/color-convert/download/color-convert-2.0.1.tgz"
+ integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=
dependencies:
- "color-name" "~1.1.4"
+ color-name "~1.1.4"
-"color-name@~1.1.4":
- "integrity" "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI="
- "resolved" "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz"
- "version" "1.1.4"
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz"
+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
-"color-name@1.1.3":
- "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
- "resolved" "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz"
- "version" "1.1.3"
+color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz"
+ integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=
-"commander@^7.2.0":
- "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
- "resolved" "https://registry.npmmirror.com/commander/download/commander-7.2.0.tgz"
- "version" "7.2.0"
+commander@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.npmmirror.com/commander/download/commander-7.2.0.tgz"
+ integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
-"component-emitter@^1.2.1":
- "integrity" "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A="
- "resolved" "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz"
- "version" "1.3.0"
+component-emitter@^1.2.1:
+ version "1.3.0"
+ resolved "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz"
+ integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=
-"compute-scroll-into-view@^1.0.17":
- "integrity" "sha1-aojxis2dQunPS6pr7H4FImB6t6s="
- "resolved" "https://registry.npm.taobao.org/compute-scroll-into-view/download/compute-scroll-into-view-1.0.17.tgz?cache=0&sync_timestamp=1614043178722&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompute-scroll-into-view%2Fdownload%2Fcompute-scroll-into-view-1.0.17.tgz"
- "version" "1.0.17"
+compute-scroll-into-view@^1.0.17:
+ version "1.0.17"
+ resolved "https://registry.npm.taobao.org/compute-scroll-into-view/download/compute-scroll-into-view-1.0.17.tgz?cache=0&sync_timestamp=1614043178722&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompute-scroll-into-view%2Fdownload%2Fcompute-scroll-into-view-1.0.17.tgz"
+ integrity sha1-aojxis2dQunPS6pr7H4FImB6t6s=
-"concat-map@0.0.1":
- "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
- "resolved" "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz"
- "version" "0.0.1"
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz"
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-"constant-case@^3.0.4":
- "integrity" "sha1-O4Sprq9M8x7EXmv13pG9+wWJ+vE="
- "resolved" "https://registry.npm.taobao.org/constant-case/download/constant-case-3.0.4.tgz?cache=0&sync_timestamp=1606867325763&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconstant-case%2Fdownload%2Fconstant-case-3.0.4.tgz"
- "version" "3.0.4"
+constant-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.npm.taobao.org/constant-case/download/constant-case-3.0.4.tgz?cache=0&sync_timestamp=1606867325763&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconstant-case%2Fdownload%2Fconstant-case-3.0.4.tgz"
+ integrity sha1-O4Sprq9M8x7EXmv13pG9+wWJ+vE=
dependencies:
- "no-case" "^3.0.4"
- "tslib" "^2.0.3"
- "upper-case" "^2.0.2"
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+ upper-case "^2.0.2"
-"convert-source-map@^1.7.0":
- "integrity" "sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k="
- "resolved" "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz?cache=0&sync_timestamp=1624045304679&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.8.0.tgz"
- "version" "1.8.0"
+convert-source-map@^1.7.0:
+ version "1.8.0"
+ resolved "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz?cache=0&sync_timestamp=1624045304679&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.8.0.tgz"
+ integrity sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k=
dependencies:
- "safe-buffer" "~5.1.1"
+ safe-buffer "~5.1.1"
-"cookie-storage@^6.1.0":
- "integrity" "sha1-KRsvZi2WG+RPmZYmWTQhy/zyN5A="
- "resolved" "https://registry.nlark.com/cookie-storage/download/cookie-storage-6.1.0.tgz"
- "version" "6.1.0"
+cookie-storage@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.nlark.com/cookie-storage/download/cookie-storage-6.1.0.tgz"
+ integrity sha1-KRsvZi2WG+RPmZYmWTQhy/zyN5A=
-"copy-descriptor@^0.1.0":
- "integrity" "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
- "resolved" "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz"
- "version" "0.1.1"
+copy-descriptor@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz"
+ integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
-"copy-text-to-clipboard@^3.0.1":
- "integrity" "sha1-jL+PkOCkfxLkokdDc2Jl0Ve85pw="
- "resolved" "https://registry.npm.taobao.org/copy-text-to-clipboard/download/copy-text-to-clipboard-3.0.1.tgz"
- "version" "3.0.1"
+copy-text-to-clipboard@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/copy-text-to-clipboard/download/copy-text-to-clipboard-3.0.1.tgz"
+ integrity sha1-jL+PkOCkfxLkokdDc2Jl0Ve85pw=
-"core-js@^3.11.0", "core-js@^3.15.1", "core-js@^3.19.1":
- "integrity" "sha512-nuqhq11DcOAbFBV4zCbKeGbKQsUDRqTX0oqx7AttUBuqe3h20ixsE039QHelbL6P4h+9kytVqyEtyZ6gsiwEYw=="
- "resolved" "https://registry.npmmirror.com/core-js/download/core-js-3.20.2.tgz"
- "version" "3.20.2"
+core-js@^3.11.0, core-js@^3.15.1, core-js@^3.19.1:
+ version "3.20.2"
+ resolved "https://registry.npmmirror.com/core-js/download/core-js-3.20.2.tgz"
+ integrity sha512-nuqhq11DcOAbFBV4zCbKeGbKQsUDRqTX0oqx7AttUBuqe3h20ixsE039QHelbL6P4h+9kytVqyEtyZ6gsiwEYw==
-"core-util-is@~1.0.0":
- "integrity" "sha1-pgQtNjTCsn6TKPg3uWX6yDgI24U="
- "resolved" "https://registry.nlark.com/core-util-is/download/core-util-is-1.0.3.tgz"
- "version" "1.0.3"
+core-util-is@~1.0.0:
+ version "1.0.3"
+ resolved "https://registry.nlark.com/core-util-is/download/core-util-is-1.0.3.tgz"
+ integrity sha1-pgQtNjTCsn6TKPg3uWX6yDgI24U=
-"cors@^2.8.5":
- "integrity" "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g=="
- "resolved" "https://registry.npmmirror.com/cors/download/cors-2.8.5.tgz"
- "version" "2.8.5"
+cors@^2.8.5:
+ version "2.8.5"
+ resolved "https://registry.npmmirror.com/cors/download/cors-2.8.5.tgz"
+ integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
dependencies:
- "object-assign" "^4"
- "vary" "^1"
+ object-assign "^4"
+ vary "^1"
-"cross-spawn@^7.0.2":
- "integrity" "sha1-9zqFudXUHQRVUcF34ogtSshXKKY="
- "resolved" "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz"
- "version" "7.0.3"
+cross-spawn@^7.0.2:
+ version "7.0.3"
+ resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz"
+ integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY=
dependencies:
- "path-key" "^3.1.0"
- "shebang-command" "^2.0.0"
- "which" "^2.0.1"
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
-"css-select@^4.1.3":
- "integrity" "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ=="
- "resolved" "https://registry.npmmirror.com/css-select/download/css-select-4.2.1.tgz"
- "version" "4.2.1"
+css-select@^4.1.3:
+ version "4.2.1"
+ resolved "https://registry.npmmirror.com/css-select/download/css-select-4.2.1.tgz"
+ integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==
dependencies:
- "boolbase" "^1.0.0"
- "css-what" "^5.1.0"
- "domhandler" "^4.3.0"
- "domutils" "^2.8.0"
- "nth-check" "^2.0.1"
+ boolbase "^1.0.0"
+ css-what "^5.1.0"
+ domhandler "^4.3.0"
+ domutils "^2.8.0"
+ nth-check "^2.0.1"
-"css-tree@^1.1.2", "css-tree@^1.1.3":
- "integrity" "sha1-60hw+2/XcHMn7JXC/yqwm16NuR0="
- "resolved" "https://registry.npmmirror.com/css-tree/download/css-tree-1.1.3.tgz"
- "version" "1.1.3"
+css-tree@^1.1.2, css-tree@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmmirror.com/css-tree/download/css-tree-1.1.3.tgz"
+ integrity sha1-60hw+2/XcHMn7JXC/yqwm16NuR0=
dependencies:
- "mdn-data" "2.0.14"
- "source-map" "^0.6.1"
+ mdn-data "2.0.14"
+ source-map "^0.6.1"
-"css-what@^5.1.0":
- "integrity" "sha1-P3tweq32M7r2LCzrhXm1RbtA9/4="
- "resolved" "https://registry.npmmirror.com/css-what/download/css-what-5.1.0.tgz"
- "version" "5.1.0"
+css-what@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmmirror.com/css-what/download/css-what-5.1.0.tgz"
+ integrity sha1-P3tweq32M7r2LCzrhXm1RbtA9/4=
-"csso@^4.2.0":
- "integrity" "sha1-6jpWE0bo3J9UbW/r7dUBh884lSk="
- "resolved" "https://registry.npmmirror.com/csso/download/csso-4.2.0.tgz"
- "version" "4.2.0"
+csso@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.npmmirror.com/csso/download/csso-4.2.0.tgz"
+ integrity sha1-6jpWE0bo3J9UbW/r7dUBh884lSk=
dependencies:
- "css-tree" "^1.1.2"
+ css-tree "^1.1.2"
-"csstype@^2.6.8":
- "integrity" "sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ=="
- "resolved" "https://registry.npmmirror.com/csstype/download/csstype-2.6.19.tgz?cache=0&sync_timestamp=1637224514674&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcsstype%2Fdownload%2Fcsstype-2.6.19.tgz"
- "version" "2.6.19"
+csstype@^2.6.8:
+ version "2.6.19"
+ resolved "https://registry.npmmirror.com/csstype/download/csstype-2.6.19.tgz?cache=0&sync_timestamp=1637224514674&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcsstype%2Fdownload%2Fcsstype-2.6.19.tgz"
+ integrity sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==
-"debug@^2.2.0":
- "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="
- "resolved" "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz"
- "version" "2.6.9"
+debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
+ version "2.6.9"
+ resolved "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
- "ms" "2.0.0"
+ ms "2.0.0"
-"debug@^2.3.3":
- "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="
- "resolved" "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz"
- "version" "2.6.9"
+debug@^3.2.7:
+ version "3.2.7"
+ resolved "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz"
+ integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
dependencies:
- "ms" "2.0.0"
+ ms "^2.1.1"
-"debug@^2.6.9":
- "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="
- "resolved" "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz"
- "version" "2.6.9"
+debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3:
+ version "4.3.3"
+ resolved "https://registry.npmmirror.com/debug/download/debug-4.3.3.tgz"
+ integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
dependencies:
- "ms" "2.0.0"
+ ms "2.1.2"
-"debug@^3.2.7":
- "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="
- "resolved" "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz"
- "version" "3.2.7"
+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"
+ integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
+
+deep-is@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.nlark.com/deep-is/download/deep-is-0.1.4.tgz"
+ integrity sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE=
+
+define-properties@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz"
+ integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=
dependencies:
- "ms" "^2.1.1"
+ object-keys "^1.0.12"
-"debug@^4.0.1", "debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.2", "debug@^4.3.3":
- "integrity" "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q=="
- "resolved" "https://registry.npmmirror.com/debug/download/debug-4.3.3.tgz"
- "version" "4.3.3"
+define-property@^0.2.5:
+ version "0.2.5"
+ resolved "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz"
+ integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
dependencies:
- "ms" "2.1.2"
+ is-descriptor "^0.1.0"
-"decode-uri-component@^0.2.0":
- "integrity" "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
- "resolved" "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz"
- "version" "0.2.0"
-
-"deep-is@^0.1.3":
- "integrity" "sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE="
- "resolved" "https://registry.nlark.com/deep-is/download/deep-is-0.1.4.tgz"
- "version" "0.1.4"
-
-"define-properties@^1.1.3":
- "integrity" "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE="
- "resolved" "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz"
- "version" "1.1.3"
+define-property@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz"
+ integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
dependencies:
- "object-keys" "^1.0.12"
+ is-descriptor "^1.0.0"
-"define-property@^0.2.5":
- "integrity" "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY="
- "resolved" "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz"
- "version" "0.2.5"
+define-property@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz"
+ integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0=
dependencies:
- "is-descriptor" "^0.1.0"
+ is-descriptor "^1.0.2"
+ isobject "^3.0.1"
-"define-property@^1.0.0":
- "integrity" "sha1-dp66rz9KY6rTr56NMEybvnm/sOY="
- "resolved" "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz"
- "version" "1.0.0"
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz"
+ integrity sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=
dependencies:
- "is-descriptor" "^1.0.0"
+ path-type "^4.0.0"
-"define-property@^2.0.2":
- "integrity" "sha1-1Flono1lS6d+AqgX+HENcCyxbp0="
- "resolved" "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz"
- "version" "2.0.2"
+doctrine@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-2.1.0.tgz"
+ integrity sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=
dependencies:
- "is-descriptor" "^1.0.2"
- "isobject" "^3.0.1"
+ esutils "^2.0.2"
-"dir-glob@^3.0.1":
- "integrity" "sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8="
- "resolved" "https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz"
- "version" "3.0.1"
+doctrine@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz"
+ integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=
dependencies:
- "path-type" "^4.0.0"
+ esutils "^2.0.2"
-"doctrine@^2.1.0":
- "integrity" "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850="
- "resolved" "https://registry.npm.taobao.org/doctrine/download/doctrine-2.1.0.tgz"
- "version" "2.1.0"
+dom-align@^1.12.1:
+ version "1.12.2"
+ resolved "https://registry.nlark.com/dom-align/download/dom-align-1.12.2.tgz"
+ integrity sha1-D4Fk69DJwhsMeQMQSTzYVYkqzUs=
+
+dom-scroll-into-view@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/dom-scroll-into-view/download/dom-scroll-into-view-2.0.1.tgz"
+ integrity sha1-DezIUigB/Y0/HGujVadNOCxfmJs=
+
+dom-serializer@0:
+ version "0.2.2"
+ resolved "https://registry.nlark.com/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1621256830355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz"
+ integrity sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=
dependencies:
- "esutils" "^2.0.2"
+ domelementtype "^2.0.1"
+ entities "^2.0.0"
-"doctrine@^3.0.0":
- "integrity" "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE="
- "resolved" "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz"
- "version" "3.0.0"
+dom-serializer@^1.0.1:
+ version "1.3.2"
+ resolved "https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.2.tgz?cache=0&sync_timestamp=1621256830355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-1.3.2.tgz"
+ integrity sha1-YgZDfTLO767HFhgDIwx6ILwbTZE=
dependencies:
- "esutils" "^2.0.2"
+ domelementtype "^2.0.1"
+ domhandler "^4.2.0"
+ entities "^2.0.0"
-"dom-align@^1.12.1":
- "integrity" "sha1-D4Fk69DJwhsMeQMQSTzYVYkqzUs="
- "resolved" "https://registry.nlark.com/dom-align/download/dom-align-1.12.2.tgz"
- "version" "1.12.2"
+domelementtype@1, domelementtype@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz?cache=0&sync_timestamp=1617298554829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-1.3.1.tgz"
+ integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=
-"dom-scroll-into-view@^2.0.0":
- "integrity" "sha1-DezIUigB/Y0/HGujVadNOCxfmJs="
- "resolved" "https://registry.npm.taobao.org/dom-scroll-into-view/download/dom-scroll-into-view-2.0.1.tgz"
- "version" "2.0.1"
+domelementtype@^2.0.1, domelementtype@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.2.0.tgz?cache=0&sync_timestamp=1617298554829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.2.0.tgz"
+ integrity sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=
-"dom-serializer@^1.0.1":
- "integrity" "sha1-YgZDfTLO767HFhgDIwx6ILwbTZE="
- "resolved" "https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.2.tgz?cache=0&sync_timestamp=1621256830355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-1.3.2.tgz"
- "version" "1.3.2"
+domhandler@^2.3.0:
+ version "2.4.2"
+ resolved "https://registry.npmmirror.com/domhandler/download/domhandler-2.4.2.tgz"
+ integrity sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=
dependencies:
- "domelementtype" "^2.0.1"
- "domhandler" "^4.2.0"
- "entities" "^2.0.0"
+ domelementtype "1"
-"dom-serializer@0":
- "integrity" "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E="
- "resolved" "https://registry.nlark.com/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1621256830355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz"
- "version" "0.2.2"
+domhandler@^4.2.0, domhandler@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.npmmirror.com/domhandler/download/domhandler-4.3.0.tgz"
+ integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==
dependencies:
- "domelementtype" "^2.0.1"
- "entities" "^2.0.0"
+ domelementtype "^2.2.0"
-"domelementtype@^1.3.1", "domelementtype@1":
- "integrity" "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8="
- "resolved" "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz?cache=0&sync_timestamp=1617298554829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-1.3.1.tgz"
- "version" "1.3.1"
-
-"domelementtype@^2.0.1", "domelementtype@^2.2.0":
- "integrity" "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc="
- "resolved" "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.2.0.tgz?cache=0&sync_timestamp=1617298554829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.2.0.tgz"
- "version" "2.2.0"
-
-"domhandler@^2.3.0":
- "integrity" "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM="
- "resolved" "https://registry.npmmirror.com/domhandler/download/domhandler-2.4.2.tgz"
- "version" "2.4.2"
+domutils@^1.5.1:
+ version "1.7.0"
+ resolved "https://registry.npmmirror.com/domutils/download/domutils-1.7.0.tgz"
+ integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=
dependencies:
- "domelementtype" "1"
+ dom-serializer "0"
+ domelementtype "1"
-"domhandler@^4.2.0", "domhandler@^4.3.0":
- "integrity" "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g=="
- "resolved" "https://registry.npmmirror.com/domhandler/download/domhandler-4.3.0.tgz"
- "version" "4.3.0"
+domutils@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.npmmirror.com/domutils/download/domutils-2.8.0.tgz"
+ integrity sha1-RDfe9dtuLR9dbuhZvZXKfQIEgTU=
dependencies:
- "domelementtype" "^2.2.0"
+ dom-serializer "^1.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
-"domutils@^1.5.1":
- "integrity" "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo="
- "resolved" "https://registry.npmmirror.com/domutils/download/domutils-1.7.0.tgz"
- "version" "1.7.0"
+dot-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.npm.taobao.org/dot-case/download/dot-case-3.0.4.tgz?cache=0&sync_timestamp=1606867327042&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-case%2Fdownload%2Fdot-case-3.0.4.tgz"
+ integrity sha1-mytnDQCkMWZ6inW6Kc0bmICc51E=
dependencies:
- "dom-serializer" "0"
- "domelementtype" "1"
+ no-case "^3.0.4"
+ tslib "^2.0.3"
-"domutils@^2.8.0":
- "integrity" "sha1-RDfe9dtuLR9dbuhZvZXKfQIEgTU="
- "resolved" "https://registry.npmmirror.com/domutils/download/domutils-2.8.0.tgz"
- "version" "2.8.0"
+duplexer2@~0.1.4:
+ version "0.1.4"
+ resolved "https://registry.npm.taobao.org/duplexer2/download/duplexer2-0.1.4.tgz"
+ integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=
dependencies:
- "dom-serializer" "^1.0.1"
- "domelementtype" "^2.2.0"
- "domhandler" "^4.2.0"
+ readable-stream "^2.0.2"
-"dot-case@^3.0.4":
- "integrity" "sha1-mytnDQCkMWZ6inW6Kc0bmICc51E="
- "resolved" "https://registry.npm.taobao.org/dot-case/download/dot-case-3.0.4.tgz?cache=0&sync_timestamp=1606867327042&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-case%2Fdownload%2Fdot-case-3.0.4.tgz"
- "version" "3.0.4"
+electron-to-chromium@^1.4.17:
+ version "1.4.43"
+ resolved "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.4.43.tgz"
+ integrity sha512-PO3kEfcxPrti/4STbXvCkNIF4fgWvCKl2508e6UI7KomCDffpIfeBZLXsh5DK/XGsjUw3kwq6WEsi0MJTlGAdg==
+
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1632751333727&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz"
+ integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=
+
+emojis-list@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz"
+ integrity sha1-VXBmIEatKeLpFucariYKvf9Pang=
+
+enquirer@^2.3.5:
+ version "2.3.6"
+ resolved "https://registry.npm.taobao.org/enquirer/download/enquirer-2.3.6.tgz"
+ integrity sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00=
dependencies:
- "no-case" "^3.0.4"
- "tslib" "^2.0.3"
+ ansi-colors "^4.1.1"
-"duplexer2@~0.1.4":
- "integrity" "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME="
- "resolved" "https://registry.npm.taobao.org/duplexer2/download/duplexer2-0.1.4.tgz"
- "version" "0.1.4"
+entities@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.nlark.com/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1628508126700&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-1.1.2.tgz"
+ integrity sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=
+
+entities@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.nlark.com/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1628508126700&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-2.2.0.tgz"
+ integrity sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=
+
+es-abstract@^1.19.0, es-abstract@^1.19.1:
+ version "1.19.1"
+ resolved "https://registry.npmmirror.com/es-abstract/download/es-abstract-1.19.1.tgz?cache=0&sync_timestamp=1633234313248&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-abstract%2Fdownload%2Fes-abstract-1.19.1.tgz"
+ integrity sha1-1IhXlodpFpWd547aoN9FZicRXsM=
dependencies:
- "readable-stream" "^2.0.2"
+ call-bind "^1.0.2"
+ es-to-primitive "^1.2.1"
+ function-bind "^1.1.1"
+ get-intrinsic "^1.1.1"
+ get-symbol-description "^1.0.0"
+ has "^1.0.3"
+ has-symbols "^1.0.2"
+ internal-slot "^1.0.3"
+ is-callable "^1.2.4"
+ is-negative-zero "^2.0.1"
+ is-regex "^1.1.4"
+ is-shared-array-buffer "^1.0.1"
+ is-string "^1.0.7"
+ is-weakref "^1.0.1"
+ object-inspect "^1.11.0"
+ object-keys "^1.1.1"
+ object.assign "^4.1.2"
+ string.prototype.trimend "^1.0.4"
+ string.prototype.trimstart "^1.0.4"
+ unbox-primitive "^1.0.1"
-"electron-to-chromium@^1.4.17":
- "integrity" "sha512-PO3kEfcxPrti/4STbXvCkNIF4fgWvCKl2508e6UI7KomCDffpIfeBZLXsh5DK/XGsjUw3kwq6WEsi0MJTlGAdg=="
- "resolved" "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.4.43.tgz"
- "version" "1.4.43"
+es-module-lexer@^0.9.3:
+ version "0.9.3"
+ resolved "https://registry.npmmirror.com/es-module-lexer/download/es-module-lexer-0.9.3.tgz?cache=0&sync_timestamp=1633645560577&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-module-lexer%2Fdownload%2Fes-module-lexer-0.9.3.tgz"
+ integrity sha1-bxPbAMw4QXE32vdDZvU1yOtDjxk=
-"emoji-regex@^8.0.0":
- "integrity" "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc="
- "resolved" "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1632751333727&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz"
- "version" "8.0.0"
-
-"emojis-list@^3.0.0":
- "integrity" "sha1-VXBmIEatKeLpFucariYKvf9Pang="
- "resolved" "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz"
- "version" "3.0.0"
-
-"enquirer@^2.3.5":
- "integrity" "sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00="
- "resolved" "https://registry.npm.taobao.org/enquirer/download/enquirer-2.3.6.tgz"
- "version" "2.3.6"
+es-to-primitive@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.nlark.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz"
+ integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=
dependencies:
- "ansi-colors" "^4.1.1"
+ is-callable "^1.1.4"
+ is-date-object "^1.0.1"
+ is-symbol "^1.0.2"
-"entities@^1.1.1":
- "integrity" "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY="
- "resolved" "https://registry.nlark.com/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1628508126700&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-1.1.2.tgz"
- "version" "1.1.2"
+esbuild-android-arm64@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.15.tgz#3fc3ff0bab76fe35dd237476b5d2b32bb20a3d44"
+ integrity sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==
-"entities@^2.0.0":
- "integrity" "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU="
- "resolved" "https://registry.nlark.com/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1628508126700&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-2.2.0.tgz"
- "version" "2.2.0"
+esbuild-darwin-64@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-darwin-64/download/esbuild-darwin-64-0.13.15.tgz"
+ integrity sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==
-"es-abstract@^1.19.0", "es-abstract@^1.19.1":
- "integrity" "sha1-1IhXlodpFpWd547aoN9FZicRXsM="
- "resolved" "https://registry.npmmirror.com/es-abstract/download/es-abstract-1.19.1.tgz?cache=0&sync_timestamp=1633234313248&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-abstract%2Fdownload%2Fes-abstract-1.19.1.tgz"
- "version" "1.19.1"
- dependencies:
- "call-bind" "^1.0.2"
- "es-to-primitive" "^1.2.1"
- "function-bind" "^1.1.1"
- "get-intrinsic" "^1.1.1"
- "get-symbol-description" "^1.0.0"
- "has" "^1.0.3"
- "has-symbols" "^1.0.2"
- "internal-slot" "^1.0.3"
- "is-callable" "^1.2.4"
- "is-negative-zero" "^2.0.1"
- "is-regex" "^1.1.4"
- "is-shared-array-buffer" "^1.0.1"
- "is-string" "^1.0.7"
- "is-weakref" "^1.0.1"
- "object-inspect" "^1.11.0"
- "object-keys" "^1.1.1"
- "object.assign" "^4.1.2"
- "string.prototype.trimend" "^1.0.4"
- "string.prototype.trimstart" "^1.0.4"
- "unbox-primitive" "^1.0.1"
+esbuild-darwin-arm64@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.15.tgz#1b07f893b632114f805e188ddfca41b2b778229a"
+ integrity sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==
-"es-module-lexer@^0.9.3":
- "integrity" "sha1-bxPbAMw4QXE32vdDZvU1yOtDjxk="
- "resolved" "https://registry.npmmirror.com/es-module-lexer/download/es-module-lexer-0.9.3.tgz?cache=0&sync_timestamp=1633645560577&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-module-lexer%2Fdownload%2Fes-module-lexer-0.9.3.tgz"
- "version" "0.9.3"
+esbuild-freebsd-64@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.15.tgz#0b8b7eca1690c8ec94c75680c38c07269c1f4a85"
+ integrity sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==
-"es-to-primitive@^1.2.1":
- "integrity" "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo="
- "resolved" "https://registry.nlark.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz"
- "version" "1.2.1"
- dependencies:
- "is-callable" "^1.1.4"
- "is-date-object" "^1.0.1"
- "is-symbol" "^1.0.2"
+esbuild-freebsd-arm64@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.15.tgz#2e1a6c696bfdcd20a99578b76350b41db1934e52"
+ integrity sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==
-"esbuild-darwin-64@0.13.15":
- "integrity" "sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ=="
- "resolved" "https://registry.npmmirror.com/esbuild-darwin-64/download/esbuild-darwin-64-0.13.15.tgz"
- "version" "0.13.15"
+esbuild-linux-32@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.13.15.tgz#6fd39f36fc66dd45b6b5f515728c7bbebc342a69"
+ integrity sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==
-"esbuild@^0.13.12":
- "integrity" "sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw=="
- "resolved" "https://registry.npmmirror.com/esbuild/download/esbuild-0.13.15.tgz"
- "version" "0.13.15"
+esbuild-linux-64@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.13.15.tgz#9cb8e4bcd7574e67946e4ee5f1f1e12386bb6dd3"
+ integrity sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==
+
+esbuild-linux-arm64@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.15.tgz#3891aa3704ec579a1b92d2a586122e5b6a2bfba1"
+ integrity sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==
+
+esbuild-linux-arm@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.15.tgz#8a00e99e6a0c6c9a6b7f334841364d8a2b4aecfe"
+ integrity sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==
+
+esbuild-linux-mips64le@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.15.tgz#36b07cc47c3d21e48db3bb1f4d9ef8f46aead4f7"
+ integrity sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==
+
+esbuild-linux-ppc64le@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.15.tgz#f7e6bba40b9a11eb9dcae5b01550ea04670edad2"
+ integrity sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==
+
+esbuild-netbsd-64@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.15.tgz#a2fedc549c2b629d580a732d840712b08d440038"
+ integrity sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==
+
+esbuild-openbsd-64@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.15.tgz#b22c0e5806d3a1fbf0325872037f885306b05cd7"
+ integrity sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==
+
+esbuild-sunos-64@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.15.tgz#d0b6454a88375ee8d3964daeff55c85c91c7cef4"
+ integrity sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==
+
+esbuild-windows-32@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.13.15.tgz#c96d0b9bbb52f3303322582ef8e4847c5ad375a7"
+ integrity sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==
+
+esbuild-windows-64@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.13.15.tgz#1f79cb9b1e1bb02fb25cd414cb90d4ea2892c294"
+ integrity sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==
+
+esbuild-windows-arm64@0.13.15:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.15.tgz#482173070810df22a752c686509c370c3be3b3c3"
+ integrity sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==
+
+esbuild@^0.13.12:
+ version "0.13.15"
+ resolved "https://registry.npmmirror.com/esbuild/download/esbuild-0.13.15.tgz"
+ integrity sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==
optionalDependencies:
- "esbuild-android-arm64" "0.13.15"
- "esbuild-darwin-64" "0.13.15"
- "esbuild-darwin-arm64" "0.13.15"
- "esbuild-freebsd-64" "0.13.15"
- "esbuild-freebsd-arm64" "0.13.15"
- "esbuild-linux-32" "0.13.15"
- "esbuild-linux-64" "0.13.15"
- "esbuild-linux-arm" "0.13.15"
- "esbuild-linux-arm64" "0.13.15"
- "esbuild-linux-mips64le" "0.13.15"
- "esbuild-linux-ppc64le" "0.13.15"
- "esbuild-netbsd-64" "0.13.15"
- "esbuild-openbsd-64" "0.13.15"
- "esbuild-sunos-64" "0.13.15"
- "esbuild-windows-32" "0.13.15"
- "esbuild-windows-64" "0.13.15"
- "esbuild-windows-arm64" "0.13.15"
+ esbuild-android-arm64 "0.13.15"
+ esbuild-darwin-64 "0.13.15"
+ esbuild-darwin-arm64 "0.13.15"
+ esbuild-freebsd-64 "0.13.15"
+ esbuild-freebsd-arm64 "0.13.15"
+ esbuild-linux-32 "0.13.15"
+ esbuild-linux-64 "0.13.15"
+ esbuild-linux-arm "0.13.15"
+ esbuild-linux-arm64 "0.13.15"
+ esbuild-linux-mips64le "0.13.15"
+ esbuild-linux-ppc64le "0.13.15"
+ esbuild-netbsd-64 "0.13.15"
+ esbuild-openbsd-64 "0.13.15"
+ esbuild-sunos-64 "0.13.15"
+ esbuild-windows-32 "0.13.15"
+ esbuild-windows-64 "0.13.15"
+ esbuild-windows-arm64 "0.13.15"
-"escalade@^3.1.1":
- "integrity" "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA="
- "resolved" "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602567224085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz"
- "version" "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=1602567224085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz"
+ integrity sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=
-"escape-string-regexp@^1.0.2":
- "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
- "resolved" "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz"
- "version" "1.0.5"
+escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
-"escape-string-regexp@^1.0.5":
- "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
- "resolved" "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz"
- "version" "1.0.5"
+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"
+ integrity sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=
-"escape-string-regexp@^4.0.0":
- "integrity" "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ="
- "resolved" "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz"
- "version" "4.0.0"
+eslint-config-standard@^16.0.3:
+ version "16.0.3"
+ resolved "https://registry.npmmirror.com/eslint-config-standard/download/eslint-config-standard-16.0.3.tgz"
+ integrity sha1-bIdh5UTpbFMf+SZC7rh4QrhIhRY=
-"escape-string-regexp@1.0.5":
- "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
- "resolved" "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz"
- "version" "1.0.5"
-
-"eslint-config-standard@^16.0.3":
- "integrity" "sha1-bIdh5UTpbFMf+SZC7rh4QrhIhRY="
- "resolved" "https://registry.npmmirror.com/eslint-config-standard/download/eslint-config-standard-16.0.3.tgz"
- "version" "16.0.3"
-
-"eslint-import-resolver-node@^0.3.6":
- "integrity" "sha1-QEi5WDldqJZoJSAB29nsprg7rL0="
- "resolved" "https://registry.nlark.com/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.6.tgz?cache=0&sync_timestamp=1629046546232&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-import-resolver-node%2Fdownload%2Feslint-import-resolver-node-0.3.6.tgz"
- "version" "0.3.6"
+eslint-import-resolver-node@^0.3.6:
+ version "0.3.6"
+ resolved "https://registry.nlark.com/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.6.tgz?cache=0&sync_timestamp=1629046546232&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-import-resolver-node%2Fdownload%2Feslint-import-resolver-node-0.3.6.tgz"
+ integrity sha1-QEi5WDldqJZoJSAB29nsprg7rL0=
dependencies:
- "debug" "^3.2.7"
- "resolve" "^1.20.0"
+ debug "^3.2.7"
+ resolve "^1.20.0"
-"eslint-module-utils@^2.7.2":
- "integrity" "sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg=="
- "resolved" "https://registry.npmmirror.com/eslint-module-utils/download/eslint-module-utils-2.7.2.tgz"
- "version" "2.7.2"
+eslint-module-utils@^2.7.2:
+ version "2.7.2"
+ resolved "https://registry.npmmirror.com/eslint-module-utils/download/eslint-module-utils-2.7.2.tgz"
+ integrity sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg==
dependencies:
- "debug" "^3.2.7"
- "find-up" "^2.1.0"
+ debug "^3.2.7"
+ find-up "^2.1.0"
-"eslint-plugin-es@^3.0.0":
- "integrity" "sha1-dafN/czdwFiZNK7rOEF18iHFeJM="
- "resolved" "https://registry.npm.taobao.org/eslint-plugin-es/download/eslint-plugin-es-3.0.1.tgz?cache=0&sync_timestamp=1605769798981&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-es%2Fdownload%2Feslint-plugin-es-3.0.1.tgz"
- "version" "3.0.1"
+eslint-plugin-es@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/eslint-plugin-es/download/eslint-plugin-es-3.0.1.tgz?cache=0&sync_timestamp=1605769798981&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-es%2Fdownload%2Feslint-plugin-es-3.0.1.tgz"
+ integrity sha1-dafN/czdwFiZNK7rOEF18iHFeJM=
dependencies:
- "eslint-utils" "^2.0.0"
- "regexpp" "^3.0.0"
+ eslint-utils "^2.0.0"
+ regexpp "^3.0.0"
-"eslint-plugin-import@^2.22.1", "eslint-plugin-import@^2.23.4":
- "integrity" "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA=="
- "resolved" "https://registry.npmmirror.com/eslint-plugin-import/download/eslint-plugin-import-2.25.4.tgz"
- "version" "2.25.4"
+eslint-plugin-import@^2.23.4:
+ version "2.25.4"
+ resolved "https://registry.npmmirror.com/eslint-plugin-import/download/eslint-plugin-import-2.25.4.tgz"
+ integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==
dependencies:
- "array-includes" "^3.1.4"
- "array.prototype.flat" "^1.2.5"
- "debug" "^2.6.9"
- "doctrine" "^2.1.0"
- "eslint-import-resolver-node" "^0.3.6"
- "eslint-module-utils" "^2.7.2"
- "has" "^1.0.3"
- "is-core-module" "^2.8.0"
- "is-glob" "^4.0.3"
- "minimatch" "^3.0.4"
- "object.values" "^1.1.5"
- "resolve" "^1.20.0"
- "tsconfig-paths" "^3.12.0"
+ array-includes "^3.1.4"
+ array.prototype.flat "^1.2.5"
+ debug "^2.6.9"
+ doctrine "^2.1.0"
+ eslint-import-resolver-node "^0.3.6"
+ eslint-module-utils "^2.7.2"
+ has "^1.0.3"
+ is-core-module "^2.8.0"
+ is-glob "^4.0.3"
+ minimatch "^3.0.4"
+ object.values "^1.1.5"
+ resolve "^1.20.0"
+ tsconfig-paths "^3.12.0"
-"eslint-plugin-node@^11.1.0":
- "integrity" "sha1-yVVEQW7kraJnQKMEdO78VALcZx0="
- "resolved" "https://registry.npmmirror.com/eslint-plugin-node/download/eslint-plugin-node-11.1.0.tgz"
- "version" "11.1.0"
+eslint-plugin-node@^11.1.0:
+ version "11.1.0"
+ resolved "https://registry.npmmirror.com/eslint-plugin-node/download/eslint-plugin-node-11.1.0.tgz"
+ integrity sha1-yVVEQW7kraJnQKMEdO78VALcZx0=
dependencies:
- "eslint-plugin-es" "^3.0.0"
- "eslint-utils" "^2.0.0"
- "ignore" "^5.1.1"
- "minimatch" "^3.0.4"
- "resolve" "^1.10.1"
- "semver" "^6.1.0"
+ eslint-plugin-es "^3.0.0"
+ eslint-utils "^2.0.0"
+ ignore "^5.1.1"
+ minimatch "^3.0.4"
+ resolve "^1.10.1"
+ semver "^6.1.0"
-"eslint-plugin-promise@^4.2.1 || ^5.0.0", "eslint-plugin-promise@^5.1.0":
- "integrity" "sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw=="
- "resolved" "https://registry.npmmirror.com/eslint-plugin-promise/download/eslint-plugin-promise-5.2.0.tgz"
- "version" "5.2.0"
+eslint-plugin-promise@^5.1.0:
+ version "5.2.0"
+ resolved "https://registry.npmmirror.com/eslint-plugin-promise/download/eslint-plugin-promise-5.2.0.tgz"
+ integrity sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==
-"eslint-plugin-vue@^7.13.0":
- "integrity" "sha512-oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw=="
- "resolved" "https://registry.npmmirror.com/eslint-plugin-vue/download/eslint-plugin-vue-7.20.0.tgz"
- "version" "7.20.0"
+eslint-plugin-vue@^7.13.0:
+ version "7.20.0"
+ resolved "https://registry.npmmirror.com/eslint-plugin-vue/download/eslint-plugin-vue-7.20.0.tgz"
+ integrity sha512-oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw==
dependencies:
- "eslint-utils" "^2.1.0"
- "natural-compare" "^1.4.0"
- "semver" "^6.3.0"
- "vue-eslint-parser" "^7.10.0"
+ eslint-utils "^2.1.0"
+ natural-compare "^1.4.0"
+ semver "^6.3.0"
+ vue-eslint-parser "^7.10.0"
-"eslint-scope@^5.1.1":
- "integrity" "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw="
- "resolved" "https://registry.npmmirror.com/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1637466913662&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz"
- "version" "5.1.1"
+eslint-scope@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmmirror.com/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1637466913662&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz"
+ integrity sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=
dependencies:
- "esrecurse" "^4.3.0"
- "estraverse" "^4.1.1"
+ esrecurse "^4.3.0"
+ estraverse "^4.1.1"
-"eslint-utils@^2.0.0":
- "integrity" "sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc="
- "resolved" "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz"
- "version" "2.1.0"
+eslint-utils@^2.0.0, eslint-utils@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz"
+ integrity sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=
dependencies:
- "eslint-visitor-keys" "^1.1.0"
+ eslint-visitor-keys "^1.1.0"
-"eslint-utils@^2.1.0":
- "integrity" "sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc="
- "resolved" "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz"
- "version" "2.1.0"
+eslint-utils@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.nlark.com/eslint-utils/download/eslint-utils-3.0.0.tgz"
+ integrity sha1-iuuvrOc0W7M1WdsKHxOh0tSMNnI=
dependencies:
- "eslint-visitor-keys" "^1.1.0"
+ eslint-visitor-keys "^2.0.0"
-"eslint-utils@^3.0.0":
- "integrity" "sha1-iuuvrOc0W7M1WdsKHxOh0tSMNnI="
- "resolved" "https://registry.nlark.com/eslint-utils/download/eslint-utils-3.0.0.tgz"
- "version" "3.0.0"
- dependencies:
- "eslint-visitor-keys" "^2.0.0"
+eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1636378395014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz"
+ integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=
-"eslint-visitor-keys@^1.1.0":
- "integrity" "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4="
- "resolved" "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1636378395014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz"
- "version" "1.3.0"
+eslint-visitor-keys@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz?cache=0&sync_timestamp=1636378395014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-2.1.0.tgz"
+ integrity sha1-9lMoJZMFknOSyTjtROsKXJsr0wM=
-"eslint-visitor-keys@^1.3.0":
- "integrity" "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4="
- "resolved" "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1636378395014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz"
- "version" "1.3.0"
+eslint-visitor-keys@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-3.1.0.tgz?cache=0&sync_timestamp=1636378395014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-3.1.0.tgz"
+ integrity sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==
-"eslint-visitor-keys@^2.0.0":
- "integrity" "sha1-9lMoJZMFknOSyTjtROsKXJsr0wM="
- "resolved" "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz?cache=0&sync_timestamp=1636378395014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-2.1.0.tgz"
- "version" "2.1.0"
-
-"eslint-visitor-keys@^3.0.0":
- "integrity" "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA=="
- "resolved" "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-3.1.0.tgz?cache=0&sync_timestamp=1636378395014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-3.1.0.tgz"
- "version" "3.1.0"
-
-"eslint@*", "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.2.0 || ^7.0.0 || ^8.0.0", "eslint@^7.0.0", "eslint@^7.12.1", "eslint@^7.26.0", "eslint@^7.30.0", "eslint@>=4.19.1", "eslint@>=5", "eslint@>=5.0.0", "eslint@>=5.16.0":
- "integrity" "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA=="
- "resolved" "https://registry.npmmirror.com/eslint/download/eslint-7.32.0.tgz"
- "version" "7.32.0"
+eslint@^7.26.0, eslint@^7.30.0:
+ version "7.32.0"
+ resolved "https://registry.npmmirror.com/eslint/download/eslint-7.32.0.tgz"
+ integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==
dependencies:
"@babel/code-frame" "7.12.11"
"@eslint/eslintrc" "^0.4.3"
"@humanwhocodes/config-array" "^0.5.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"
- "escape-string-regexp" "^4.0.0"
- "eslint-scope" "^5.1.1"
- "eslint-utils" "^2.1.0"
- "eslint-visitor-keys" "^2.0.0"
- "espree" "^7.3.1"
- "esquery" "^1.4.0"
- "esutils" "^2.0.2"
- "fast-deep-equal" "^3.1.3"
- "file-entry-cache" "^6.0.1"
- "functional-red-black-tree" "^1.0.1"
- "glob-parent" "^5.1.2"
- "globals" "^13.6.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.merge" "^4.6.2"
- "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" "^6.0.9"
- "text-table" "^0.2.0"
- "v8-compile-cache" "^2.0.3"
+ 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"
+ escape-string-regexp "^4.0.0"
+ eslint-scope "^5.1.1"
+ eslint-utils "^2.1.0"
+ eslint-visitor-keys "^2.0.0"
+ espree "^7.3.1"
+ esquery "^1.4.0"
+ esutils "^2.0.2"
+ fast-deep-equal "^3.1.3"
+ file-entry-cache "^6.0.1"
+ functional-red-black-tree "^1.0.1"
+ glob-parent "^5.1.2"
+ globals "^13.6.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.merge "^4.6.2"
+ 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 "^6.0.9"
+ text-table "^0.2.0"
+ v8-compile-cache "^2.0.3"
-"espree@^6.2.1":
- "integrity" "sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o="
- "resolved" "https://registry.npmmirror.com/espree/download/espree-6.2.1.tgz"
- "version" "6.2.1"
+espree@^6.2.1:
+ version "6.2.1"
+ resolved "https://registry.npmmirror.com/espree/download/espree-6.2.1.tgz"
+ integrity sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o=
dependencies:
- "acorn" "^7.1.1"
- "acorn-jsx" "^5.2.0"
- "eslint-visitor-keys" "^1.1.0"
+ acorn "^7.1.1"
+ acorn-jsx "^5.2.0"
+ eslint-visitor-keys "^1.1.0"
-"espree@^7.3.0", "espree@^7.3.1":
- "integrity" "sha1-8t8zC3Usb1UBn4vYm3ZgA5wbu7Y="
- "resolved" "https://registry.npmmirror.com/espree/download/espree-7.3.1.tgz"
- "version" "7.3.1"
+espree@^7.3.0, espree@^7.3.1:
+ version "7.3.1"
+ resolved "https://registry.npmmirror.com/espree/download/espree-7.3.1.tgz"
+ integrity sha1-8t8zC3Usb1UBn4vYm3ZgA5wbu7Y=
dependencies:
- "acorn" "^7.4.0"
- "acorn-jsx" "^5.3.1"
- "eslint-visitor-keys" "^1.3.0"
+ acorn "^7.4.0"
+ acorn-jsx "^5.3.1"
+ eslint-visitor-keys "^1.3.0"
-"esprima@^4.0.0":
- "integrity" "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE="
- "resolved" "https://registry.nlark.com/esprima/download/esprima-4.0.1.tgz"
- "version" "4.0.1"
+esprima@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.nlark.com/esprima/download/esprima-4.0.1.tgz"
+ integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=
-"esquery@^1.4.0":
- "integrity" "sha1-IUj/w4uC6McFff7UhCWz5h8PJKU="
- "resolved" "https://registry.npm.taobao.org/esquery/download/esquery-1.4.0.tgz"
- "version" "1.4.0"
+esquery@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npm.taobao.org/esquery/download/esquery-1.4.0.tgz"
+ integrity sha1-IUj/w4uC6McFff7UhCWz5h8PJKU=
dependencies:
- "estraverse" "^5.1.0"
+ estraverse "^5.1.0"
-"esrecurse@^4.3.0":
- "integrity" "sha1-eteWTWeauyi+5yzsY3WLHF0smSE="
- "resolved" "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz"
- "version" "4.3.0"
+esrecurse@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz"
+ integrity sha1-eteWTWeauyi+5yzsY3WLHF0smSE=
dependencies:
- "estraverse" "^5.2.0"
+ estraverse "^5.2.0"
-"estraverse@^4.1.1":
- "integrity" "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0="
- "resolved" "https://registry.npmmirror.com/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz"
- "version" "4.3.0"
+estraverse@^4.1.1:
+ version "4.3.0"
+ resolved "https://registry.npmmirror.com/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz"
+ integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=
-"estraverse@^5.1.0":
- "integrity" "sha1-LupSkHAvJquP5TcDcP+GyWXSESM="
- "resolved" "https://registry.npmmirror.com/estraverse/download/estraverse-5.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-5.3.0.tgz"
- "version" "5.3.0"
+estraverse@^5.1.0, estraverse@^5.2.0:
+ version "5.3.0"
+ resolved "https://registry.npmmirror.com/estraverse/download/estraverse-5.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-5.3.0.tgz"
+ integrity sha1-LupSkHAvJquP5TcDcP+GyWXSESM=
-"estraverse@^5.2.0":
- "integrity" "sha1-LupSkHAvJquP5TcDcP+GyWXSESM="
- "resolved" "https://registry.npmmirror.com/estraverse/download/estraverse-5.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-5.3.0.tgz"
- "version" "5.3.0"
+estree-walker@^2.0.1, estree-walker@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/estree-walker/download/estree-walker-2.0.2.tgz"
+ integrity sha1-UvAQF4wqTBF6d1fP6UKtt9LaTKw=
-"estree-walker@^2.0.1", "estree-walker@^2.0.2":
- "integrity" "sha1-UvAQF4wqTBF6d1fP6UKtt9LaTKw="
- "resolved" "https://registry.npmmirror.com/estree-walker/download/estree-walker-2.0.2.tgz"
- "version" "2.0.2"
+esutils@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz"
+ integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=
-"esutils@^2.0.2":
- "integrity" "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q="
- "resolved" "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz"
- "version" "2.0.3"
+etag@^1.8.1:
+ version "1.8.1"
+ resolved "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz"
+ integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
-"etag@^1.8.1":
- "integrity" "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
- "resolved" "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz"
- "version" "1.8.1"
-
-"expand-brackets@^2.1.4":
- "integrity" "sha1-t3c14xXOMPa27/D4OwQVGiJEliI="
- "resolved" "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz"
- "version" "2.1.4"
+expand-brackets@^2.1.4:
+ version "2.1.4"
+ resolved "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz"
+ integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
dependencies:
- "debug" "^2.3.3"
- "define-property" "^0.2.5"
- "extend-shallow" "^2.0.1"
- "posix-character-classes" "^0.1.0"
- "regex-not" "^1.0.0"
- "snapdragon" "^0.8.1"
- "to-regex" "^3.0.1"
+ debug "^2.3.3"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ posix-character-classes "^0.1.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
-"extend-shallow@^2.0.1":
- "integrity" "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8="
- "resolved" "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz"
- "version" "2.0.1"
+extend-shallow@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz"
+ integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
dependencies:
- "is-extendable" "^0.1.0"
+ is-extendable "^0.1.0"
-"extend-shallow@^3.0.0":
- "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg="
- "resolved" "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz"
- "version" "3.0.2"
+extend-shallow@^3.0.0, extend-shallow@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz"
+ integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
dependencies:
- "assign-symbols" "^1.0.0"
- "is-extendable" "^1.0.1"
+ assign-symbols "^1.0.0"
+ is-extendable "^1.0.1"
-"extend-shallow@^3.0.2":
- "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg="
- "resolved" "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz"
- "version" "3.0.2"
+extglob@^2.0.2:
+ version "2.0.4"
+ resolved "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz"
+ integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=
dependencies:
- "assign-symbols" "^1.0.0"
- "is-extendable" "^1.0.1"
+ array-unique "^0.3.2"
+ define-property "^1.0.0"
+ expand-brackets "^2.1.4"
+ extend-shallow "^2.0.1"
+ fragment-cache "^0.2.1"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
-"extglob@^2.0.2":
- "integrity" "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM="
- "resolved" "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz"
- "version" "2.0.4"
- dependencies:
- "array-unique" "^0.3.2"
- "define-property" "^1.0.0"
- "expand-brackets" "^2.1.4"
- "extend-shallow" "^2.0.1"
- "fragment-cache" "^0.2.1"
- "regex-not" "^1.0.0"
- "snapdragon" "^0.8.1"
- "to-regex" "^3.0.1"
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz"
+ integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=
-"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3":
- "integrity" "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU="
- "resolved" "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz"
- "version" "3.1.3"
-
-"fast-glob@^3.2.7", "fast-glob@^3.2.9":
- "integrity" "sha512-s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A=="
- "resolved" "https://registry.npmmirror.com/fast-glob/download/fast-glob-3.2.10.tgz"
- "version" "3.2.10"
+fast-glob@^3.2.7, fast-glob@^3.2.9:
+ version "3.2.10"
+ resolved "https://registry.npmmirror.com/fast-glob/download/fast-glob-3.2.10.tgz"
+ integrity sha512-s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A==
dependencies:
"@nodelib/fs.stat" "^2.0.2"
"@nodelib/fs.walk" "^1.2.3"
- "glob-parent" "^5.1.2"
- "merge2" "^1.3.0"
- "micromatch" "^4.0.4"
+ glob-parent "^5.1.2"
+ merge2 "^1.3.0"
+ micromatch "^4.0.4"
-"fast-json-stable-stringify@^2.0.0":
- "integrity" "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM="
- "resolved" "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz"
- "version" "2.1.0"
+fast-json-stable-stringify@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz"
+ integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=
-"fast-levenshtein@^2.0.6":
- "integrity" "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
- "resolved" "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz"
- "version" "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"
+ integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
-"fastq@^1.6.0":
- "integrity" "sha1-YWdg+Ip1Jr38WWt8q4wYk4w2uYw="
- "resolved" "https://registry.nlark.com/fastq/download/fastq-1.13.0.tgz"
- "version" "1.13.0"
+fastq@^1.6.0:
+ version "1.13.0"
+ resolved "https://registry.nlark.com/fastq/download/fastq-1.13.0.tgz"
+ integrity sha1-YWdg+Ip1Jr38WWt8q4wYk4w2uYw=
dependencies:
- "reusify" "^1.0.4"
+ reusify "^1.0.4"
-"file-entry-cache@^6.0.1":
- "integrity" "sha1-IRst2WWcsDlLBz5zI6w8kz1SICc="
- "resolved" "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-6.0.1.tgz?cache=0&sync_timestamp=1613794357372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-entry-cache%2Fdownload%2Ffile-entry-cache-6.0.1.tgz"
- "version" "6.0.1"
+file-entry-cache@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-6.0.1.tgz?cache=0&sync_timestamp=1613794357372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-entry-cache%2Fdownload%2Ffile-entry-cache-6.0.1.tgz"
+ integrity sha1-IRst2WWcsDlLBz5zI6w8kz1SICc=
dependencies:
- "flat-cache" "^3.0.4"
+ flat-cache "^3.0.4"
-"fill-range@^4.0.0":
- "integrity" "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc="
- "resolved" "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz"
- "version" "4.0.0"
+fill-range@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz"
+ integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
dependencies:
- "extend-shallow" "^2.0.1"
- "is-number" "^3.0.0"
- "repeat-string" "^1.6.1"
- "to-regex-range" "^2.1.0"
+ extend-shallow "^2.0.1"
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+ to-regex-range "^2.1.0"
-"fill-range@^7.0.1":
- "integrity" "sha1-GRmmp8df44ssfHflGYU12prN2kA="
- "resolved" "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz"
- "version" "7.0.1"
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz"
+ integrity sha1-GRmmp8df44ssfHflGYU12prN2kA=
dependencies:
- "to-regex-range" "^5.0.1"
+ to-regex-range "^5.0.1"
-"filter-obj@^1.1.0":
- "integrity" "sha1-mzERErxsYSehbgFsbF1/GeCAXFs="
- "resolved" "https://registry.nlark.com/filter-obj/download/filter-obj-1.1.0.tgz?cache=0&sync_timestamp=1630004006859&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffilter-obj%2Fdownload%2Ffilter-obj-1.1.0.tgz"
- "version" "1.1.0"
+filter-obj@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.nlark.com/filter-obj/download/filter-obj-1.1.0.tgz?cache=0&sync_timestamp=1630004006859&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffilter-obj%2Fdownload%2Ffilter-obj-1.1.0.tgz"
+ integrity sha1-mzERErxsYSehbgFsbF1/GeCAXFs=
-"find-up@^2.1.0":
- "integrity" "sha1-RdG35QbHF93UgndaK3eSCjwMV6c="
- "resolved" "https://registry.npmmirror.com/find-up/download/find-up-2.1.0.tgz"
- "version" "2.1.0"
+find-up@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/find-up/download/find-up-2.1.0.tgz"
+ integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
dependencies:
- "locate-path" "^2.0.0"
+ locate-path "^2.0.0"
-"flat-cache@^3.0.4":
- "integrity" "sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE="
- "resolved" "https://registry.nlark.com/flat-cache/download/flat-cache-3.0.4.tgz"
- "version" "3.0.4"
+flat-cache@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.nlark.com/flat-cache/download/flat-cache-3.0.4.tgz"
+ integrity sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=
dependencies:
- "flatted" "^3.1.0"
- "rimraf" "^3.0.2"
+ flatted "^3.1.0"
+ rimraf "^3.0.2"
-"flatted@^3.1.0":
- "integrity" "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw=="
- "resolved" "https://registry.npmmirror.com/flatted/download/flatted-3.2.4.tgz?cache=0&sync_timestamp=1636473813364&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fflatted%2Fdownload%2Fflatted-3.2.4.tgz"
- "version" "3.2.4"
+flatted@^3.1.0:
+ version "3.2.4"
+ resolved "https://registry.npmmirror.com/flatted/download/flatted-3.2.4.tgz?cache=0&sync_timestamp=1636473813364&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fflatted%2Fdownload%2Fflatted-3.2.4.tgz"
+ integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==
-"follow-redirects@^1.14.0":
- "integrity" "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ=="
- "resolved" "https://registry.npmmirror.com/follow-redirects/download/follow-redirects-1.14.7.tgz"
- "version" "1.14.7"
+follow-redirects@^1.14.0:
+ version "1.14.7"
+ resolved "https://registry.npmmirror.com/follow-redirects/download/follow-redirects-1.14.7.tgz"
+ integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==
-"for-in@^1.0.2":
- "integrity" "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
- "resolved" "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz"
- "version" "1.0.2"
+for-in@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz"
+ integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
-"fragment-cache@^0.2.1":
- "integrity" "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk="
- "resolved" "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz"
- "version" "0.2.1"
+fragment-cache@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz"
+ integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
dependencies:
- "map-cache" "^0.2.2"
+ map-cache "^0.2.2"
-"fs-extra@^10.0.0":
- "integrity" "sha1-n/YbZV3eU/s0qC34S7IUzoAuF8E="
- "resolved" "https://registry.nlark.com/fs-extra/download/fs-extra-10.0.0.tgz?cache=0&sync_timestamp=1622604476909&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffs-extra%2Fdownload%2Ffs-extra-10.0.0.tgz"
- "version" "10.0.0"
+fs-extra@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.nlark.com/fs-extra/download/fs-extra-10.0.0.tgz?cache=0&sync_timestamp=1622604476909&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffs-extra%2Fdownload%2Ffs-extra-10.0.0.tgz"
+ integrity sha1-n/YbZV3eU/s0qC34S7IUzoAuF8E=
dependencies:
- "graceful-fs" "^4.2.0"
- "jsonfile" "^6.0.1"
- "universalify" "^2.0.0"
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
-"fs.realpath@^1.0.0":
- "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
- "resolved" "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz"
- "version" "1.0.0"
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz"
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
-"fsevents@~2.3.2":
- "integrity" "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro="
- "resolved" "https://registry.npmmirror.com/fsevents/download/fsevents-2.3.2.tgz"
- "version" "2.3.2"
+fsevents@~2.3.2:
+ version "2.3.2"
+ resolved "https://registry.npmmirror.com/fsevents/download/fsevents-2.3.2.tgz"
+ integrity sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=
-"fstream@^1.0.12":
- "integrity" "sha1-Touo7i1Ivk99DeUFRVVI6uWTIEU="
- "resolved" "https://registry.npm.taobao.org/fstream/download/fstream-1.0.12.tgz"
- "version" "1.0.12"
+fstream@^1.0.12:
+ version "1.0.12"
+ resolved "https://registry.npm.taobao.org/fstream/download/fstream-1.0.12.tgz"
+ integrity sha1-Touo7i1Ivk99DeUFRVVI6uWTIEU=
dependencies:
- "graceful-fs" "^4.1.2"
- "inherits" "~2.0.0"
- "mkdirp" ">=0.5 0"
- "rimraf" "2"
+ graceful-fs "^4.1.2"
+ inherits "~2.0.0"
+ mkdirp ">=0.5 0"
+ rimraf "2"
-"function-bind@^1.1.1":
- "integrity" "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0="
- "resolved" "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz"
- "version" "1.1.1"
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz"
+ integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=
-"functional-red-black-tree@^1.0.1":
- "integrity" "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc="
- "resolved" "https://registry.nlark.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz?cache=0&sync_timestamp=1626768951311&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffunctional-red-black-tree%2Fdownload%2Ffunctional-red-black-tree-1.0.1.tgz"
- "version" "1.0.1"
+functional-red-black-tree@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.nlark.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz?cache=0&sync_timestamp=1626768951311&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffunctional-red-black-tree%2Fdownload%2Ffunctional-red-black-tree-1.0.1.tgz"
+ integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
-"gensync@^1.0.0-beta.2":
- "integrity" "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA="
- "resolved" "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.2.tgz"
- "version" "1.0.0-beta.2"
+gensync@^1.0.0-beta.2:
+ version "1.0.0-beta.2"
+ resolved "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.2.tgz"
+ integrity sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=
-"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.0", "get-intrinsic@^1.1.1":
- "integrity" "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y="
- "resolved" "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz"
- "version" "1.1.1"
+get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz"
+ integrity sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=
dependencies:
- "function-bind" "^1.1.1"
- "has" "^1.0.3"
- "has-symbols" "^1.0.1"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.1"
-"get-symbol-description@^1.0.0":
- "integrity" "sha1-f9uByQAQH71WTdXxowr1qtweWNY="
- "resolved" "https://registry.nlark.com/get-symbol-description/download/get-symbol-description-1.0.0.tgz"
- "version" "1.0.0"
+get-symbol-description@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.nlark.com/get-symbol-description/download/get-symbol-description-1.0.0.tgz"
+ integrity sha1-f9uByQAQH71WTdXxowr1qtweWNY=
dependencies:
- "call-bind" "^1.0.2"
- "get-intrinsic" "^1.1.1"
+ call-bind "^1.0.2"
+ get-intrinsic "^1.1.1"
-"get-value@^2.0.3", "get-value@^2.0.6":
- "integrity" "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
- "resolved" "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz"
- "version" "2.0.6"
+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"
+ integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
-"glob-parent@^5.1.2", "glob-parent@~5.1.2":
- "integrity" "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ="
- "resolved" "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz"
- "version" "5.1.2"
+glob-parent@^5.1.2, glob-parent@~5.1.2:
+ version "5.1.2"
+ resolved "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz"
+ integrity sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=
dependencies:
- "is-glob" "^4.0.1"
+ is-glob "^4.0.1"
-"glob@^7.1.3":
- "integrity" "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q=="
- "resolved" "https://registry.npmmirror.com/glob/download/glob-7.2.0.tgz"
- "version" "7.2.0"
+glob@^7.1.3:
+ version "7.2.0"
+ resolved "https://registry.npmmirror.com/glob/download/glob-7.2.0.tgz"
+ integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
dependencies:
- "fs.realpath" "^1.0.0"
- "inflight" "^1.0.4"
- "inherits" "2"
- "minimatch" "^3.0.4"
- "once" "^1.3.0"
- "path-is-absolute" "^1.0.0"
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
-"globals@^11.1.0":
- "integrity" "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4="
- "resolved" "https://registry.npmmirror.com/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz"
- "version" "11.12.0"
+globals@^11.1.0:
+ version "11.12.0"
+ resolved "https://registry.npmmirror.com/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz"
+ integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=
-"globals@^13.6.0", "globals@^13.9.0":
- "integrity" "sha1-TXM3YDBCMKAILtluIeXFZfiYCJ4="
- "resolved" "https://registry.npmmirror.com/globals/download/globals-13.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-13.12.0.tgz"
- "version" "13.12.0"
+globals@^13.6.0, globals@^13.9.0:
+ version "13.12.0"
+ resolved "https://registry.npmmirror.com/globals/download/globals-13.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-13.12.0.tgz"
+ integrity sha1-TXM3YDBCMKAILtluIeXFZfiYCJ4=
dependencies:
- "type-fest" "^0.20.2"
+ type-fest "^0.20.2"
-"globby@^11.0.4":
- "integrity" "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g=="
- "resolved" "https://registry.npmmirror.com/globby/download/globby-11.1.0.tgz"
- "version" "11.1.0"
+globby@^11.0.4:
+ version "11.1.0"
+ resolved "https://registry.npmmirror.com/globby/download/globby-11.1.0.tgz"
+ integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
dependencies:
- "array-union" "^2.1.0"
- "dir-glob" "^3.0.1"
- "fast-glob" "^3.2.9"
- "ignore" "^5.2.0"
- "merge2" "^1.4.1"
- "slash" "^3.0.0"
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.2.9"
+ ignore "^5.2.0"
+ merge2 "^1.4.1"
+ slash "^3.0.0"
-"graceful-fs@^4.1.2", "graceful-fs@^4.1.6", "graceful-fs@^4.2.0", "graceful-fs@^4.2.2":
- "integrity" "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ=="
- "resolved" "https://registry.npmmirror.com/graceful-fs/download/graceful-fs-4.2.9.tgz"
- "version" "4.2.9"
+graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2:
+ version "4.2.9"
+ resolved "https://registry.npmmirror.com/graceful-fs/download/graceful-fs-4.2.9.tgz"
+ integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
-"has-ansi@^2.0.0":
- "integrity" "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE="
- "resolved" "https://registry.nlark.com/has-ansi/download/has-ansi-2.0.0.tgz?cache=0&sync_timestamp=1631556755105&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-ansi%2Fdownload%2Fhas-ansi-2.0.0.tgz"
- "version" "2.0.0"
+has-ansi@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.nlark.com/has-ansi/download/has-ansi-2.0.0.tgz?cache=0&sync_timestamp=1631556755105&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-ansi%2Fdownload%2Fhas-ansi-2.0.0.tgz"
+ integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
dependencies:
- "ansi-regex" "^2.0.0"
+ ansi-regex "^2.0.0"
-"has-bigints@^1.0.1":
- "integrity" "sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM="
- "resolved" "https://registry.npm.taobao.org/has-bigints/download/has-bigints-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-bigints%2Fdownload%2Fhas-bigints-1.0.1.tgz"
- "version" "1.0.1"
+has-bigints@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/has-bigints/download/has-bigints-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-bigints%2Fdownload%2Fhas-bigints-1.0.1.tgz"
+ integrity sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=
-"has-flag@^1.0.0":
- "integrity" "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- "resolved" "https://registry.nlark.com/has-flag/download/has-flag-1.0.0.tgz"
- "version" "1.0.0"
+has-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.nlark.com/has-flag/download/has-flag-1.0.0.tgz"
+ integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=
-"has-flag@^3.0.0":
- "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
- "resolved" "https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz"
- "version" "3.0.0"
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz"
+ integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
-"has-flag@^4.0.0":
- "integrity" "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s="
- "resolved" "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz"
- "version" "4.0.0"
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz"
+ integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=
-"has-symbols@^1.0.1", "has-symbols@^1.0.2":
- "integrity" "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM="
- "resolved" "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz"
- "version" "1.0.2"
+has-symbols@^1.0.1, has-symbols@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz"
+ integrity sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=
-"has-tostringtag@^1.0.0":
- "integrity" "sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU="
- "resolved" "https://registry.nlark.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz"
- "version" "1.0.0"
+has-tostringtag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.nlark.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz"
+ integrity sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU=
dependencies:
- "has-symbols" "^1.0.2"
+ has-symbols "^1.0.2"
-"has-value@^0.3.1":
- "integrity" "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8="
- "resolved" "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz"
- "version" "0.3.1"
+has-value@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz"
+ integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
dependencies:
- "get-value" "^2.0.3"
- "has-values" "^0.1.4"
- "isobject" "^2.0.0"
+ get-value "^2.0.3"
+ has-values "^0.1.4"
+ isobject "^2.0.0"
-"has-value@^1.0.0":
- "integrity" "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc="
- "resolved" "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz"
- "version" "1.0.0"
+has-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz"
+ integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
dependencies:
- "get-value" "^2.0.6"
- "has-values" "^1.0.0"
- "isobject" "^3.0.0"
+ get-value "^2.0.6"
+ has-values "^1.0.0"
+ isobject "^3.0.0"
-"has-values@^0.1.4":
- "integrity" "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
- "resolved" "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz"
- "version" "0.1.4"
+has-values@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz"
+ integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
-"has-values@^1.0.0":
- "integrity" "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8="
- "resolved" "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz"
- "version" "1.0.0"
+has-values@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz"
+ integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
dependencies:
- "is-number" "^3.0.0"
- "kind-of" "^4.0.0"
+ is-number "^3.0.0"
+ kind-of "^4.0.0"
-"has@^1.0.3":
- "integrity" "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y="
- "resolved" "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz"
- "version" "1.0.3"
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz"
+ integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=
dependencies:
- "function-bind" "^1.1.1"
+ function-bind "^1.1.1"
-"he@^1.1.1":
- "integrity" "sha1-hK5l+n6vsWX922FWauFLrwVmTw8="
- "resolved" "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz"
- "version" "1.2.0"
+he@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz"
+ integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8=
-"header-case@^2.0.4":
- "integrity" "sha1-WkLmO1UXc0nPQFvrjXdayruSwGM="
- "resolved" "https://registry.npm.taobao.org/header-case/download/header-case-2.0.4.tgz"
- "version" "2.0.4"
+header-case@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.npm.taobao.org/header-case/download/header-case-2.0.4.tgz"
+ integrity sha1-WkLmO1UXc0nPQFvrjXdayruSwGM=
dependencies:
- "capital-case" "^1.0.4"
- "tslib" "^2.0.3"
+ capital-case "^1.0.4"
+ tslib "^2.0.3"
-"htmlparser2@^3.8.3":
- "integrity" "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8="
- "resolved" "https://registry.npmmirror.com/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1636640933377&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz"
- "version" "3.10.1"
+htmlparser2@^3.8.3:
+ version "3.10.1"
+ resolved "https://registry.npmmirror.com/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1636640933377&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz"
+ integrity sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=
dependencies:
- "domelementtype" "^1.3.1"
- "domhandler" "^2.3.0"
- "domutils" "^1.5.1"
- "entities" "^1.1.1"
- "inherits" "^2.0.1"
- "readable-stream" "^3.1.1"
+ domelementtype "^1.3.1"
+ domhandler "^2.3.0"
+ domutils "^1.5.1"
+ entities "^1.1.1"
+ inherits "^2.0.1"
+ readable-stream "^3.1.1"
-"ignore@^4.0.6":
- "integrity" "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg=="
- "resolved" "https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz"
- "version" "4.0.6"
+ignore@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz"
+ integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
-"ignore@^5.1.1", "ignore@^5.1.8", "ignore@^5.2.0":
- "integrity" "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ=="
- "resolved" "https://registry.npmmirror.com/ignore/download/ignore-5.2.0.tgz"
- "version" "5.2.0"
+ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.npmmirror.com/ignore/download/ignore-5.2.0.tgz"
+ integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
-"image-size@^0.5.1":
- "integrity" "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w="
- "resolved" "https://registry.npmmirror.com/image-size/download/image-size-0.5.5.tgz"
- "version" "0.5.5"
+image-size@^0.5.1:
+ version "0.5.5"
+ resolved "https://registry.npmmirror.com/image-size/download/image-size-0.5.5.tgz"
+ integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=
-"immutable@^4.0.0":
- "integrity" "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw=="
- "resolved" "https://registry.npmmirror.com/immutable/download/immutable-4.0.0.tgz"
- "version" "4.0.0"
+immutable@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/immutable/download/immutable-4.0.0.tgz"
+ integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==
-"import-fresh@^3.0.0", "import-fresh@^3.2.1":
- "integrity" "sha1-NxYsJfy566oublPVtNiM4X2eDCs="
- "resolved" "https://registry.nlark.com/import-fresh/download/import-fresh-3.3.0.tgz"
- "version" "3.3.0"
+import-fresh@^3.0.0, import-fresh@^3.2.1:
+ version "3.3.0"
+ resolved "https://registry.nlark.com/import-fresh/download/import-fresh-3.3.0.tgz"
+ integrity sha1-NxYsJfy566oublPVtNiM4X2eDCs=
dependencies:
- "parent-module" "^1.0.0"
- "resolve-from" "^4.0.0"
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
-"imurmurhash@^0.1.4":
- "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o="
- "resolved" "https://registry.nlark.com/imurmurhash/download/imurmurhash-0.1.4.tgz"
- "version" "0.1.4"
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.nlark.com/imurmurhash/download/imurmurhash-0.1.4.tgz"
+ integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
-"inflight@^1.0.4":
- "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk="
- "resolved" "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz"
- "version" "1.0.6"
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz"
+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
dependencies:
- "once" "^1.3.0"
- "wrappy" "1"
+ once "^1.3.0"
+ wrappy "1"
-"inherits@^2.0.1", "inherits@^2.0.3", "inherits@~2.0.0", "inherits@~2.0.3", "inherits@2":
- "integrity" "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w="
- "resolved" "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz"
- "version" "2.0.4"
+inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.3:
+ version "2.0.4"
+ resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz"
+ integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=
-"internal-slot@^1.0.3":
- "integrity" "sha1-c0fjB97uovqsKsYgXUvH00ln9Zw="
- "resolved" "https://registry.npm.taobao.org/internal-slot/download/internal-slot-1.0.3.tgz?cache=0&sync_timestamp=1611694392178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-slot%2Fdownload%2Finternal-slot-1.0.3.tgz"
- "version" "1.0.3"
+internal-slot@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/internal-slot/download/internal-slot-1.0.3.tgz?cache=0&sync_timestamp=1611694392178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-slot%2Fdownload%2Finternal-slot-1.0.3.tgz"
+ integrity sha1-c0fjB97uovqsKsYgXUvH00ln9Zw=
dependencies:
- "get-intrinsic" "^1.1.0"
- "has" "^1.0.3"
- "side-channel" "^1.0.4"
+ get-intrinsic "^1.1.0"
+ has "^1.0.3"
+ side-channel "^1.0.4"
-"is-accessor-descriptor@^0.1.6":
- "integrity" "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY="
- "resolved" "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz"
- "version" "0.1.6"
+is-accessor-descriptor@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz"
+ integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
dependencies:
- "kind-of" "^3.0.2"
+ kind-of "^3.0.2"
-"is-accessor-descriptor@^1.0.0":
- "integrity" "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY="
- "resolved" "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz"
- "version" "1.0.0"
+is-accessor-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz"
+ integrity sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=
dependencies:
- "kind-of" "^6.0.0"
+ kind-of "^6.0.0"
-"is-bigint@^1.0.1":
- "integrity" "sha1-CBR6GHW8KzIAXUHM2Ckd/8ZpHfM="
- "resolved" "https://registry.nlark.com/is-bigint/download/is-bigint-1.0.4.tgz"
- "version" "1.0.4"
+is-bigint@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.nlark.com/is-bigint/download/is-bigint-1.0.4.tgz"
+ integrity sha1-CBR6GHW8KzIAXUHM2Ckd/8ZpHfM=
dependencies:
- "has-bigints" "^1.0.1"
+ has-bigints "^1.0.1"
-"is-binary-path@~2.1.0":
- "integrity" "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk="
- "resolved" "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz"
- "version" "2.1.0"
+is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz"
+ integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=
dependencies:
- "binary-extensions" "^2.0.0"
+ binary-extensions "^2.0.0"
-"is-boolean-object@^1.1.0":
- "integrity" "sha1-XG3CACRt2TIa5LiFoRS7H3X2Nxk="
- "resolved" "https://registry.nlark.com/is-boolean-object/download/is-boolean-object-1.1.2.tgz"
- "version" "1.1.2"
+is-boolean-object@^1.1.0:
+ version "1.1.2"
+ resolved "https://registry.nlark.com/is-boolean-object/download/is-boolean-object-1.1.2.tgz"
+ integrity sha1-XG3CACRt2TIa5LiFoRS7H3X2Nxk=
dependencies:
- "call-bind" "^1.0.2"
- "has-tostringtag" "^1.0.0"
+ call-bind "^1.0.2"
+ has-tostringtag "^1.0.0"
-"is-buffer@^1.1.5":
- "integrity" "sha1-76ouqdqg16suoTqXsritUf776L4="
- "resolved" "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz?cache=0&sync_timestamp=1604429452232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-1.1.6.tgz"
- "version" "1.1.6"
+is-buffer@^1.1.5:
+ version "1.1.6"
+ resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz?cache=0&sync_timestamp=1604429452232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-1.1.6.tgz"
+ integrity sha1-76ouqdqg16suoTqXsritUf776L4=
-"is-callable@^1.1.4", "is-callable@^1.2.4":
- "integrity" "sha1-RzAdWN0CWUB4ZVR4U99tYf5HGUU="
- "resolved" "https://registry.nlark.com/is-callable/download/is-callable-1.2.4.tgz"
- "version" "1.2.4"
+is-callable@^1.1.4, is-callable@^1.2.4:
+ version "1.2.4"
+ resolved "https://registry.nlark.com/is-callable/download/is-callable-1.2.4.tgz"
+ integrity sha1-RzAdWN0CWUB4ZVR4U99tYf5HGUU=
-"is-core-module@^2.8.0":
- "integrity" "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA=="
- "resolved" "https://registry.npmmirror.com/is-core-module/download/is-core-module-2.8.1.tgz"
- "version" "2.8.1"
+is-core-module@^2.8.0:
+ version "2.8.1"
+ resolved "https://registry.npmmirror.com/is-core-module/download/is-core-module-2.8.1.tgz"
+ integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==
dependencies:
- "has" "^1.0.3"
+ has "^1.0.3"
-"is-data-descriptor@^0.1.4":
- "integrity" "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y="
- "resolved" "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz"
- "version" "0.1.4"
+is-data-descriptor@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz"
+ integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
dependencies:
- "kind-of" "^3.0.2"
+ kind-of "^3.0.2"
-"is-data-descriptor@^1.0.0":
- "integrity" "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc="
- "resolved" "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz"
- "version" "1.0.0"
+is-data-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz"
+ integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=
dependencies:
- "kind-of" "^6.0.0"
+ kind-of "^6.0.0"
-"is-date-object@^1.0.1":
- "integrity" "sha1-CEHVU25yTCVZe/bqYuG9OCmN8x8="
- "resolved" "https://registry.nlark.com/is-date-object/download/is-date-object-1.0.5.tgz"
- "version" "1.0.5"
+is-date-object@^1.0.1:
+ version "1.0.5"
+ resolved "https://registry.nlark.com/is-date-object/download/is-date-object-1.0.5.tgz"
+ integrity sha1-CEHVU25yTCVZe/bqYuG9OCmN8x8=
dependencies:
- "has-tostringtag" "^1.0.0"
+ has-tostringtag "^1.0.0"
-"is-descriptor@^0.1.0":
- "integrity" "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco="
- "resolved" "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz"
- "version" "0.1.6"
+is-descriptor@^0.1.0:
+ version "0.1.6"
+ resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz"
+ integrity sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=
dependencies:
- "is-accessor-descriptor" "^0.1.6"
- "is-data-descriptor" "^0.1.4"
- "kind-of" "^5.0.0"
+ is-accessor-descriptor "^0.1.6"
+ is-data-descriptor "^0.1.4"
+ kind-of "^5.0.0"
-"is-descriptor@^1.0.0", "is-descriptor@^1.0.2":
- "integrity" "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw="
- "resolved" "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz"
- "version" "1.0.2"
+is-descriptor@^1.0.0, is-descriptor@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz"
+ integrity sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=
dependencies:
- "is-accessor-descriptor" "^1.0.0"
- "is-data-descriptor" "^1.0.0"
- "kind-of" "^6.0.2"
+ is-accessor-descriptor "^1.0.0"
+ is-data-descriptor "^1.0.0"
+ kind-of "^6.0.2"
-"is-extendable@^0.1.0", "is-extendable@^0.1.1":
- "integrity" "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
- "resolved" "https://registry.nlark.com/is-extendable/download/is-extendable-0.1.1.tgz"
- "version" "0.1.1"
+is-extendable@^0.1.0, is-extendable@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.nlark.com/is-extendable/download/is-extendable-0.1.1.tgz"
+ integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
-"is-extendable@^1.0.1":
- "integrity" "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ="
- "resolved" "https://registry.nlark.com/is-extendable/download/is-extendable-1.0.1.tgz"
- "version" "1.0.1"
+is-extendable@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.nlark.com/is-extendable/download/is-extendable-1.0.1.tgz"
+ integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=
dependencies:
- "is-plain-object" "^2.0.4"
+ is-plain-object "^2.0.4"
-"is-extglob@^2.1.1":
- "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
- "resolved" "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz"
- "version" "2.1.1"
+is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz"
+ integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
-"is-fullwidth-code-point@^3.0.0":
- "integrity" "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0="
- "resolved" "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz?cache=0&sync_timestamp=1618552489864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-3.0.0.tgz"
- "version" "3.0.0"
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz?cache=0&sync_timestamp=1618552489864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-3.0.0.tgz"
+ integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=
-"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@^4.0.3", "is-glob@~4.0.1":
- "integrity" "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ="
- "resolved" "https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz"
- "version" "4.0.3"
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
+ version "4.0.3"
+ resolved "https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz"
+ integrity sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=
dependencies:
- "is-extglob" "^2.1.1"
+ is-extglob "^2.1.1"
-"is-negative-zero@^2.0.1":
- "integrity" "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA=="
- "resolved" "https://registry.npmmirror.com/is-negative-zero/download/is-negative-zero-2.0.2.tgz"
- "version" "2.0.2"
+is-negative-zero@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/is-negative-zero/download/is-negative-zero-2.0.2.tgz"
+ integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
-"is-number-object@^1.0.4":
- "integrity" "sha1-anqvg4x/BoalC0VT9+VKlklOifA="
- "resolved" "https://registry.nlark.com/is-number-object/download/is-number-object-1.0.6.tgz"
- "version" "1.0.6"
+is-number-object@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.nlark.com/is-number-object/download/is-number-object-1.0.6.tgz"
+ integrity sha1-anqvg4x/BoalC0VT9+VKlklOifA=
dependencies:
- "has-tostringtag" "^1.0.0"
+ has-tostringtag "^1.0.0"
-"is-number@^3.0.0":
- "integrity" "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU="
- "resolved" "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz"
- "version" "3.0.0"
+is-number@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz"
+ integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
dependencies:
- "kind-of" "^3.0.2"
+ kind-of "^3.0.2"
-"is-number@^7.0.0":
- "integrity" "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss="
- "resolved" "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz"
- "version" "7.0.0"
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz"
+ integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=
-"is-plain-obj@^1.1":
- "integrity" "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
- "resolved" "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz?cache=0&sync_timestamp=1618600489644&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-obj%2Fdownload%2Fis-plain-obj-1.1.0.tgz"
- "version" "1.1.0"
+is-plain-obj@^1.1:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz?cache=0&sync_timestamp=1618600489644&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-obj%2Fdownload%2Fis-plain-obj-1.1.0.tgz"
+ integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
-"is-plain-object@^2.0.3":
- "integrity" "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc="
- "resolved" "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz"
- "version" "2.0.4"
+is-plain-object@3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-3.0.1.tgz"
+ integrity sha1-Zi2S0kwKpDAkB7DUXSHyJRyF+Fs=
+
+is-plain-object@^2.0.3, is-plain-object@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz"
+ integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=
dependencies:
- "isobject" "^3.0.1"
+ isobject "^3.0.1"
-"is-plain-object@^2.0.4":
- "integrity" "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc="
- "resolved" "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz"
- "version" "2.0.4"
- dependencies:
- "isobject" "^3.0.1"
-
-"is-plain-object@3.0.1":
- "integrity" "sha1-Zi2S0kwKpDAkB7DUXSHyJRyF+Fs="
- "resolved" "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-3.0.1.tgz"
- "version" "3.0.1"
-
-"is-reference@^1.2.1":
- "integrity" "sha1-iy2sCzcfS8mU/eq6nrVC0DAC0Lc="
- "resolved" "https://registry.nlark.com/is-reference/download/is-reference-1.2.1.tgz"
- "version" "1.2.1"
+is-reference@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.nlark.com/is-reference/download/is-reference-1.2.1.tgz"
+ integrity sha1-iy2sCzcfS8mU/eq6nrVC0DAC0Lc=
dependencies:
"@types/estree" "*"
-"is-regex@^1.1.4":
- "integrity" "sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg="
- "resolved" "https://registry.nlark.com/is-regex/download/is-regex-1.1.4.tgz"
- "version" "1.1.4"
+is-regex@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.nlark.com/is-regex/download/is-regex-1.1.4.tgz"
+ integrity sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg=
dependencies:
- "call-bind" "^1.0.2"
- "has-tostringtag" "^1.0.0"
+ call-bind "^1.0.2"
+ has-tostringtag "^1.0.0"
-"is-shared-array-buffer@^1.0.1":
- "integrity" "sha1-l7DIX72stZycRG/mU7gs8rW3z+Y="
- "resolved" "https://registry.npmmirror.com/is-shared-array-buffer/download/is-shared-array-buffer-1.0.1.tgz"
- "version" "1.0.1"
+is-shared-array-buffer@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/is-shared-array-buffer/download/is-shared-array-buffer-1.0.1.tgz"
+ integrity sha1-l7DIX72stZycRG/mU7gs8rW3z+Y=
-"is-string@^1.0.5", "is-string@^1.0.7":
- "integrity" "sha1-DdEr8gBvJVu1j2lREO/3SR7rwP0="
- "resolved" "https://registry.nlark.com/is-string/download/is-string-1.0.7.tgz"
- "version" "1.0.7"
+is-string@^1.0.5, is-string@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.nlark.com/is-string/download/is-string-1.0.7.tgz"
+ integrity sha1-DdEr8gBvJVu1j2lREO/3SR7rwP0=
dependencies:
- "has-tostringtag" "^1.0.0"
+ has-tostringtag "^1.0.0"
-"is-symbol@^1.0.2", "is-symbol@^1.0.3":
- "integrity" "sha1-ptrJO2NbBjymhyI23oiRClevE5w="
- "resolved" "https://registry.nlark.com/is-symbol/download/is-symbol-1.0.4.tgz?cache=0&sync_timestamp=1620501174327&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.4.tgz"
- "version" "1.0.4"
+is-symbol@^1.0.2, is-symbol@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.nlark.com/is-symbol/download/is-symbol-1.0.4.tgz?cache=0&sync_timestamp=1620501174327&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.4.tgz"
+ integrity sha1-ptrJO2NbBjymhyI23oiRClevE5w=
dependencies:
- "has-symbols" "^1.0.2"
+ has-symbols "^1.0.2"
-"is-weakref@^1.0.1":
- "integrity" "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ=="
- "resolved" "https://registry.npmmirror.com/is-weakref/download/is-weakref-1.0.2.tgz"
- "version" "1.0.2"
+is-weakref@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/is-weakref/download/is-weakref-1.0.2.tgz"
+ integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
dependencies:
- "call-bind" "^1.0.2"
+ call-bind "^1.0.2"
-"is-windows@^1.0.2":
- "integrity" "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0="
- "resolved" "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz"
- "version" "1.0.2"
+is-windows@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz"
+ integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=
-"isarray@~1.0.0", "isarray@1.0.0":
- "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- "resolved" "https://registry.nlark.com/isarray/download/isarray-1.0.0.tgz"
- "version" "1.0.0"
+isarray@1.0.0, isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.nlark.com/isarray/download/isarray-1.0.0.tgz"
+ integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
-"isexe@^2.0.0":
- "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
- "resolved" "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz"
- "version" "2.0.0"
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz"
+ integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
-"isobject@^2.0.0":
- "integrity" "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA=="
- "resolved" "https://registry.npmmirror.com/isobject/download/isobject-2.1.0.tgz"
- "version" "2.1.0"
+isobject@^2.0.0, isobject@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/isobject/download/isobject-2.1.0.tgz"
+ integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==
dependencies:
- "isarray" "1.0.0"
+ isarray "1.0.0"
-"isobject@^2.1.0":
- "integrity" "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA=="
- "resolved" "https://registry.npmmirror.com/isobject/download/isobject-2.1.0.tgz"
- "version" "2.1.0"
+isobject@^3.0.0, isobject@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmmirror.com/isobject/download/isobject-3.0.1.tgz"
+ integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
+
+js-base64@^2.1.9:
+ version "2.6.4"
+ resolved "https://registry.npmmirror.com/js-base64/download/js-base64-2.6.4.tgz"
+ integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
+
+"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz?cache=0&sync_timestamp=1619345098261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-tokens%2Fdownload%2Fjs-tokens-4.0.0.tgz"
+ integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk=
+
+js-yaml@^3.13.1:
+ version "3.14.1"
+ resolved "https://registry.npmmirror.com/js-yaml/download/js-yaml-3.14.1.tgz"
+ integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
dependencies:
- "isarray" "1.0.0"
+ argparse "^1.0.7"
+ esprima "^4.0.0"
-"isobject@^3.0.0":
- "integrity" "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg=="
- "resolved" "https://registry.npmmirror.com/isobject/download/isobject-3.0.1.tgz"
- "version" "3.0.1"
+jsesc@^2.5.1:
+ version "2.5.2"
+ resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz?cache=0&sync_timestamp=1603891232110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-2.5.2.tgz"
+ integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=
-"isobject@^3.0.1":
- "integrity" "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg=="
- "resolved" "https://registry.npmmirror.com/isobject/download/isobject-3.0.1.tgz"
- "version" "3.0.1"
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1607999852153&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz"
+ integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA=
-"js-base64@^2.1.9":
- "integrity" "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
- "resolved" "https://registry.npmmirror.com/js-base64/download/js-base64-2.6.4.tgz"
- "version" "2.6.4"
+json-schema-traverse@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-1.0.0.tgz?cache=0&sync_timestamp=1607999852153&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-1.0.0.tgz"
+ integrity sha1-rnvLNlard6c7pcSb9lTzjmtoYOI=
-"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0":
- "integrity" "sha1-GSA/tZmR35jjoocFDUZHzerzJJk="
- "resolved" "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz?cache=0&sync_timestamp=1619345098261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-tokens%2Fdownload%2Fjs-tokens-4.0.0.tgz"
- "version" "4.0.0"
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz"
+ integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
-"js-yaml@^3.13.1":
- "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="
- "resolved" "https://registry.npmmirror.com/js-yaml/download/js-yaml-3.14.1.tgz"
- "version" "3.14.1"
+json5@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/json5/download/json5-1.0.1.tgz"
+ integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
dependencies:
- "argparse" "^1.0.7"
- "esprima" "^4.0.0"
+ minimist "^1.2.0"
-"jsesc@^2.5.1":
- "integrity" "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q="
- "resolved" "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz?cache=0&sync_timestamp=1603891232110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-2.5.2.tgz"
- "version" "2.5.2"
-
-"json-schema-traverse@^0.4.1":
- "integrity" "sha1-afaofZUTq4u4/mO9sJecRI5oRmA="
- "resolved" "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1607999852153&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz"
- "version" "0.4.1"
-
-"json-schema-traverse@^1.0.0":
- "integrity" "sha1-rnvLNlard6c7pcSb9lTzjmtoYOI="
- "resolved" "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-1.0.0.tgz?cache=0&sync_timestamp=1607999852153&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-1.0.0.tgz"
- "version" "1.0.0"
-
-"json-stable-stringify-without-jsonify@^1.0.1":
- "integrity" "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE="
- "resolved" "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz"
- "version" "1.0.1"
-
-"json5@^1.0.1":
- "integrity" "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow=="
- "resolved" "https://registry.npmmirror.com/json5/download/json5-1.0.1.tgz"
- "version" "1.0.1"
+json5@^2.1.2:
+ version "2.2.0"
+ resolved "https://registry.npmmirror.com/json5/download/json5-2.2.0.tgz"
+ integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
dependencies:
- "minimist" "^1.2.0"
+ minimist "^1.2.5"
-"json5@^2.1.2":
- "integrity" "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA=="
- "resolved" "https://registry.npmmirror.com/json5/download/json5-2.2.0.tgz"
- "version" "2.2.0"
+jsonfile@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.nlark.com/jsonfile/download/jsonfile-6.1.0.tgz"
+ integrity sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4=
dependencies:
- "minimist" "^1.2.5"
-
-"jsonfile@^6.0.1":
- "integrity" "sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4="
- "resolved" "https://registry.nlark.com/jsonfile/download/jsonfile-6.1.0.tgz"
- "version" "6.1.0"
- dependencies:
- "universalify" "^2.0.0"
+ universalify "^2.0.0"
optionalDependencies:
- "graceful-fs" "^4.1.6"
+ graceful-fs "^4.1.6"
-"kind-of@^3.0.2", "kind-of@^3.0.3":
- "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ="
- "resolved" "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz"
- "version" "3.2.2"
+kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
+ version "3.2.2"
+ resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz"
+ integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
dependencies:
- "is-buffer" "^1.1.5"
+ is-buffer "^1.1.5"
-"kind-of@^3.2.0":
- "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ="
- "resolved" "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz"
- "version" "3.2.2"
+kind-of@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz"
+ integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
dependencies:
- "is-buffer" "^1.1.5"
+ is-buffer "^1.1.5"
-"kind-of@^4.0.0":
- "integrity" "sha1-IIE989cSkosgc3hpGkUGb65y3Vc="
- "resolved" "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz"
- "version" "4.0.0"
+kind-of@^5.0.0, kind-of@^5.0.2:
+ version "5.1.0"
+ resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz"
+ integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=
+
+kind-of@^6.0.0, kind-of@^6.0.2:
+ version "6.0.3"
+ resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz"
+ integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=
+
+levn@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.npm.taobao.org/levn/download/levn-0.4.1.tgz"
+ integrity sha1-rkViwAdHO5MqYgDUAyaN0v/8at4=
dependencies:
- "is-buffer" "^1.1.5"
+ prelude-ls "^1.2.1"
+ type-check "~0.4.0"
-"kind-of@^5.0.0", "kind-of@^5.0.2":
- "integrity" "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0="
- "resolved" "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz"
- "version" "5.1.0"
+listenercount@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/listenercount/download/listenercount-1.0.1.tgz"
+ integrity sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=
-"kind-of@^6.0.0":
- "integrity" "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0="
- "resolved" "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz"
- "version" "6.0.3"
-
-"kind-of@^6.0.2":
- "integrity" "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0="
- "resolved" "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz"
- "version" "6.0.3"
-
-"levn@^0.4.1":
- "integrity" "sha1-rkViwAdHO5MqYgDUAyaN0v/8at4="
- "resolved" "https://registry.npm.taobao.org/levn/download/levn-0.4.1.tgz"
- "version" "0.4.1"
+loader-utils@^1.1.0:
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/loader-utils/download/loader-utils-1.4.0.tgz"
+ integrity sha1-xXm140yzSxp07cbB+za/o3HVphM=
dependencies:
- "prelude-ls" "^1.2.1"
- "type-check" "~0.4.0"
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^1.0.1"
-"listenercount@~1.0.1":
- "integrity" "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc="
- "resolved" "https://registry.npm.taobao.org/listenercount/download/listenercount-1.0.1.tgz"
- "version" "1.0.1"
-
-"loader-utils@^1.1.0":
- "integrity" "sha1-xXm140yzSxp07cbB+za/o3HVphM="
- "resolved" "https://registry.npmmirror.com/loader-utils/download/loader-utils-1.4.0.tgz"
- "version" "1.4.0"
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.nlark.com/locate-path/download/locate-path-2.0.0.tgz?cache=0&sync_timestamp=1629895618224&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-2.0.0.tgz"
+ integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
dependencies:
- "big.js" "^5.2.2"
- "emojis-list" "^3.0.0"
- "json5" "^1.0.1"
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
-"locate-path@^2.0.0":
- "integrity" "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4="
- "resolved" "https://registry.nlark.com/locate-path/download/locate-path-2.0.0.tgz?cache=0&sync_timestamp=1629895618224&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-2.0.0.tgz"
- "version" "2.0.0"
+lodash-es@^4.17.15:
+ version "4.17.21"
+ resolved "https://registry.npmmirror.com/lodash-es/download/lodash-es-4.17.21.tgz"
+ integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
+
+lodash.merge@^4.6.2:
+ version "4.6.2"
+ resolved "https://registry.npm.taobao.org/lodash.merge/download/lodash.merge-4.6.2.tgz"
+ integrity sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo=
+
+lodash.truncate@^4.4.2:
+ version "4.4.2"
+ resolved "https://registry.nlark.com/lodash.truncate/download/lodash.truncate-4.4.2.tgz"
+ integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=
+
+lodash@^4.17.15, lodash@^4.17.21:
+ version "4.17.21"
+ resolved "https://registry.npmmirror.com/lodash/download/lodash-4.17.21.tgz"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+loose-envify@^1.0.0:
+ version "1.4.0"
+ resolved "https://registry.nlark.com/loose-envify/download/loose-envify-1.4.0.tgz?cache=0&sync_timestamp=1631633000868&other_urls=https%3A%2F%2Fregistry.nlark.com%2Floose-envify%2Fdownload%2Floose-envify-1.4.0.tgz"
+ integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=
dependencies:
- "p-locate" "^2.0.0"
- "path-exists" "^3.0.0"
+ js-tokens "^3.0.0 || ^4.0.0"
-"lodash-es@^4.17.15":
- "integrity" "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
- "resolved" "https://registry.npmmirror.com/lodash-es/download/lodash-es-4.17.21.tgz"
- "version" "4.17.21"
-
-"lodash.merge@^4.6.2":
- "integrity" "sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo="
- "resolved" "https://registry.npm.taobao.org/lodash.merge/download/lodash.merge-4.6.2.tgz"
- "version" "4.6.2"
-
-"lodash.truncate@^4.4.2":
- "integrity" "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM="
- "resolved" "https://registry.nlark.com/lodash.truncate/download/lodash.truncate-4.4.2.tgz"
- "version" "4.4.2"
-
-"lodash@^4.17.15", "lodash@^4.17.21":
- "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- "resolved" "https://registry.npmmirror.com/lodash/download/lodash-4.17.21.tgz"
- "version" "4.17.21"
-
-"loose-envify@^1.0.0":
- "integrity" "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8="
- "resolved" "https://registry.nlark.com/loose-envify/download/loose-envify-1.4.0.tgz?cache=0&sync_timestamp=1631633000868&other_urls=https%3A%2F%2Fregistry.nlark.com%2Floose-envify%2Fdownload%2Floose-envify-1.4.0.tgz"
- "version" "1.4.0"
+lower-case@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/lower-case/download/lower-case-2.0.2.tgz?cache=0&sync_timestamp=1606867333511&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flower-case%2Fdownload%2Flower-case-2.0.2.tgz"
+ integrity sha1-b6I3xj29xKgsoP2ILkci3F5jTig=
dependencies:
- "js-tokens" "^3.0.0 || ^4.0.0"
+ tslib "^2.0.3"
-"lower-case@^2.0.2":
- "integrity" "sha1-b6I3xj29xKgsoP2ILkci3F5jTig="
- "resolved" "https://registry.npm.taobao.org/lower-case/download/lower-case-2.0.2.tgz?cache=0&sync_timestamp=1606867333511&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flower-case%2Fdownload%2Flower-case-2.0.2.tgz"
- "version" "2.0.2"
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz?cache=0&sync_timestamp=1599054167787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-6.0.0.tgz"
+ integrity sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=
dependencies:
- "tslib" "^2.0.3"
+ yallist "^4.0.0"
-"lru-cache@^6.0.0":
- "integrity" "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ="
- "resolved" "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz?cache=0&sync_timestamp=1599054167787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-6.0.0.tgz"
- "version" "6.0.0"
+magic-string@^0.25.7:
+ version "0.25.7"
+ resolved "https://registry.npm.taobao.org/magic-string/download/magic-string-0.25.7.tgz"
+ integrity sha1-P0l9b9NMZpxnmNy4IfLvMfVEUFE=
dependencies:
- "yallist" "^4.0.0"
+ sourcemap-codec "^1.4.4"
-"magic-string@^0.25.7":
- "integrity" "sha1-P0l9b9NMZpxnmNy4IfLvMfVEUFE="
- "resolved" "https://registry.npm.taobao.org/magic-string/download/magic-string-0.25.7.tgz"
- "version" "0.25.7"
+map-cache@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz"
+ integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
+
+map-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.nlark.com/map-visit/download/map-visit-1.0.0.tgz"
+ integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
dependencies:
- "sourcemap-codec" "^1.4.4"
+ object-visit "^1.0.0"
-"map-cache@^0.2.2":
- "integrity" "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
- "resolved" "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz"
- "version" "0.2.2"
+mdn-data@2.0.14:
+ version "2.0.14"
+ resolved "https://registry.npmmirror.com/mdn-data/download/mdn-data-2.0.14.tgz"
+ integrity sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA=
-"map-visit@^1.0.0":
- "integrity" "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48="
- "resolved" "https://registry.nlark.com/map-visit/download/map-visit-1.0.0.tgz"
- "version" "1.0.0"
+merge-options@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/merge-options/download/merge-options-1.0.1.tgz"
+ integrity sha1-KmSyRFe+zU5NxggoMkfpTOWJqjI=
dependencies:
- "object-visit" "^1.0.0"
+ is-plain-obj "^1.1"
-"mdn-data@2.0.14":
- "integrity" "sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA="
- "resolved" "https://registry.npmmirror.com/mdn-data/download/mdn-data-2.0.14.tgz"
- "version" "2.0.14"
+merge2@^1.3.0, merge2@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz"
+ integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=
-"merge-options@1.0.1":
- "integrity" "sha1-KmSyRFe+zU5NxggoMkfpTOWJqjI="
- "resolved" "https://registry.npm.taobao.org/merge-options/download/merge-options-1.0.1.tgz"
- "version" "1.0.1"
+micromatch@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.0.tgz?cache=0&sync_timestamp=1618054740956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.0.tgz"
+ integrity sha1-UQLU6vILaZfWAI46z+HESj+oFeI=
dependencies:
- "is-plain-obj" "^1.1"
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ braces "^2.2.2"
+ define-property "^1.0.0"
+ extend-shallow "^2.0.1"
+ extglob "^2.0.2"
+ fragment-cache "^0.2.1"
+ kind-of "^5.0.2"
+ nanomatch "^1.2.1"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
-"merge2@^1.3.0", "merge2@^1.4.1":
- "integrity" "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4="
- "resolved" "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz"
- "version" "1.4.1"
-
-"micromatch@^4.0.4":
- "integrity" "sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k="
- "resolved" "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.4.tgz?cache=0&sync_timestamp=1618054740956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-4.0.4.tgz"
- "version" "4.0.4"
+micromatch@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.4.tgz?cache=0&sync_timestamp=1618054740956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-4.0.4.tgz"
+ integrity sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k=
dependencies:
- "braces" "^3.0.1"
- "picomatch" "^2.2.3"
+ braces "^3.0.1"
+ picomatch "^2.2.3"
-"micromatch@3.1.0":
- "integrity" "sha1-UQLU6vILaZfWAI46z+HESj+oFeI="
- "resolved" "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.0.tgz?cache=0&sync_timestamp=1618054740956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.0.tgz"
- "version" "3.1.0"
+minimatch@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz"
+ integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=
dependencies:
- "arr-diff" "^4.0.0"
- "array-unique" "^0.3.2"
- "braces" "^2.2.2"
- "define-property" "^1.0.0"
- "extend-shallow" "^2.0.1"
- "extglob" "^2.0.2"
- "fragment-cache" "^0.2.1"
- "kind-of" "^5.0.2"
- "nanomatch" "^1.2.1"
- "object.pick" "^1.3.0"
- "regex-not" "^1.0.0"
- "snapdragon" "^0.8.1"
- "to-regex" "^3.0.1"
+ brace-expansion "^1.1.7"
-"minimatch@^3.0.4":
- "integrity" "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM="
- "resolved" "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz"
- "version" "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"
+ integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=
+
+mitt@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/mitt/-/mitt-3.0.0.tgz#69ef9bd5c80ff6f57473e8d89326d01c414be0bd"
+ integrity sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==
+
+mixin-deep@^1.2.0:
+ version "1.3.2"
+ resolved "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz"
+ integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=
dependencies:
- "brace-expansion" "^1.1.7"
-
-"minimist@^1.2.0", "minimist@^1.2.5":
- "integrity" "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI="
- "resolved" "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz"
- "version" "1.2.5"
-
-"mixin-deep@^1.2.0":
- "integrity" "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY="
- "resolved" "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz"
- "version" "1.3.2"
- dependencies:
- "for-in" "^1.0.2"
- "is-extendable" "^1.0.1"
+ for-in "^1.0.2"
+ is-extendable "^1.0.1"
"mkdirp@>=0.5 0":
- "integrity" "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8="
- "resolved" "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1636300883420&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz"
- "version" "0.5.5"
+ version "0.5.5"
+ resolved "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1636300883420&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz"
+ integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=
dependencies:
- "minimist" "^1.2.5"
+ minimist "^1.2.5"
-"moment@^2.27.0":
- "integrity" "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
- "resolved" "https://registry.npmmirror.com/moment/download/moment-2.29.1.tgz"
- "version" "2.29.1"
+moment@^2.27.0:
+ version "2.29.1"
+ resolved "https://registry.npmmirror.com/moment/download/moment-2.29.1.tgz"
+ integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
-"ms@^2.1.1", "ms@2.1.2":
- "integrity" "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
- "resolved" "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz"
- "version" "2.1.2"
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz"
+ integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
-"ms@2.0.0":
- "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- "resolved" "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz"
- "version" "2.0.0"
+ms@2.1.2, ms@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz"
+ integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=
-"mutation-observer@^1.0.3":
- "integrity" "sha1-QukiKxAbyoLlup1aes9KFMDyY9A="
- "resolved" "https://registry.npm.taobao.org/mutation-observer/download/mutation-observer-1.0.3.tgz"
- "version" "1.0.3"
+mutation-observer@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/mutation-observer/download/mutation-observer-1.0.3.tgz"
+ integrity sha1-QukiKxAbyoLlup1aes9KFMDyY9A=
-"nanoid@^3.1.30":
- "integrity" "sha512-ZivnJm0o9bb13p2Ot5CpgC2rQdzB9Uxm/mFZweqm5eMViqOJe3PV6LU2E30SiLgheesmcPrjquqraoolONSA0A=="
- "resolved" "https://registry.npmmirror.com/nanoid/download/nanoid-3.1.31.tgz"
- "version" "3.1.31"
+nanoid@^3.1.30:
+ version "3.1.31"
+ resolved "https://registry.npmmirror.com/nanoid/download/nanoid-3.1.31.tgz"
+ integrity sha512-ZivnJm0o9bb13p2Ot5CpgC2rQdzB9Uxm/mFZweqm5eMViqOJe3PV6LU2E30SiLgheesmcPrjquqraoolONSA0A==
-"nanomatch@^1.2.1":
- "integrity" "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk="
- "resolved" "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz"
- "version" "1.2.13"
+nanomatch@^1.2.1:
+ version "1.2.13"
+ resolved "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz"
+ integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=
dependencies:
- "arr-diff" "^4.0.0"
- "array-unique" "^0.3.2"
- "define-property" "^2.0.2"
- "extend-shallow" "^3.0.2"
- "fragment-cache" "^0.2.1"
- "is-windows" "^1.0.2"
- "kind-of" "^6.0.2"
- "object.pick" "^1.3.0"
- "regex-not" "^1.0.0"
- "snapdragon" "^0.8.1"
- "to-regex" "^3.0.1"
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ fragment-cache "^0.2.1"
+ is-windows "^1.0.2"
+ kind-of "^6.0.2"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
-"nanopop@^2.1.0":
- "integrity" "sha1-I0dlE87iQFiIr9LopLVAZrcLnmA="
- "resolved" "https://registry.npm.taobao.org/nanopop/download/nanopop-2.1.0.tgz"
- "version" "2.1.0"
+nanopop@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/nanopop/download/nanopop-2.1.0.tgz"
+ integrity sha1-I0dlE87iQFiIr9LopLVAZrcLnmA=
-"natural-compare@^1.4.0":
- "integrity" "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc="
- "resolved" "https://registry.nlark.com/natural-compare/download/natural-compare-1.4.0.tgz"
- "version" "1.4.0"
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.nlark.com/natural-compare/download/natural-compare-1.4.0.tgz"
+ integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
-"no-case@^3.0.4":
- "integrity" "sha1-02H9XJgA9VhVGoNp/A3NRmK2Ek0="
- "resolved" "https://registry.npm.taobao.org/no-case/download/no-case-3.0.4.tgz?cache=0&sync_timestamp=1606867308811&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fno-case%2Fdownload%2Fno-case-3.0.4.tgz"
- "version" "3.0.4"
+no-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.npm.taobao.org/no-case/download/no-case-3.0.4.tgz?cache=0&sync_timestamp=1606867308811&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fno-case%2Fdownload%2Fno-case-3.0.4.tgz"
+ integrity sha1-02H9XJgA9VhVGoNp/A3NRmK2Ek0=
dependencies:
- "lower-case" "^2.0.2"
- "tslib" "^2.0.3"
+ lower-case "^2.0.2"
+ tslib "^2.0.3"
-"node-releases@^2.0.1":
- "integrity" "sha1-PR05XyBPHy8ppUNYuftnh2WtL8U="
- "resolved" "https://registry.npmmirror.com/node-releases/download/node-releases-2.0.1.tgz"
- "version" "2.0.1"
+node-releases@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/node-releases/download/node-releases-2.0.1.tgz"
+ integrity sha1-PR05XyBPHy8ppUNYuftnh2WtL8U=
-"normalize-path@^3.0.0", "normalize-path@~3.0.0":
- "integrity" "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU="
- "resolved" "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz"
- "version" "3.0.0"
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz"
+ integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=
-"nth-check@^2.0.1":
- "integrity" "sha1-Lv4WL1w9oGoolZ+9PbddvuqfD8I="
- "resolved" "https://registry.nlark.com/nth-check/download/nth-check-2.0.1.tgz?cache=0&sync_timestamp=1631793617973&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnth-check%2Fdownload%2Fnth-check-2.0.1.tgz"
- "version" "2.0.1"
+nth-check@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.nlark.com/nth-check/download/nth-check-2.0.1.tgz?cache=0&sync_timestamp=1631793617973&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnth-check%2Fdownload%2Fnth-check-2.0.1.tgz"
+ integrity sha1-Lv4WL1w9oGoolZ+9PbddvuqfD8I=
dependencies:
- "boolbase" "^1.0.0"
+ boolbase "^1.0.0"
-"object-assign@^4", "object-assign@^4.1.0":
- "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
- "resolved" "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz"
- "version" "4.1.1"
+object-assign@^4, object-assign@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz"
+ integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
-"object-copy@^0.1.0":
- "integrity" "sha1-fn2Fi3gb18mRpBupde04EnVOmYw="
- "resolved" "https://registry.nlark.com/object-copy/download/object-copy-0.1.0.tgz"
- "version" "0.1.0"
+object-copy@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.nlark.com/object-copy/download/object-copy-0.1.0.tgz"
+ integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
dependencies:
- "copy-descriptor" "^0.1.0"
- "define-property" "^0.2.5"
- "kind-of" "^3.0.3"
+ copy-descriptor "^0.1.0"
+ define-property "^0.2.5"
+ kind-of "^3.0.3"
-"object-inspect@^1.11.0", "object-inspect@^1.9.0":
- "integrity" "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g=="
- "resolved" "https://registry.npmmirror.com/object-inspect/download/object-inspect-1.12.0.tgz"
- "version" "1.12.0"
+object-inspect@^1.11.0, object-inspect@^1.9.0:
+ version "1.12.0"
+ resolved "https://registry.npmmirror.com/object-inspect/download/object-inspect-1.12.0.tgz"
+ integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==
-"object-keys@^1.0.12", "object-keys@^1.1.1":
- "integrity" "sha1-HEfyct8nfzsdrwYWd9nILiMixg4="
- "resolved" "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz"
- "version" "1.1.1"
+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"
+ integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4=
-"object-visit@^1.0.0":
- "integrity" "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs="
- "resolved" "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz"
- "version" "1.0.1"
+object-visit@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz"
+ integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
dependencies:
- "isobject" "^3.0.0"
+ isobject "^3.0.0"
-"object.assign@^4.1.2":
- "integrity" "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA="
- "resolved" "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604115158081&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz"
- "version" "4.1.2"
+object.assign@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604115158081&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz"
+ integrity sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=
dependencies:
- "call-bind" "^1.0.0"
- "define-properties" "^1.1.3"
- "has-symbols" "^1.0.1"
- "object-keys" "^1.1.1"
+ call-bind "^1.0.0"
+ define-properties "^1.1.3"
+ has-symbols "^1.0.1"
+ object-keys "^1.1.1"
-"object.pick@^1.3.0":
- "integrity" "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c="
- "resolved" "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz"
- "version" "1.3.0"
+object.pick@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz"
+ integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
dependencies:
- "isobject" "^3.0.1"
+ isobject "^3.0.1"
-"object.values@^1.1.5":
- "integrity" "sha1-lZ9j486e8QhyAzMIITHkpFm3Fqw="
- "resolved" "https://registry.npmmirror.com/object.values/download/object.values-1.1.5.tgz"
- "version" "1.1.5"
+object.values@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.npmmirror.com/object.values/download/object.values-1.1.5.tgz"
+ integrity sha1-lZ9j486e8QhyAzMIITHkpFm3Fqw=
dependencies:
- "call-bind" "^1.0.2"
- "define-properties" "^1.1.3"
- "es-abstract" "^1.19.1"
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.1"
-"omit.js@^2.0.0":
- "integrity" "sha1-3ZuENvq5R6Xz/yFMslOGMeMT7C8="
- "resolved" "https://registry.npm.taobao.org/omit.js/download/omit.js-2.0.2.tgz"
- "version" "2.0.2"
+omit.js@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/omit.js/download/omit.js-2.0.2.tgz"
+ integrity sha1-3ZuENvq5R6Xz/yFMslOGMeMT7C8=
-"once@^1.3.0":
- "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
- "resolved" "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz"
- "version" "1.4.0"
+once@^1.3.0:
+ version "1.4.0"
+ resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz"
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
dependencies:
- "wrappy" "1"
+ wrappy "1"
-"optionator@^0.9.1":
- "integrity" "sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk="
- "resolved" "https://registry.npm.taobao.org/optionator/download/optionator-0.9.1.tgz"
- "version" "0.9.1"
+optionator@^0.9.1:
+ version "0.9.1"
+ resolved "https://registry.npm.taobao.org/optionator/download/optionator-0.9.1.tgz"
+ 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"
+ 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"
-"p-limit@^1.1.0":
- "integrity" "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg="
- "resolved" "https://registry.nlark.com/p-limit/download/p-limit-1.3.0.tgz"
- "version" "1.3.0"
+p-limit@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.nlark.com/p-limit/download/p-limit-1.3.0.tgz"
+ integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=
dependencies:
- "p-try" "^1.0.0"
+ p-try "^1.0.0"
-"p-locate@^2.0.0":
- "integrity" "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM="
- "resolved" "https://registry.nlark.com/p-locate/download/p-locate-2.0.0.tgz?cache=0&sync_timestamp=1629892721671&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-2.0.0.tgz"
- "version" "2.0.0"
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.nlark.com/p-locate/download/p-locate-2.0.0.tgz?cache=0&sync_timestamp=1629892721671&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-2.0.0.tgz"
+ integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
dependencies:
- "p-limit" "^1.1.0"
+ p-limit "^1.1.0"
-"p-try@^1.0.0":
- "integrity" "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
- "resolved" "https://registry.npmmirror.com/p-try/download/p-try-1.0.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-1.0.0.tgz"
- "version" "1.0.0"
+p-try@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/p-try/download/p-try-1.0.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-1.0.0.tgz"
+ integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
-"param-case@^3.0.4":
- "integrity" "sha1-fRf+SqEr3jTUp32RrPtiGcqtAcU="
- "resolved" "https://registry.npm.taobao.org/param-case/download/param-case-3.0.4.tgz?cache=0&sync_timestamp=1606867292797&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparam-case%2Fdownload%2Fparam-case-3.0.4.tgz"
- "version" "3.0.4"
+param-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.npm.taobao.org/param-case/download/param-case-3.0.4.tgz?cache=0&sync_timestamp=1606867292797&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparam-case%2Fdownload%2Fparam-case-3.0.4.tgz"
+ integrity sha1-fRf+SqEr3jTUp32RrPtiGcqtAcU=
dependencies:
- "dot-case" "^3.0.4"
- "tslib" "^2.0.3"
+ dot-case "^3.0.4"
+ tslib "^2.0.3"
-"parent-module@^1.0.0":
- "integrity" "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI="
- "resolved" "https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz"
- "version" "1.0.1"
+parent-module@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz"
+ integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=
dependencies:
- "callsites" "^3.0.0"
+ callsites "^3.0.0"
-"pascal-case@^3.1.2":
- "integrity" "sha1-tI4O8rmOIF58Ha50fQsVCCN2YOs="
- "resolved" "https://registry.npm.taobao.org/pascal-case/download/pascal-case-3.1.2.tgz?cache=0&sync_timestamp=1606867325163&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpascal-case%2Fdownload%2Fpascal-case-3.1.2.tgz"
- "version" "3.1.2"
+pascal-case@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.npm.taobao.org/pascal-case/download/pascal-case-3.1.2.tgz?cache=0&sync_timestamp=1606867325163&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpascal-case%2Fdownload%2Fpascal-case-3.1.2.tgz"
+ integrity sha1-tI4O8rmOIF58Ha50fQsVCCN2YOs=
dependencies:
- "no-case" "^3.0.4"
- "tslib" "^2.0.3"
+ no-case "^3.0.4"
+ tslib "^2.0.3"
-"pascalcase@^0.1.1":
- "integrity" "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
- "resolved" "https://registry.npmmirror.com/pascalcase/download/pascalcase-0.1.1.tgz"
- "version" "0.1.1"
+pascalcase@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/pascalcase/download/pascalcase-0.1.1.tgz"
+ integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
-"path-case@^3.0.4":
- "integrity" "sha1-kWhkUzTrlCZYN1xW+AtMDLX4LG8="
- "resolved" "https://registry.npm.taobao.org/path-case/download/path-case-3.0.4.tgz?cache=0&sync_timestamp=1606867325967&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-case%2Fdownload%2Fpath-case-3.0.4.tgz"
- "version" "3.0.4"
+path-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.npm.taobao.org/path-case/download/path-case-3.0.4.tgz?cache=0&sync_timestamp=1606867325967&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-case%2Fdownload%2Fpath-case-3.0.4.tgz"
+ integrity sha1-kWhkUzTrlCZYN1xW+AtMDLX4LG8=
dependencies:
- "dot-case" "^3.0.4"
- "tslib" "^2.0.3"
+ dot-case "^3.0.4"
+ tslib "^2.0.3"
-"path-exists@^3.0.0":
- "integrity" "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
- "resolved" "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz"
- "version" "3.0.0"
+path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz"
+ integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
-"path-is-absolute@^1.0.0":
- "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
- "resolved" "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz"
- "version" "1.0.1"
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz"
+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-"path-key@^3.1.0":
- "integrity" "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U="
- "resolved" "https://registry.npmmirror.com/path-key/download/path-key-3.1.1.tgz"
- "version" "3.1.1"
+path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.npmmirror.com/path-key/download/path-key-3.1.1.tgz"
+ integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=
-"path-parse@^1.0.7":
- "integrity" "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU="
- "resolved" "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz"
- "version" "1.0.7"
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz"
+ integrity sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=
-"path-type@^4.0.0":
- "integrity" "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs="
- "resolved" "https://registry.nlark.com/path-type/download/path-type-4.0.0.tgz"
- "version" "4.0.0"
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.nlark.com/path-type/download/path-type-4.0.0.tgz"
+ integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=
-"picocolors@^1.0.0":
- "integrity" "sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw="
- "resolved" "https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz?cache=0&sync_timestamp=1634093442271&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpicocolors%2Fdownload%2Fpicocolors-1.0.0.tgz"
- "version" "1.0.0"
+picocolors@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz?cache=0&sync_timestamp=1634093442271&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpicocolors%2Fdownload%2Fpicocolors-1.0.0.tgz"
+ integrity sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw=
-"picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.2.2", "picomatch@^2.2.3":
- "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
- "resolved" "https://registry.npmmirror.com/picomatch/download/picomatch-2.3.1.tgz"
- "version" "2.3.1"
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3:
+ version "2.3.1"
+ resolved "https://registry.npmmirror.com/picomatch/download/picomatch-2.3.1.tgz"
+ integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
-"posix-character-classes@^0.1.0":
- "integrity" "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
- "resolved" "https://registry.npmmirror.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz"
- "version" "0.1.1"
+posix-character-classes@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz"
+ integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
-"postcss-prefix-selector@^1.6.0":
- "integrity" "sha512-8d5fiBQZWMtGWH/7ewEeo6RnBNyT2kLD5wTIfV2oHYqH4hjiofg/rP5X3SUwnqOINzE4mM/K/UOAiNrIaKzd4w=="
- "resolved" "https://registry.npmmirror.com/postcss-prefix-selector/download/postcss-prefix-selector-1.14.0.tgz"
- "version" "1.14.0"
+postcss-prefix-selector@^1.6.0:
+ version "1.14.0"
+ resolved "https://registry.npmmirror.com/postcss-prefix-selector/download/postcss-prefix-selector-1.14.0.tgz"
+ integrity sha512-8d5fiBQZWMtGWH/7ewEeo6RnBNyT2kLD5wTIfV2oHYqH4hjiofg/rP5X3SUwnqOINzE4mM/K/UOAiNrIaKzd4w==
-"postcss@^5.2.17":
- "integrity" "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg=="
- "resolved" "https://registry.npmmirror.com/postcss/download/postcss-5.2.18.tgz"
- "version" "5.2.18"
+postcss@^5.2.17:
+ version "5.2.18"
+ resolved "https://registry.npmmirror.com/postcss/download/postcss-5.2.18.tgz"
+ integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==
dependencies:
- "chalk" "^1.1.3"
- "js-base64" "^2.1.9"
- "source-map" "^0.5.6"
- "supports-color" "^3.2.3"
+ chalk "^1.1.3"
+ js-base64 "^2.1.9"
+ source-map "^0.5.6"
+ supports-color "^3.2.3"
-"postcss@^8.1.10", "postcss@^8.4.5", "postcss@7.x || 8.x":
- "integrity" "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg=="
- "resolved" "https://registry.npmmirror.com/postcss/download/postcss-8.4.5.tgz"
- "version" "8.4.5"
+postcss@^8.1.10, postcss@^8.4.5:
+ version "8.4.5"
+ resolved "https://registry.npmmirror.com/postcss/download/postcss-8.4.5.tgz"
+ integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==
dependencies:
- "nanoid" "^3.1.30"
- "picocolors" "^1.0.0"
- "source-map-js" "^1.0.1"
+ nanoid "^3.1.30"
+ picocolors "^1.0.0"
+ source-map-js "^1.0.1"
-"posthtml-parser@^0.2.0", "posthtml-parser@^0.2.1":
- "integrity" "sha1-NdUw3jhnQMK6JP8usvrznM3ycd0="
- "resolved" "https://registry.nlark.com/posthtml-parser/download/posthtml-parser-0.2.1.tgz"
- "version" "0.2.1"
+posthtml-parser@^0.2.0, posthtml-parser@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.nlark.com/posthtml-parser/download/posthtml-parser-0.2.1.tgz"
+ integrity sha1-NdUw3jhnQMK6JP8usvrznM3ycd0=
dependencies:
- "htmlparser2" "^3.8.3"
- "isobject" "^2.1.0"
+ htmlparser2 "^3.8.3"
+ isobject "^2.1.0"
-"posthtml-rename-id@^1.0":
- "integrity" "sha1-z39us3FGvxr6wx5o8YxswZrmFDM="
- "resolved" "https://registry.npm.taobao.org/posthtml-rename-id/download/posthtml-rename-id-1.0.12.tgz"
- "version" "1.0.12"
+posthtml-rename-id@^1.0:
+ version "1.0.12"
+ resolved "https://registry.npm.taobao.org/posthtml-rename-id/download/posthtml-rename-id-1.0.12.tgz"
+ integrity sha1-z39us3FGvxr6wx5o8YxswZrmFDM=
dependencies:
- "escape-string-regexp" "1.0.5"
+ escape-string-regexp "1.0.5"
-"posthtml-render@^1.0.5", "posthtml-render@^1.0.6":
- "integrity" "sha1-QBFAcMRYgcrLkzR9rj7/U6+8/xM="
- "resolved" "https://registry.nlark.com/posthtml-render/download/posthtml-render-1.4.0.tgz"
- "version" "1.4.0"
+posthtml-render@^1.0.5, posthtml-render@^1.0.6:
+ version "1.4.0"
+ resolved "https://registry.nlark.com/posthtml-render/download/posthtml-render-1.4.0.tgz"
+ integrity sha1-QBFAcMRYgcrLkzR9rj7/U6+8/xM=
-"posthtml-svg-mode@^1.0.3":
- "integrity" "sha1-q9VU+s6BIjyrDLNn4Y5O/SpOdLA="
- "resolved" "https://registry.npm.taobao.org/posthtml-svg-mode/download/posthtml-svg-mode-1.0.3.tgz"
- "version" "1.0.3"
+posthtml-svg-mode@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/posthtml-svg-mode/download/posthtml-svg-mode-1.0.3.tgz"
+ integrity sha1-q9VU+s6BIjyrDLNn4Y5O/SpOdLA=
dependencies:
- "merge-options" "1.0.1"
- "posthtml" "^0.9.2"
- "posthtml-parser" "^0.2.1"
- "posthtml-render" "^1.0.6"
+ merge-options "1.0.1"
+ posthtml "^0.9.2"
+ posthtml-parser "^0.2.1"
+ posthtml-render "^1.0.6"
-"posthtml@^0.9.2":
- "integrity" "sha1-9MBtufZ7Yf0XxOJW5+PZUVv3Jv0="
- "resolved" "https://registry.nlark.com/posthtml/download/posthtml-0.9.2.tgz?cache=0&sync_timestamp=1627459255104&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fposthtml%2Fdownload%2Fposthtml-0.9.2.tgz"
- "version" "0.9.2"
+posthtml@^0.9.2:
+ version "0.9.2"
+ resolved "https://registry.nlark.com/posthtml/download/posthtml-0.9.2.tgz?cache=0&sync_timestamp=1627459255104&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fposthtml%2Fdownload%2Fposthtml-0.9.2.tgz"
+ integrity sha1-9MBtufZ7Yf0XxOJW5+PZUVv3Jv0=
dependencies:
- "posthtml-parser" "^0.2.0"
- "posthtml-render" "^1.0.5"
+ posthtml-parser "^0.2.0"
+ posthtml-render "^1.0.5"
-"prelude-ls@^1.2.1":
- "integrity" "sha1-3rxkidem5rDnYRiIzsiAM30xY5Y="
- "resolved" "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.2.1.tgz"
- "version" "1.2.1"
+prelude-ls@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.2.1.tgz"
+ integrity sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=
-"process-nextick-args@~2.0.0":
- "integrity" "sha1-eCDZsWEgzFXKmud5JoCufbptf+I="
- "resolved" "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz"
- "version" "2.0.1"
+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"
+ integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I=
-"progress@^2.0.0":
- "integrity" "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
- "resolved" "https://registry.npmmirror.com/progress/download/progress-2.0.3.tgz"
- "version" "2.0.3"
+progress@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.npmmirror.com/progress/download/progress-2.0.3.tgz"
+ integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
-"punycode@^2.1.0":
- "integrity" "sha1-tYsBCsQMIsVldhbI0sLALHv0eew="
- "resolved" "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz"
- "version" "2.1.1"
+punycode@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz"
+ integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew=
-"query-string@^4.3.2":
- "integrity" "sha1-u7aTucqRXCMlFbIosaArYJBD2+s="
- "resolved" "https://registry.npmmirror.com/query-string/download/query-string-4.3.4.tgz"
- "version" "4.3.4"
+query-string@^4.3.2:
+ version "4.3.4"
+ resolved "https://registry.npmmirror.com/query-string/download/query-string-4.3.4.tgz"
+ integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s=
dependencies:
- "object-assign" "^4.1.0"
- "strict-uri-encode" "^1.0.0"
+ object-assign "^4.1.0"
+ strict-uri-encode "^1.0.0"
-"query-string@^7.0.1":
- "integrity" "sha512-wnJ8covk+S9isYR5JIXPt93kFUmI2fQ4R/8130fuq+qwLiGVTurg7Klodgfw4NSz/oe7xnyi09y3lSrogUeM3g=="
- "resolved" "https://registry.npmmirror.com/query-string/download/query-string-7.1.0.tgz"
- "version" "7.1.0"
+query-string@^7.0.1:
+ version "7.1.0"
+ resolved "https://registry.npmmirror.com/query-string/download/query-string-7.1.0.tgz"
+ integrity sha512-wnJ8covk+S9isYR5JIXPt93kFUmI2fQ4R/8130fuq+qwLiGVTurg7Klodgfw4NSz/oe7xnyi09y3lSrogUeM3g==
dependencies:
- "decode-uri-component" "^0.2.0"
- "filter-obj" "^1.1.0"
- "split-on-first" "^1.0.0"
- "strict-uri-encode" "^2.0.0"
+ decode-uri-component "^0.2.0"
+ filter-obj "^1.1.0"
+ split-on-first "^1.0.0"
+ strict-uri-encode "^2.0.0"
-"queue-microtask@^1.2.2":
- "integrity" "sha1-SSkii7xyTfrEPg77BYyve2z7YkM="
- "resolved" "https://registry.npm.taobao.org/queue-microtask/download/queue-microtask-1.2.3.tgz?cache=0&sync_timestamp=1616391641179&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqueue-microtask%2Fdownload%2Fqueue-microtask-1.2.3.tgz"
- "version" "1.2.3"
+queue-microtask@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.npm.taobao.org/queue-microtask/download/queue-microtask-1.2.3.tgz?cache=0&sync_timestamp=1616391641179&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqueue-microtask%2Fdownload%2Fqueue-microtask-1.2.3.tgz"
+ integrity sha1-SSkii7xyTfrEPg77BYyve2z7YkM=
-"readable-stream@^2.0.2":
- "integrity" "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c="
- "resolved" "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz"
- "version" "2.3.7"
+readable-stream@^2.0.2, readable-stream@~2.3.6:
+ version "2.3.7"
+ resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz"
+ integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=
dependencies:
- "core-util-is" "~1.0.0"
- "inherits" "~2.0.3"
- "isarray" "~1.0.0"
- "process-nextick-args" "~2.0.0"
- "safe-buffer" "~5.1.1"
- "string_decoder" "~1.1.1"
- "util-deprecate" "~1.0.1"
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
-"readable-stream@^3.1.1":
- "integrity" "sha1-M3u9o63AcGvT4CRCaihtS0sskZg="
- "resolved" "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz"
- "version" "3.6.0"
+readable-stream@^3.1.1:
+ version "3.6.0"
+ resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz"
+ integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg=
dependencies:
- "inherits" "^2.0.3"
- "string_decoder" "^1.1.1"
- "util-deprecate" "^1.0.1"
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
-"readable-stream@~2.3.6":
- "integrity" "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c="
- "resolved" "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz"
- "version" "2.3.7"
+readdirp@~3.6.0:
+ version "3.6.0"
+ resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-3.6.0.tgz?cache=0&sync_timestamp=1615717369278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-3.6.0.tgz"
+ integrity sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=
dependencies:
- "core-util-is" "~1.0.0"
- "inherits" "~2.0.3"
- "isarray" "~1.0.0"
- "process-nextick-args" "~2.0.0"
- "safe-buffer" "~5.1.1"
- "string_decoder" "~1.1.1"
- "util-deprecate" "~1.0.1"
+ picomatch "^2.2.1"
-"readdirp@~3.6.0":
- "integrity" "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc="
- "resolved" "https://registry.npm.taobao.org/readdirp/download/readdirp-3.6.0.tgz?cache=0&sync_timestamp=1615717369278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-3.6.0.tgz"
- "version" "3.6.0"
+reconnecting-websocket@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.npmmirror.com/reconnecting-websocket/download/reconnecting-websocket-4.4.0.tgz"
+ integrity sha1-Ow5blu8RnnigMTWGW4uwrxuUh4M=
+
+regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.9:
+ version "0.13.9"
+ resolved "https://registry.npmmirror.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz"
+ integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
+
+regex-not@^1.0.0, regex-not@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz"
+ integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=
dependencies:
- "picomatch" "^2.2.1"
+ extend-shallow "^3.0.2"
+ safe-regex "^1.1.0"
-"reconnecting-websocket@^4.4.0":
- "integrity" "sha1-Ow5blu8RnnigMTWGW4uwrxuUh4M="
- "resolved" "https://registry.npmmirror.com/reconnecting-websocket/download/reconnecting-websocket-4.4.0.tgz"
- "version" "4.4.0"
+regexpp@^3.0.0, regexpp@^3.1.0, regexpp@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.nlark.com/regexpp/download/regexpp-3.2.0.tgz"
+ integrity sha1-BCWido2PI7rXDKS5BGH6LxIT4bI=
-"regenerator-runtime@^0.13.4", "regenerator-runtime@^0.13.9":
- "integrity" "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
- "resolved" "https://registry.npmmirror.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz"
- "version" "0.13.9"
+repeat-element@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.nlark.com/repeat-element/download/repeat-element-1.1.4.tgz"
+ integrity sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek=
-"regex-not@^1.0.0", "regex-not@^1.0.2":
- "integrity" "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw="
- "resolved" "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz"
- "version" "1.0.2"
+repeat-string@^1.6.1:
+ version "1.6.1"
+ resolved "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz?cache=0&sync_timestamp=1589682793094&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frepeat-string%2Fdownload%2Frepeat-string-1.6.1.tgz"
+ integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
+
+require-from-string@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/require-from-string/download/require-from-string-2.0.2.tgz"
+ integrity sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=
+
+resize-observer-polyfill@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz"
+ integrity sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ=
+
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz"
+ integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=
+
+resolve-url@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npmmirror.com/resolve-url/download/resolve-url-0.2.1.tgz"
+ integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
+
+resolve@^1.10.1, resolve@^1.20.0:
+ version "1.21.0"
+ resolved "https://registry.npmmirror.com/resolve/download/resolve-1.21.0.tgz"
+ integrity sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==
dependencies:
- "extend-shallow" "^3.0.2"
- "safe-regex" "^1.1.0"
+ is-core-module "^2.8.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
-"regexpp@^3.0.0", "regexpp@^3.1.0", "regexpp@^3.2.0":
- "integrity" "sha1-BCWido2PI7rXDKS5BGH6LxIT4bI="
- "resolved" "https://registry.nlark.com/regexpp/download/regexpp-3.2.0.tgz"
- "version" "3.2.0"
+ret@~0.1.10:
+ version "0.1.15"
+ resolved "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz"
+ integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=
-"repeat-element@^1.1.2":
- "integrity" "sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek="
- "resolved" "https://registry.nlark.com/repeat-element/download/repeat-element-1.1.4.tgz"
- "version" "1.1.4"
+reusify@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/reusify/download/reusify-1.0.4.tgz"
+ integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=
-"repeat-string@^1.6.1":
- "integrity" "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
- "resolved" "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz?cache=0&sync_timestamp=1589682793094&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frepeat-string%2Fdownload%2Frepeat-string-1.6.1.tgz"
- "version" "1.6.1"
-
-"require-from-string@^2.0.2":
- "integrity" "sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk="
- "resolved" "https://registry.npm.taobao.org/require-from-string/download/require-from-string-2.0.2.tgz"
- "version" "2.0.2"
-
-"resize-observer-polyfill@^1.5.1":
- "integrity" "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ="
- "resolved" "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz"
- "version" "1.5.1"
-
-"resolve-from@^4.0.0":
- "integrity" "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY="
- "resolved" "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz"
- "version" "4.0.0"
-
-"resolve-url@^0.2.1":
- "integrity" "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
- "resolved" "https://registry.npmmirror.com/resolve-url/download/resolve-url-0.2.1.tgz"
- "version" "0.2.1"
-
-"resolve@^1.10.1", "resolve@^1.20.0":
- "integrity" "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA=="
- "resolved" "https://registry.npmmirror.com/resolve/download/resolve-1.21.0.tgz"
- "version" "1.21.0"
+rimraf@2:
+ version "2.7.1"
+ resolved "https://registry.npmmirror.com/rimraf/download/rimraf-2.7.1.tgz"
+ integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=
dependencies:
- "is-core-module" "^2.8.0"
- "path-parse" "^1.0.7"
- "supports-preserve-symlinks-flag" "^1.0.0"
+ glob "^7.1.3"
-"ret@~0.1.10":
- "integrity" "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w="
- "resolved" "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz"
- "version" "0.1.15"
-
-"reusify@^1.0.4":
- "integrity" "sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY="
- "resolved" "https://registry.npm.taobao.org/reusify/download/reusify-1.0.4.tgz"
- "version" "1.0.4"
-
-"rimraf@^3.0.2":
- "integrity" "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho="
- "resolved" "https://registry.npmmirror.com/rimraf/download/rimraf-3.0.2.tgz"
- "version" "3.0.2"
+rimraf@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npmmirror.com/rimraf/download/rimraf-3.0.2.tgz"
+ integrity sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=
dependencies:
- "glob" "^7.1.3"
+ glob "^7.1.3"
-"rimraf@2":
- "integrity" "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w="
- "resolved" "https://registry.npmmirror.com/rimraf/download/rimraf-2.7.1.tgz"
- "version" "2.7.1"
- dependencies:
- "glob" "^7.1.3"
-
-"rollup-plugin-external-globals@^0.6.1":
- "integrity" "sha1-hhwmC1cnFE4P0bQksQP58Cgvw2U="
- "resolved" "https://registry.nlark.com/rollup-plugin-external-globals/download/rollup-plugin-external-globals-0.6.1.tgz"
- "version" "0.6.1"
+rollup-plugin-external-globals@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.nlark.com/rollup-plugin-external-globals/download/rollup-plugin-external-globals-0.6.1.tgz"
+ integrity sha1-hhwmC1cnFE4P0bQksQP58Cgvw2U=
dependencies:
"@rollup/pluginutils" "^4.0.0"
- "estree-walker" "^2.0.1"
- "is-reference" "^1.2.1"
- "magic-string" "^0.25.7"
+ estree-walker "^2.0.1"
+ is-reference "^1.2.1"
+ magic-string "^0.25.7"
-"rollup@^2.25.0", "rollup@^2.47.0", "rollup@^2.59.0":
- "integrity" "sha512-XrMKOYK7oQcTio4wyTz466mucnd8LzkiZLozZ4Rz0zQD+HeX4nUK4B8GrTX/2EvN2/vBF/i2WnaXboPxo0JylA=="
- "resolved" "https://registry.npmmirror.com/rollup/-/rollup-2.68.0.tgz"
- "version" "2.68.0"
+rollup@^2.47.0, rollup@^2.59.0:
+ version "2.68.0"
+ resolved "https://registry.npmmirror.com/rollup/-/rollup-2.68.0.tgz"
+ integrity sha512-XrMKOYK7oQcTio4wyTz466mucnd8LzkiZLozZ4Rz0zQD+HeX4nUK4B8GrTX/2EvN2/vBF/i2WnaXboPxo0JylA==
optionalDependencies:
- "fsevents" "~2.3.2"
+ fsevents "~2.3.2"
-"run-parallel@^1.1.9":
- "integrity" "sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4="
- "resolved" "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.2.0.tgz?cache=0&sync_timestamp=1612925943325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frun-parallel%2Fdownload%2Frun-parallel-1.2.0.tgz"
- "version" "1.2.0"
+run-parallel@^1.1.9:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.2.0.tgz?cache=0&sync_timestamp=1612925943325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frun-parallel%2Fdownload%2Frun-parallel-1.2.0.tgz"
+ integrity sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4=
dependencies:
- "queue-microtask" "^1.2.2"
+ queue-microtask "^1.2.2"
-"safe-buffer@~5.1.0", "safe-buffer@~5.1.1":
- "integrity" "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
- "resolved" "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.1.2.tgz"
- "version" "5.1.2"
+safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.1.2.tgz"
+ integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0=
-"safe-buffer@~5.2.0":
- "integrity" "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY="
- "resolved" "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.2.1.tgz"
- "version" "5.2.1"
+safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.2.1.tgz"
+ integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=
-"safe-regex@^1.1.0":
- "integrity" "sha1-QKNmnzsHfR6UPURinhV91IAjvy4="
- "resolved" "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz"
- "version" "1.1.0"
+safe-regex@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz"
+ integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
dependencies:
- "ret" "~0.1.10"
+ ret "~0.1.10"
-"sass@*", "sass@^1.35.1":
- "integrity" "sha512-GtXwvwgD7/6MLUZPnlA5/8cdRgC9SzT5kAnnJMRmEZQFRE3J56Foswig4NyyyQGsnmNvg6EUM/FP0Pe9Y2zywQ=="
- "resolved" "https://registry.npmmirror.com/sass/download/sass-1.47.0.tgz"
- "version" "1.47.0"
+sass@^1.35.1:
+ version "1.47.0"
+ resolved "https://registry.npmmirror.com/sass/download/sass-1.47.0.tgz"
+ integrity sha512-GtXwvwgD7/6MLUZPnlA5/8cdRgC9SzT5kAnnJMRmEZQFRE3J56Foswig4NyyyQGsnmNvg6EUM/FP0Pe9Y2zywQ==
dependencies:
- "chokidar" ">=3.0.0 <4.0.0"
- "immutable" "^4.0.0"
- "source-map-js" ">=0.6.2 <2.0.0"
+ chokidar ">=3.0.0 <4.0.0"
+ immutable "^4.0.0"
+ source-map-js ">=0.6.2 <2.0.0"
-"scroll-into-view-if-needed@^2.2.25":
- "integrity" "sha1-WhWy9YpSZCyIyOylhGROAXA9ZFo="
- "resolved" "https://registry.npmmirror.com/scroll-into-view-if-needed/download/scroll-into-view-if-needed-2.2.28.tgz"
- "version" "2.2.28"
+scroll-into-view-if-needed@^2.2.25:
+ version "2.2.28"
+ resolved "https://registry.npmmirror.com/scroll-into-view-if-needed/download/scroll-into-view-if-needed-2.2.28.tgz"
+ integrity sha1-WhWy9YpSZCyIyOylhGROAXA9ZFo=
dependencies:
- "compute-scroll-into-view" "^1.0.17"
+ compute-scroll-into-view "^1.0.17"
-"semver@^6.1.0":
- "integrity" "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
- "resolved" "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz"
- "version" "6.3.0"
+semver@^6.1.0, semver@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz"
+ integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=
-"semver@^6.3.0":
- "integrity" "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
- "resolved" "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz"
- "version" "6.3.0"
-
-"semver@^7.2.1", "semver@^7.3.5":
- "integrity" "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc="
- "resolved" "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz"
- "version" "7.3.5"
+semver@^7.2.1, semver@^7.3.5:
+ version "7.3.5"
+ resolved "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz"
+ integrity sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=
dependencies:
- "lru-cache" "^6.0.0"
+ lru-cache "^6.0.0"
-"sentence-case@^3.0.4":
- "integrity" "sha1-NkWnuMEXx4f96HAgViJbtipFEx8="
- "resolved" "https://registry.npm.taobao.org/sentence-case/download/sentence-case-3.0.4.tgz?cache=0&sync_timestamp=1606867325535&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsentence-case%2Fdownload%2Fsentence-case-3.0.4.tgz"
- "version" "3.0.4"
+sentence-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.npm.taobao.org/sentence-case/download/sentence-case-3.0.4.tgz?cache=0&sync_timestamp=1606867325535&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsentence-case%2Fdownload%2Fsentence-case-3.0.4.tgz"
+ integrity sha1-NkWnuMEXx4f96HAgViJbtipFEx8=
dependencies:
- "no-case" "^3.0.4"
- "tslib" "^2.0.3"
- "upper-case-first" "^2.0.2"
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+ upper-case-first "^2.0.2"
-"set-value@^2.0.0", "set-value@^2.0.1":
- "integrity" "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs="
- "resolved" "https://registry.nlark.com/set-value/download/set-value-2.0.1.tgz"
- "version" "2.0.1"
+set-value@^2.0.0, set-value@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.nlark.com/set-value/download/set-value-2.0.1.tgz"
+ integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=
dependencies:
- "extend-shallow" "^2.0.1"
- "is-extendable" "^0.1.1"
- "is-plain-object" "^2.0.3"
- "split-string" "^3.0.1"
+ extend-shallow "^2.0.1"
+ is-extendable "^0.1.1"
+ is-plain-object "^2.0.3"
+ split-string "^3.0.1"
-"setimmediate@~1.0.4":
- "integrity" "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
- "resolved" "https://registry.npmmirror.com/setimmediate/download/setimmediate-1.0.5.tgz"
- "version" "1.0.5"
+setimmediate@~1.0.4:
+ version "1.0.5"
+ resolved "https://registry.npmmirror.com/setimmediate/download/setimmediate-1.0.5.tgz"
+ integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
-"shallow-equal@^1.0.0":
- "integrity" "sha1-TBar+lYEOqINBQMk76aJQLDaedo="
- "resolved" "https://registry.npm.taobao.org/shallow-equal/download/shallow-equal-1.2.1.tgz"
- "version" "1.2.1"
+shallow-equal@^1.0.0:
+ version "1.2.1"
+ resolved "https://registry.npm.taobao.org/shallow-equal/download/shallow-equal-1.2.1.tgz"
+ integrity sha1-TBar+lYEOqINBQMk76aJQLDaedo=
-"shebang-command@^2.0.0":
- "integrity" "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo="
- "resolved" "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz"
- "version" "2.0.0"
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz"
+ integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=
dependencies:
- "shebang-regex" "^3.0.0"
+ shebang-regex "^3.0.0"
-"shebang-regex@^3.0.0":
- "integrity" "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI="
- "resolved" "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz"
- "version" "3.0.0"
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz"
+ integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=
-"side-channel@^1.0.4":
- "integrity" "sha1-785cj9wQTudRslxY1CkAEfpeos8="
- "resolved" "https://registry.npm.taobao.org/side-channel/download/side-channel-1.0.4.tgz?cache=0&sync_timestamp=1609270210432&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fside-channel%2Fdownload%2Fside-channel-1.0.4.tgz"
- "version" "1.0.4"
+side-channel@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/side-channel/download/side-channel-1.0.4.tgz?cache=0&sync_timestamp=1609270210432&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fside-channel%2Fdownload%2Fside-channel-1.0.4.tgz"
+ integrity sha1-785cj9wQTudRslxY1CkAEfpeos8=
dependencies:
- "call-bind" "^1.0.0"
- "get-intrinsic" "^1.0.2"
- "object-inspect" "^1.9.0"
+ call-bind "^1.0.0"
+ get-intrinsic "^1.0.2"
+ object-inspect "^1.9.0"
-"slash@^3.0.0":
- "integrity" "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ="
- "resolved" "https://registry.nlark.com/slash/download/slash-3.0.0.tgz"
- "version" "3.0.0"
+slash@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.nlark.com/slash/download/slash-3.0.0.tgz"
+ integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=
-"slice-ansi@^4.0.0":
- "integrity" "sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms="
- "resolved" "https://registry.nlark.com/slice-ansi/download/slice-ansi-4.0.0.tgz"
- "version" "4.0.0"
+slice-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.nlark.com/slice-ansi/download/slice-ansi-4.0.0.tgz"
+ integrity sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms=
dependencies:
- "ansi-styles" "^4.0.0"
- "astral-regex" "^2.0.0"
- "is-fullwidth-code-point" "^3.0.0"
+ ansi-styles "^4.0.0"
+ astral-regex "^2.0.0"
+ is-fullwidth-code-point "^3.0.0"
-"snake-case@^3.0.4":
- "integrity" "sha1-Tyu9Vo6ZNavf1ZPzTGkdrbScRSw="
- "resolved" "https://registry.npm.taobao.org/snake-case/download/snake-case-3.0.4.tgz?cache=0&sync_timestamp=1606867326057&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsnake-case%2Fdownload%2Fsnake-case-3.0.4.tgz"
- "version" "3.0.4"
+snake-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.npm.taobao.org/snake-case/download/snake-case-3.0.4.tgz?cache=0&sync_timestamp=1606867326057&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsnake-case%2Fdownload%2Fsnake-case-3.0.4.tgz"
+ integrity sha1-Tyu9Vo6ZNavf1ZPzTGkdrbScRSw=
dependencies:
- "dot-case" "^3.0.4"
- "tslib" "^2.0.3"
+ dot-case "^3.0.4"
+ tslib "^2.0.3"
-"snapdragon-node@^2.0.1":
- "integrity" "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs="
- "resolved" "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz"
- "version" "2.1.1"
+snapdragon-node@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz"
+ integrity sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=
dependencies:
- "define-property" "^1.0.0"
- "isobject" "^3.0.0"
- "snapdragon-util" "^3.0.1"
+ define-property "^1.0.0"
+ isobject "^3.0.0"
+ snapdragon-util "^3.0.1"
-"snapdragon-util@^3.0.1":
- "integrity" "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI="
- "resolved" "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz"
- "version" "3.0.1"
+snapdragon-util@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz"
+ integrity sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=
dependencies:
- "kind-of" "^3.2.0"
+ kind-of "^3.2.0"
-"snapdragon@^0.8.1":
- "integrity" "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0="
- "resolved" "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz"
- "version" "0.8.2"
+snapdragon@^0.8.1:
+ version "0.8.2"
+ resolved "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz"
+ integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=
dependencies:
- "base" "^0.11.1"
- "debug" "^2.2.0"
- "define-property" "^0.2.5"
- "extend-shallow" "^2.0.1"
- "map-cache" "^0.2.2"
- "source-map" "^0.5.6"
- "source-map-resolve" "^0.5.0"
- "use" "^3.1.0"
+ base "^0.11.1"
+ debug "^2.2.0"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ map-cache "^0.2.2"
+ source-map "^0.5.6"
+ source-map-resolve "^0.5.0"
+ use "^3.1.0"
-"source-map-js@^1.0.1", "source-map-js@>=0.6.2 <2.0.0":
- "integrity" "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA=="
- "resolved" "https://registry.npmmirror.com/source-map-js/download/source-map-js-1.0.1.tgz"
- "version" "1.0.1"
+"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/source-map-js/download/source-map-js-1.0.1.tgz"
+ integrity sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==
-"source-map-resolve@^0.5.0":
- "integrity" "sha1-GQhmvs51U+H48mei7oLGBrVQmho="
- "resolved" "https://registry.npmmirror.com/source-map-resolve/download/source-map-resolve-0.5.3.tgz"
- "version" "0.5.3"
+source-map-resolve@^0.5.0:
+ version "0.5.3"
+ resolved "https://registry.npmmirror.com/source-map-resolve/download/source-map-resolve-0.5.3.tgz"
+ integrity sha1-GQhmvs51U+H48mei7oLGBrVQmho=
dependencies:
- "atob" "^2.1.2"
- "decode-uri-component" "^0.2.0"
- "resolve-url" "^0.2.1"
- "source-map-url" "^0.4.0"
- "urix" "^0.1.0"
+ atob "^2.1.2"
+ decode-uri-component "^0.2.0"
+ resolve-url "^0.2.1"
+ source-map-url "^0.4.0"
+ urix "^0.1.0"
-"source-map-url@^0.4.0":
- "integrity" "sha1-CvZmBadFpaL5HPG7+KevvCg97FY="
- "resolved" "https://registry.npmmirror.com/source-map-url/download/source-map-url-0.4.1.tgz"
- "version" "0.4.1"
+source-map-url@^0.4.0:
+ version "0.4.1"
+ resolved "https://registry.npmmirror.com/source-map-url/download/source-map-url-0.4.1.tgz"
+ integrity sha1-CvZmBadFpaL5HPG7+KevvCg97FY=
-"source-map@^0.5.0":
- "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- "resolved" "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz"
- "version" "0.5.7"
+source-map@0.6.1, source-map@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz"
+ integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM=
-"source-map@^0.5.6":
- "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- "resolved" "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz"
- "version" "0.5.7"
+source-map@^0.5.0, source-map@^0.5.6:
+ version "0.5.7"
+ resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz"
+ integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
-"source-map@^0.6.1", "source-map@0.6.1":
- "integrity" "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
- "resolved" "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz"
- "version" "0.6.1"
+sourcemap-codec@^1.4.4:
+ version "1.4.8"
+ resolved "https://registry.npm.taobao.org/sourcemap-codec/download/sourcemap-codec-1.4.8.tgz"
+ integrity sha1-6oBL2UhXQC5pktBaOO8a41qatMQ=
-"sourcemap-codec@^1.4.4":
- "integrity" "sha1-6oBL2UhXQC5pktBaOO8a41qatMQ="
- "resolved" "https://registry.npm.taobao.org/sourcemap-codec/download/sourcemap-codec-1.4.8.tgz"
- "version" "1.4.8"
+split-on-first@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/split-on-first/download/split-on-first-1.1.0.tgz?cache=0&sync_timestamp=1618467042029&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsplit-on-first%2Fdownload%2Fsplit-on-first-1.1.0.tgz"
+ integrity sha1-9hCv7uOxK84dDDBCXnY5i3gkml8=
-"split-on-first@^1.0.0":
- "integrity" "sha1-9hCv7uOxK84dDDBCXnY5i3gkml8="
- "resolved" "https://registry.npm.taobao.org/split-on-first/download/split-on-first-1.1.0.tgz?cache=0&sync_timestamp=1618467042029&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsplit-on-first%2Fdownload%2Fsplit-on-first-1.1.0.tgz"
- "version" "1.1.0"
-
-"split-string@^3.0.1", "split-string@^3.0.2":
- "integrity" "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I="
- "resolved" "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz"
- "version" "3.1.0"
+split-string@^3.0.1, split-string@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz"
+ integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=
dependencies:
- "extend-shallow" "^3.0.0"
+ extend-shallow "^3.0.0"
-"sprintf-js@~1.0.2":
- "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
- "resolved" "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz"
- "version" "1.0.3"
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz"
+ integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
-"stable@^0.1.8":
- "integrity" "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88="
- "resolved" "https://registry.npmmirror.com/stable/download/stable-0.1.8.tgz"
- "version" "0.1.8"
+stable@^0.1.8:
+ version "0.1.8"
+ resolved "https://registry.npmmirror.com/stable/download/stable-0.1.8.tgz"
+ integrity sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=
-"static-extend@^0.1.1":
- "integrity" "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY="
- "resolved" "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz"
- "version" "0.1.2"
+static-extend@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz"
+ integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
dependencies:
- "define-property" "^0.2.5"
- "object-copy" "^0.1.0"
+ define-property "^0.2.5"
+ object-copy "^0.1.0"
-"strict-uri-encode@^1.0.0":
- "integrity" "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
- "resolved" "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz"
- "version" "1.1.0"
+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"
+ integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
-"strict-uri-encode@^2.0.0":
- "integrity" "sha1-ucczDHBChi9rFC3CdLvMWGbONUY="
- "resolved" "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-2.0.0.tgz"
- "version" "2.0.0"
+strict-uri-encode@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-2.0.0.tgz"
+ integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
-"string_decoder@^1.1.1":
- "integrity" "sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4="
- "resolved" "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz"
- "version" "1.3.0"
+string-width@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz"
+ integrity sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=
dependencies:
- "safe-buffer" "~5.2.0"
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
-"string_decoder@~1.1.1":
- "integrity" "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g="
- "resolved" "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz"
- "version" "1.1.1"
+string.prototype.trimend@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz"
+ integrity sha1-51rpDClCxjUEaGwYsoe0oLGkX4A=
dependencies:
- "safe-buffer" "~5.1.0"
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
-"string-width@^4.2.3":
- "integrity" "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA="
- "resolved" "https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz"
- "version" "4.2.3"
+string.prototype.trimstart@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz?cache=0&sync_timestamp=1614127357785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.4.tgz"
+ integrity sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0=
dependencies:
- "emoji-regex" "^8.0.0"
- "is-fullwidth-code-point" "^3.0.0"
- "strip-ansi" "^6.0.1"
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
-"string.prototype.trimend@^1.0.4":
- "integrity" "sha1-51rpDClCxjUEaGwYsoe0oLGkX4A="
- "resolved" "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz"
- "version" "1.0.4"
+string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz"
+ integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4=
dependencies:
- "call-bind" "^1.0.2"
- "define-properties" "^1.1.3"
+ safe-buffer "~5.2.0"
-"string.prototype.trimstart@^1.0.4":
- "integrity" "sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0="
- "resolved" "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz?cache=0&sync_timestamp=1614127357785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.4.tgz"
- "version" "1.0.4"
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz"
+ integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=
dependencies:
- "call-bind" "^1.0.2"
- "define-properties" "^1.1.3"
+ safe-buffer "~5.1.0"
-"strip-ansi@^3.0.0":
- "integrity" "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8="
- "resolved" "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz"
- "version" "3.0.1"
+strip-ansi@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz"
+ integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
dependencies:
- "ansi-regex" "^2.0.0"
+ ansi-regex "^2.0.0"
-"strip-ansi@^6.0.0", "strip-ansi@^6.0.1":
- "integrity" "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk="
- "resolved" "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz"
- "version" "6.0.1"
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz"
+ integrity sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=
dependencies:
- "ansi-regex" "^5.0.1"
+ ansi-regex "^5.0.1"
-"strip-bom@^3.0.0":
- "integrity" "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
- "resolved" "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz?cache=0&sync_timestamp=1618599587805&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-bom%2Fdownload%2Fstrip-bom-3.0.0.tgz"
- "version" "3.0.0"
+strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz?cache=0&sync_timestamp=1618599587805&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-bom%2Fdownload%2Fstrip-bom-3.0.0.tgz"
+ integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
-"strip-json-comments@^3.1.0", "strip-json-comments@^3.1.1":
- "integrity" "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY="
- "resolved" "https://registry.nlark.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz"
- "version" "3.1.1"
+strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.nlark.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz"
+ integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=
-"supports-color@^2.0.0":
- "integrity" "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- "resolved" "https://registry.npmmirror.com/supports-color/download/supports-color-2.0.0.tgz"
- "version" "2.0.0"
+supports-color@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/supports-color/download/supports-color-2.0.0.tgz"
+ integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
-"supports-color@^3.2.3":
- "integrity" "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY="
- "resolved" "https://registry.npmmirror.com/supports-color/download/supports-color-3.2.3.tgz"
- "version" "3.2.3"
+supports-color@^3.2.3:
+ version "3.2.3"
+ resolved "https://registry.npmmirror.com/supports-color/download/supports-color-3.2.3.tgz"
+ integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=
dependencies:
- "has-flag" "^1.0.0"
+ has-flag "^1.0.0"
-"supports-color@^5.3.0":
- "integrity" "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8="
- "resolved" "https://registry.npmmirror.com/supports-color/download/supports-color-5.5.0.tgz"
- "version" "5.5.0"
+supports-color@^5.3.0:
+ version "5.5.0"
+ resolved "https://registry.npmmirror.com/supports-color/download/supports-color-5.5.0.tgz"
+ integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=
dependencies:
- "has-flag" "^3.0.0"
+ has-flag "^3.0.0"
-"supports-color@^7.1.0":
- "integrity" "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo="
- "resolved" "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz"
- "version" "7.2.0"
+supports-color@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz"
+ integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=
dependencies:
- "has-flag" "^4.0.0"
+ has-flag "^4.0.0"
-"supports-preserve-symlinks-flag@^1.0.0":
- "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
- "resolved" "https://registry.npmmirror.com/supports-preserve-symlinks-flag/download/supports-preserve-symlinks-flag-1.0.0.tgz"
- "version" "1.0.0"
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/download/supports-preserve-symlinks-flag-1.0.0.tgz"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
-"svg-baker@1.7.0":
- "integrity" "sha1-g2f3jYdVUMUv5HVvcwPVxdfC6ac="
- "resolved" "https://registry.npm.taobao.org/svg-baker/download/svg-baker-1.7.0.tgz"
- "version" "1.7.0"
+svg-baker@1.7.0:
+ version "1.7.0"
+ resolved "https://registry.npm.taobao.org/svg-baker/download/svg-baker-1.7.0.tgz"
+ integrity sha1-g2f3jYdVUMUv5HVvcwPVxdfC6ac=
dependencies:
- "bluebird" "^3.5.0"
- "clone" "^2.1.1"
- "he" "^1.1.1"
- "image-size" "^0.5.1"
- "loader-utils" "^1.1.0"
- "merge-options" "1.0.1"
- "micromatch" "3.1.0"
- "postcss" "^5.2.17"
- "postcss-prefix-selector" "^1.6.0"
- "posthtml-rename-id" "^1.0"
- "posthtml-svg-mode" "^1.0.3"
- "query-string" "^4.3.2"
- "traverse" "^0.6.6"
+ bluebird "^3.5.0"
+ clone "^2.1.1"
+ he "^1.1.1"
+ image-size "^0.5.1"
+ loader-utils "^1.1.0"
+ merge-options "1.0.1"
+ micromatch "3.1.0"
+ postcss "^5.2.17"
+ postcss-prefix-selector "^1.6.0"
+ posthtml-rename-id "^1.0"
+ posthtml-svg-mode "^1.0.3"
+ query-string "^4.3.2"
+ traverse "^0.6.6"
-"svgo@^2.8.0":
- "integrity" "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg=="
- "resolved" "https://registry.npmmirror.com/svgo/download/svgo-2.8.0.tgz"
- "version" "2.8.0"
+svgo@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.npmmirror.com/svgo/download/svgo-2.8.0.tgz"
+ integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==
dependencies:
"@trysound/sax" "0.2.0"
- "commander" "^7.2.0"
- "css-select" "^4.1.3"
- "css-tree" "^1.1.3"
- "csso" "^4.2.0"
- "picocolors" "^1.0.0"
- "stable" "^0.1.8"
+ commander "^7.2.0"
+ css-select "^4.1.3"
+ css-tree "^1.1.3"
+ csso "^4.2.0"
+ picocolors "^1.0.0"
+ stable "^0.1.8"
-"systemjs@^6.11.0":
- "integrity" "sha512-7YPIY44j+BoY+E6cGBSw0oCU8SNTTIHKZgftcBdwWkDzs/M86Fdlr21FrzAyph7Zo8r3CFGscyFe4rrBtixrBg=="
- "resolved" "https://registry.npmmirror.com/systemjs/download/systemjs-6.11.0.tgz"
- "version" "6.11.0"
+systemjs@^6.11.0:
+ version "6.11.0"
+ resolved "https://registry.npmmirror.com/systemjs/download/systemjs-6.11.0.tgz"
+ integrity sha512-7YPIY44j+BoY+E6cGBSw0oCU8SNTTIHKZgftcBdwWkDzs/M86Fdlr21FrzAyph7Zo8r3CFGscyFe4rrBtixrBg==
-"table@^6.0.9":
- "integrity" "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA=="
- "resolved" "https://registry.npmmirror.com/table/download/table-6.8.0.tgz"
- "version" "6.8.0"
+table@^6.0.9:
+ version "6.8.0"
+ resolved "https://registry.npmmirror.com/table/download/table-6.8.0.tgz"
+ integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==
dependencies:
- "ajv" "^8.0.1"
- "lodash.truncate" "^4.4.2"
- "slice-ansi" "^4.0.0"
- "string-width" "^4.2.3"
- "strip-ansi" "^6.0.1"
+ ajv "^8.0.1"
+ lodash.truncate "^4.4.2"
+ slice-ansi "^4.0.0"
+ string-width "^4.2.3"
+ strip-ansi "^6.0.1"
-"text-table@^0.2.0":
- "integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ="
- "resolved" "https://registry.nlark.com/text-table/download/text-table-0.2.0.tgz"
- "version" "0.2.0"
+text-table@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.nlark.com/text-table/download/text-table-0.2.0.tgz"
+ integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
-"to-fast-properties@^2.0.0":
- "integrity" "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
- "resolved" "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1628418893613&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz"
- "version" "2.0.0"
+to-fast-properties@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1628418893613&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz"
+ integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
-"to-object-path@^0.3.0":
- "integrity" "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68="
- "resolved" "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz"
- "version" "0.3.0"
+to-object-path@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz"
+ integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
dependencies:
- "kind-of" "^3.0.2"
+ kind-of "^3.0.2"
-"to-regex-range@^2.1.0":
- "integrity" "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg="
- "resolved" "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz"
- "version" "2.1.1"
+to-regex-range@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz"
+ integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
dependencies:
- "is-number" "^3.0.0"
- "repeat-string" "^1.6.1"
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
-"to-regex-range@^5.0.1":
- "integrity" "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ="
- "resolved" "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz"
- "version" "5.0.1"
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz"
+ integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=
dependencies:
- "is-number" "^7.0.0"
+ is-number "^7.0.0"
-"to-regex@^3.0.1":
- "integrity" "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4="
- "resolved" "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz"
- "version" "3.0.2"
+to-regex@^3.0.1:
+ version "3.0.2"
+ resolved "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz"
+ integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=
dependencies:
- "define-property" "^2.0.2"
- "extend-shallow" "^3.0.2"
- "regex-not" "^1.0.2"
- "safe-regex" "^1.1.0"
-
-"traverse@^0.6.6":
- "integrity" "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc="
- "resolved" "https://registry.npm.taobao.org/traverse/download/traverse-0.6.6.tgz"
- "version" "0.6.6"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ regex-not "^1.0.2"
+ safe-regex "^1.1.0"
"traverse@>=0.3.0 <0.4":
- "integrity" "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk="
- "resolved" "https://registry.npm.taobao.org/traverse/download/traverse-0.3.9.tgz"
- "version" "0.3.9"
+ version "0.3.9"
+ resolved "https://registry.npm.taobao.org/traverse/download/traverse-0.3.9.tgz"
+ integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=
-"tsconfig-paths@^3.12.0":
- "integrity" "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg=="
- "resolved" "https://registry.npmmirror.com/tsconfig-paths/download/tsconfig-paths-3.12.0.tgz"
- "version" "3.12.0"
+traverse@^0.6.6:
+ version "0.6.6"
+ resolved "https://registry.npm.taobao.org/traverse/download/traverse-0.6.6.tgz"
+ integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=
+
+tsconfig-paths@^3.12.0:
+ version "3.12.0"
+ resolved "https://registry.npmmirror.com/tsconfig-paths/download/tsconfig-paths-3.12.0.tgz"
+ integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==
dependencies:
"@types/json5" "^0.0.29"
- "json5" "^1.0.1"
- "minimist" "^1.2.0"
- "strip-bom" "^3.0.0"
+ json5 "^1.0.1"
+ minimist "^1.2.0"
+ strip-bom "^3.0.0"
-"tslib@^1.8.1":
- "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- "resolved" "https://registry.npmmirror.com/tslib/download/tslib-1.14.1.tgz"
- "version" "1.14.1"
+tslib@^1.8.1:
+ version "1.14.1"
+ resolved "https://registry.npmmirror.com/tslib/download/tslib-1.14.1.tgz"
+ integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-"tslib@^2.0.3":
- "integrity" "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
- "resolved" "https://registry.npmmirror.com/tslib/download/tslib-2.3.1.tgz"
- "version" "2.3.1"
+tslib@^2.0.3:
+ version "2.3.1"
+ resolved "https://registry.npmmirror.com/tslib/download/tslib-2.3.1.tgz"
+ integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
-"tsutils@^3.21.0":
- "integrity" "sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM="
- "resolved" "https://registry.npm.taobao.org/tsutils/download/tsutils-3.21.0.tgz?cache=0&sync_timestamp=1615138184534&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftsutils%2Fdownload%2Ftsutils-3.21.0.tgz"
- "version" "3.21.0"
+tsutils@^3.21.0:
+ version "3.21.0"
+ resolved "https://registry.npm.taobao.org/tsutils/download/tsutils-3.21.0.tgz?cache=0&sync_timestamp=1615138184534&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftsutils%2Fdownload%2Ftsutils-3.21.0.tgz"
+ integrity sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM=
dependencies:
- "tslib" "^1.8.1"
+ tslib "^1.8.1"
-"type-check@^0.4.0", "type-check@~0.4.0":
- "integrity" "sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE="
- "resolved" "https://registry.npm.taobao.org/type-check/download/type-check-0.4.0.tgz"
- "version" "0.4.0"
+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"
+ integrity sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=
dependencies:
- "prelude-ls" "^1.2.1"
+ prelude-ls "^1.2.1"
-"type-fest@^0.20.2":
- "integrity" "sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ="
- "resolved" "https://registry.npmmirror.com/type-fest/download/type-fest-0.20.2.tgz"
- "version" "0.20.2"
+type-fest@^0.20.2:
+ version "0.20.2"
+ resolved "https://registry.npmmirror.com/type-fest/download/type-fest-0.20.2.tgz"
+ integrity sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=
-"typescript@^4.5.4", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta":
- "integrity" "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg=="
- "resolved" "https://registry.npmmirror.com/typescript/download/typescript-4.5.4.tgz"
- "version" "4.5.4"
+typescript@^4.5.4:
+ version "4.5.4"
+ resolved "https://registry.npmmirror.com/typescript/download/typescript-4.5.4.tgz"
+ integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==
-"unbox-primitive@^1.0.1":
- "integrity" "sha1-CF4hViXsMWJXTciFmr7nilmxRHE="
- "resolved" "https://registry.npm.taobao.org/unbox-primitive/download/unbox-primitive-1.0.1.tgz?cache=0&sync_timestamp=1616706302651&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funbox-primitive%2Fdownload%2Funbox-primitive-1.0.1.tgz"
- "version" "1.0.1"
+unbox-primitive@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/unbox-primitive/download/unbox-primitive-1.0.1.tgz?cache=0&sync_timestamp=1616706302651&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funbox-primitive%2Fdownload%2Funbox-primitive-1.0.1.tgz"
+ integrity sha1-CF4hViXsMWJXTciFmr7nilmxRHE=
dependencies:
- "function-bind" "^1.1.1"
- "has-bigints" "^1.0.1"
- "has-symbols" "^1.0.2"
- "which-boxed-primitive" "^1.0.2"
+ function-bind "^1.1.1"
+ has-bigints "^1.0.1"
+ has-symbols "^1.0.2"
+ which-boxed-primitive "^1.0.2"
-"union-value@^1.0.0":
- "integrity" "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc="
- "resolved" "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz"
- "version" "1.0.1"
+union-value@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz"
+ integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=
dependencies:
- "arr-union" "^3.1.0"
- "get-value" "^2.0.6"
- "is-extendable" "^0.1.1"
- "set-value" "^2.0.1"
+ arr-union "^3.1.0"
+ get-value "^2.0.6"
+ is-extendable "^0.1.1"
+ set-value "^2.0.1"
-"universalify@^2.0.0":
- "integrity" "sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc="
- "resolved" "https://registry.npm.taobao.org/universalify/download/universalify-2.0.0.tgz?cache=0&sync_timestamp=1603179967633&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-2.0.0.tgz"
- "version" "2.0.0"
+universalify@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/universalify/download/universalify-2.0.0.tgz?cache=0&sync_timestamp=1603179967633&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-2.0.0.tgz"
+ integrity sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc=
-"unset-value@^1.0.0":
- "integrity" "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk="
- "resolved" "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz"
- "version" "1.0.0"
+unset-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz"
+ integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
dependencies:
- "has-value" "^0.3.1"
- "isobject" "^3.0.0"
+ has-value "^0.3.1"
+ isobject "^3.0.0"
-"unzipper@0.10.11":
- "integrity" "sha1-C0mRRGRyy9uS7nQDkJ8mwkGceC4="
- "resolved" "https://registry.npm.taobao.org/unzipper/download/unzipper-0.10.11.tgz"
- "version" "0.10.11"
+unzipper@0.10.11:
+ version "0.10.11"
+ resolved "https://registry.npm.taobao.org/unzipper/download/unzipper-0.10.11.tgz"
+ integrity sha1-C0mRRGRyy9uS7nQDkJ8mwkGceC4=
dependencies:
- "big-integer" "^1.6.17"
- "binary" "~0.3.0"
- "bluebird" "~3.4.1"
- "buffer-indexof-polyfill" "~1.0.0"
- "duplexer2" "~0.1.4"
- "fstream" "^1.0.12"
- "graceful-fs" "^4.2.2"
- "listenercount" "~1.0.1"
- "readable-stream" "~2.3.6"
- "setimmediate" "~1.0.4"
+ big-integer "^1.6.17"
+ binary "~0.3.0"
+ bluebird "~3.4.1"
+ buffer-indexof-polyfill "~1.0.0"
+ duplexer2 "~0.1.4"
+ fstream "^1.0.12"
+ graceful-fs "^4.2.2"
+ listenercount "~1.0.1"
+ readable-stream "~2.3.6"
+ setimmediate "~1.0.4"
-"upper-case-first@^2.0.2":
- "integrity" "sha1-mSwyc/iCq9GdHgKJTMFHEX+EQyQ="
- "resolved" "https://registry.npm.taobao.org/upper-case-first/download/upper-case-first-2.0.2.tgz?cache=0&sync_timestamp=1606867326586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupper-case-first%2Fdownload%2Fupper-case-first-2.0.2.tgz"
- "version" "2.0.2"
+upper-case-first@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/upper-case-first/download/upper-case-first-2.0.2.tgz?cache=0&sync_timestamp=1606867326586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupper-case-first%2Fdownload%2Fupper-case-first-2.0.2.tgz"
+ integrity sha1-mSwyc/iCq9GdHgKJTMFHEX+EQyQ=
dependencies:
- "tslib" "^2.0.3"
+ tslib "^2.0.3"
-"upper-case@^2.0.2":
- "integrity" "sha1-2JgQgj+qsd8VSbfZenb4Ziuub3o="
- "resolved" "https://registry.npm.taobao.org/upper-case/download/upper-case-2.0.2.tgz"
- "version" "2.0.2"
+upper-case@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/upper-case/download/upper-case-2.0.2.tgz"
+ integrity sha1-2JgQgj+qsd8VSbfZenb4Ziuub3o=
dependencies:
- "tslib" "^2.0.3"
+ tslib "^2.0.3"
-"uri-js@^4.2.2":
- "integrity" "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34="
- "resolved" "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237624359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz"
- "version" "4.4.1"
+uri-js@^4.2.2:
+ version "4.4.1"
+ resolved "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237624359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz"
+ integrity sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=
dependencies:
- "punycode" "^2.1.0"
+ punycode "^2.1.0"
-"urix@^0.1.0":
- "integrity" "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
- "resolved" "https://registry.npmmirror.com/urix/download/urix-0.1.0.tgz"
- "version" "0.1.0"
+urix@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npmmirror.com/urix/download/urix-0.1.0.tgz"
+ integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
-"use@^3.1.0":
- "integrity" "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8="
- "resolved" "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz"
- "version" "3.1.1"
+use@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz"
+ integrity sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=
-"util-deprecate@^1.0.1", "util-deprecate@~1.0.1":
- "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
- "resolved" "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz"
- "version" "1.0.2"
+util-deprecate@^1.0.1, util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz"
+ integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
-"v8-compile-cache@^2.0.3":
- "integrity" "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4="
- "resolved" "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz?cache=0&sync_timestamp=1614993994061&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.3.0.tgz"
- "version" "2.3.0"
+v8-compile-cache@^2.0.3:
+ version "2.3.0"
+ resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz?cache=0&sync_timestamp=1614993994061&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.3.0.tgz"
+ integrity sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=
-"vary@^1":
- "integrity" "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
- "resolved" "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz"
- "version" "1.1.2"
+vary@^1:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz"
+ integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
-"vconsole@^3.8.1":
- "integrity" "sha512-DZ6WrSy+5ep11FWxq89DHv8we83rCCrGZaZqlHEXZ+wCvivFd6kfo8OizIP5iQZ0Ynf8Qxj3UfnilFp4HtTVcA=="
- "resolved" "https://registry.npmmirror.com/vconsole/download/vconsole-3.11.0.tgz"
- "version" "3.11.0"
+vconsole@^3.8.1:
+ version "3.11.0"
+ resolved "https://registry.npmmirror.com/vconsole/download/vconsole-3.11.0.tgz"
+ integrity sha512-DZ6WrSy+5ep11FWxq89DHv8we83rCCrGZaZqlHEXZ+wCvivFd6kfo8OizIP5iQZ0Ynf8Qxj3UfnilFp4HtTVcA==
dependencies:
- "cookie-storage" "^6.1.0"
- "copy-text-to-clipboard" "^3.0.1"
- "core-js" "^3.11.0"
- "mutation-observer" "^1.0.3"
+ cookie-storage "^6.1.0"
+ copy-text-to-clipboard "^3.0.1"
+ core-js "^3.11.0"
+ mutation-observer "^1.0.3"
-"vite-plugin-components@^0.13.3":
- "integrity" "sha1-i9oPUI7pAkmgZrpj1ZhXmOXKn+0="
- "resolved" "https://registry.nlark.com/vite-plugin-components/download/vite-plugin-components-0.13.3.tgz"
- "version" "0.13.3"
+vite-plugin-components@^0.13.3:
+ version "0.13.3"
+ resolved "https://registry.nlark.com/vite-plugin-components/download/vite-plugin-components-0.13.3.tgz"
+ integrity sha1-i9oPUI7pAkmgZrpj1ZhXmOXKn+0=
dependencies:
- "debug" "^4.3.2"
- "fast-glob" "^3.2.7"
- "magic-string" "^0.25.7"
- "minimatch" "^3.0.4"
+ debug "^4.3.2"
+ fast-glob "^3.2.7"
+ magic-string "^0.25.7"
+ minimatch "^3.0.4"
-"vite-plugin-eslint@^1.3.0":
- "integrity" "sha1-y8PxVCyl6Q1ZLM+2tJV+m2P5mg4="
- "resolved" "https://registry.nlark.com/vite-plugin-eslint/download/vite-plugin-eslint-1.3.0.tgz"
- "version" "1.3.0"
+vite-plugin-eslint@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.nlark.com/vite-plugin-eslint/download/vite-plugin-eslint-1.3.0.tgz"
+ integrity sha1-y8PxVCyl6Q1ZLM+2tJV+m2P5mg4=
dependencies:
"@rollup/pluginutils" "^4.1.0"
- "eslint" "^7.26.0"
- "rollup" "^2.47.0"
+ eslint "^7.26.0"
+ rollup "^2.47.0"
-"vite-plugin-importer@^0.2.5":
- "integrity" "sha1-I2PcDZfU7OxTDuQBcTEKF8LbB34="
- "resolved" "https://registry.npmmirror.com/vite-plugin-importer/download/vite-plugin-importer-0.2.5.tgz"
- "version" "0.2.5"
+vite-plugin-importer@^0.2.5:
+ version "0.2.5"
+ resolved "https://registry.npmmirror.com/vite-plugin-importer/download/vite-plugin-importer-0.2.5.tgz"
+ integrity sha1-I2PcDZfU7OxTDuQBcTEKF8LbB34=
dependencies:
"@babel/core" "^7.12.17"
"@babel/plugin-syntax-import-meta" "^7.10.4"
- "babel-plugin-import" "^1.13.3"
+ babel-plugin-import "^1.13.3"
-"vite-plugin-optimize-persist@^0.1.2":
- "integrity" "sha512-H/Ebn2kZO8PvwUF08SsT5K5xMJNCWKoGX71+e9/ER3yNj7GHiFjNQlvGg5ih/zEx09MZ9m7WCxOwmEKbeIVzww=="
- "resolved" "https://registry.npmmirror.com/vite-plugin-optimize-persist/download/vite-plugin-optimize-persist-0.1.2.tgz"
- "version" "0.1.2"
+vite-plugin-optimize-persist@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.npmmirror.com/vite-plugin-optimize-persist/download/vite-plugin-optimize-persist-0.1.2.tgz"
+ integrity sha512-H/Ebn2kZO8PvwUF08SsT5K5xMJNCWKoGX71+e9/ER3yNj7GHiFjNQlvGg5ih/zEx09MZ9m7WCxOwmEKbeIVzww==
dependencies:
- "debug" "^4.3.2"
- "fs-extra" "^10.0.0"
+ debug "^4.3.2"
+ fs-extra "^10.0.0"
-"vite-plugin-package-config@^0.1.0", "vite-plugin-package-config@^0.1.1":
- "integrity" "sha512-w9B3I8ZnqoyhlbzimXjXNk85imrMZgvI9m8f6j3zonK5IVA5KXzpT+PZOHlDz8lqh1vqvoEI1uhy+ZDoLAiA/w=="
- "resolved" "https://registry.npmmirror.com/vite-plugin-package-config/download/vite-plugin-package-config-0.1.1.tgz"
- "version" "0.1.1"
+vite-plugin-package-config@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/vite-plugin-package-config/download/vite-plugin-package-config-0.1.1.tgz"
+ integrity sha512-w9B3I8ZnqoyhlbzimXjXNk85imrMZgvI9m8f6j3zonK5IVA5KXzpT+PZOHlDz8lqh1vqvoEI1uhy+ZDoLAiA/w==
dependencies:
- "debug" "^4.3.3"
+ debug "^4.3.3"
-"vite-plugin-style-import@^1.0.1":
- "integrity" "sha512-lJCRvm7+So0hHdnSJiJPg9gD5mxtL6YY0jmhEph+k7ArpsyvqOh6han2kG5htbWWDZxHkUN9d1BuTFL//yCLLQ=="
- "resolved" "https://registry.npmmirror.com/vite-plugin-style-import/download/vite-plugin-style-import-1.4.1.tgz"
- "version" "1.4.1"
+vite-plugin-style-import@^1.0.1:
+ version "1.4.1"
+ resolved "https://registry.npmmirror.com/vite-plugin-style-import/download/vite-plugin-style-import-1.4.1.tgz"
+ integrity sha512-lJCRvm7+So0hHdnSJiJPg9gD5mxtL6YY0jmhEph+k7ArpsyvqOh6han2kG5htbWWDZxHkUN9d1BuTFL//yCLLQ==
dependencies:
"@rollup/pluginutils" "^4.1.2"
- "change-case" "^4.1.2"
- "debug" "^4.3.3"
- "es-module-lexer" "^0.9.3"
- "fs-extra" "^10.0.0"
- "magic-string" "^0.25.7"
+ change-case "^4.1.2"
+ debug "^4.3.3"
+ es-module-lexer "^0.9.3"
+ fs-extra "^10.0.0"
+ magic-string "^0.25.7"
-"vite-plugin-svg-icons@^1.0.5":
- "integrity" "sha512-dmpr7Wq8vQN6ajBrVTrBxy8wJjQfcP30i73q+40uAZc8p7EwphBNZ+bVTI0enFaCrsITI8y0Ruo/mN/SaJQ6Hw=="
- "resolved" "https://registry.npmmirror.com/vite-plugin-svg-icons/download/vite-plugin-svg-icons-1.1.0.tgz"
- "version" "1.1.0"
+vite-plugin-svg-icons@^1.0.5:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/vite-plugin-svg-icons/download/vite-plugin-svg-icons-1.1.0.tgz"
+ integrity sha512-dmpr7Wq8vQN6ajBrVTrBxy8wJjQfcP30i73q+40uAZc8p7EwphBNZ+bVTI0enFaCrsITI8y0Ruo/mN/SaJQ6Hw==
dependencies:
"@types/svgo" "^2.6.0"
- "cors" "^2.8.5"
- "debug" "^4.3.3"
- "etag" "^1.8.1"
- "fs-extra" "^10.0.0"
- "svg-baker" "1.7.0"
- "svgo" "^2.8.0"
+ cors "^2.8.5"
+ debug "^4.3.3"
+ etag "^1.8.1"
+ fs-extra "^10.0.0"
+ svg-baker "1.7.0"
+ svgo "^2.8.0"
-"vite-plugin-vconsole@^1.1.0":
- "integrity" "sha512-8oODvR4inPCVbfeWkxmV++sP6qypH7DfxBAzCT3Erm7XnoK8aTuRls30wXlXL6LDB6e090vTELOYyreGe7OOLA=="
- "resolved" "https://registry.npmmirror.com/vite-plugin-vconsole/download/vite-plugin-vconsole-1.1.1.tgz"
- "version" "1.1.1"
+vite-plugin-vconsole@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/vite-plugin-vconsole/download/vite-plugin-vconsole-1.1.1.tgz"
+ integrity sha512-8oODvR4inPCVbfeWkxmV++sP6qypH7DfxBAzCT3Erm7XnoK8aTuRls30wXlXL6LDB6e090vTELOYyreGe7OOLA==
-"vite@^2.0.0", "vite@^2.4.0", "vite@^2.5.10", "vite@>=2.0.0":
- "integrity" "sha512-KEY96ntXUid1/xJihJbgmLZx7QSC2D4Tui0FdS0Old5OokYzFclcofhtxtjDdGOk/fFpPbHv9yw88+rB93Tb8w=="
- "resolved" "https://registry.npmmirror.com/vite/download/vite-2.7.10.tgz"
- "version" "2.7.10"
+vite@^2.4.0:
+ version "2.7.10"
+ resolved "https://registry.npmmirror.com/vite/download/vite-2.7.10.tgz"
+ integrity sha512-KEY96ntXUid1/xJihJbgmLZx7QSC2D4Tui0FdS0Old5OokYzFclcofhtxtjDdGOk/fFpPbHv9yw88+rB93Tb8w==
dependencies:
- "esbuild" "^0.13.12"
- "postcss" "^8.4.5"
- "resolve" "^1.20.0"
- "rollup" "^2.59.0"
+ esbuild "^0.13.12"
+ postcss "^8.4.5"
+ resolve "^1.20.0"
+ rollup "^2.59.0"
optionalDependencies:
- "fsevents" "~2.3.2"
+ fsevents "~2.3.2"
-"vue-cookies@^1.7.4":
- "integrity" "sha1-0kHQoEMdoHlYN2UdELTXPnyNPo0="
- "resolved" "https://registry.nlark.com/vue-cookies/download/vue-cookies-1.7.4.tgz"
- "version" "1.7.4"
+vue-cookies@^1.7.4:
+ version "1.7.4"
+ resolved "https://registry.nlark.com/vue-cookies/download/vue-cookies-1.7.4.tgz"
+ integrity sha1-0kHQoEMdoHlYN2UdELTXPnyNPo0=
-"vue-eslint-parser@^7.10.0":
- "integrity" "sha1-IUtd6pYQB/z/su5luJEjB2KNDa8="
- "resolved" "https://registry.npmmirror.com/vue-eslint-parser/download/vue-eslint-parser-7.11.0.tgz"
- "version" "7.11.0"
+vue-eslint-parser@^7.10.0:
+ version "7.11.0"
+ resolved "https://registry.npmmirror.com/vue-eslint-parser/download/vue-eslint-parser-7.11.0.tgz"
+ integrity sha1-IUtd6pYQB/z/su5luJEjB2KNDa8=
dependencies:
- "debug" "^4.1.1"
- "eslint-scope" "^5.1.1"
- "eslint-visitor-keys" "^1.1.0"
- "espree" "^6.2.1"
- "esquery" "^1.4.0"
- "lodash" "^4.17.21"
- "semver" "^6.3.0"
+ debug "^4.1.1"
+ eslint-scope "^5.1.1"
+ eslint-visitor-keys "^1.1.0"
+ espree "^6.2.1"
+ esquery "^1.4.0"
+ lodash "^4.17.21"
+ semver "^6.3.0"
-"vue-i18n@^9.1.6":
- "integrity" "sha512-JeRdNVxS2OGp1E+pye5XB6+M6BBkHwAv9C80Q7+kzoMdUDGRna06tjC0vCB/jDX9aWrl5swxOMFcyAr7or8XTA=="
- "resolved" "https://registry.npmmirror.com/vue-i18n/download/vue-i18n-9.1.9.tgz"
- "version" "9.1.9"
+vue-i18n@^9.1.6:
+ version "9.1.9"
+ resolved "https://registry.npmmirror.com/vue-i18n/download/vue-i18n-9.1.9.tgz"
+ integrity sha512-JeRdNVxS2OGp1E+pye5XB6+M6BBkHwAv9C80Q7+kzoMdUDGRna06tjC0vCB/jDX9aWrl5swxOMFcyAr7or8XTA==
dependencies:
"@intlify/core-base" "9.1.9"
"@intlify/shared" "9.1.9"
"@intlify/vue-devtools" "9.1.9"
"@vue/devtools-api" "^6.0.0-beta.7"
-"vue-router@4":
- "integrity" "sha512-CPXvfqe+mZLB1kBWssssTiWg4EQERyqJZes7USiqfW9B5N2x+nHlnsM1D3b5CaJ6qgCvMmYJnz+G0iWjNCvXrg=="
- "resolved" "https://registry.npmmirror.com/vue-router/download/vue-router-4.0.12.tgz"
- "version" "4.0.12"
+vue-router@4:
+ version "4.0.12"
+ resolved "https://registry.npmmirror.com/vue-router/download/vue-router-4.0.12.tgz"
+ integrity sha512-CPXvfqe+mZLB1kBWssssTiWg4EQERyqJZes7USiqfW9B5N2x+nHlnsM1D3b5CaJ6qgCvMmYJnz+G0iWjNCvXrg==
dependencies:
"@vue/devtools-api" "^6.0.0-beta.18"
-"vue-tsc@^0.0.24":
- "integrity" "sha1-DNkNtnn1PqFpQlS4Zj/bPWJKCHI="
- "resolved" "https://registry.npmmirror.com/vue-tsc/download/vue-tsc-0.0.24.tgz"
- "version" "0.0.24"
+vue-tsc@^0.0.24:
+ version "0.0.24"
+ resolved "https://registry.npmmirror.com/vue-tsc/download/vue-tsc-0.0.24.tgz"
+ integrity sha1-DNkNtnn1PqFpQlS4Zj/bPWJKCHI=
dependencies:
- "unzipper" "0.10.11"
+ unzipper "0.10.11"
-"vue-types@^3.0.0":
- "integrity" "sha1-7BbgXUEsA4Ji/B76TOuWR+f7YB0="
- "resolved" "https://registry.npmmirror.com/vue-types/download/vue-types-3.0.2.tgz"
- "version" "3.0.2"
+vue-types@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.npmmirror.com/vue-types/download/vue-types-3.0.2.tgz"
+ integrity sha1-7BbgXUEsA4Ji/B76TOuWR+f7YB0=
dependencies:
- "is-plain-object" "3.0.1"
+ is-plain-object "3.0.1"
-"vue@^3.0.0", "vue@^3.0.2", "vue@^3.2.26", "vue@>=3.0.3", "vue@>=3.1.0", "vue@3.2.26":
- "integrity" "sha512-KD4lULmskL5cCsEkfhERVRIOEDrfEL9CwAsLYpzptOGjaGFNWo3BQ9g8MAb7RaIO71rmVOziZ/uEN/rHwcUIhg=="
- "resolved" "https://registry.npmmirror.com/vue/download/vue-3.2.26.tgz"
- "version" "3.2.26"
+vue@^3.2.26:
+ version "3.2.26"
+ resolved "https://registry.npmmirror.com/vue/download/vue-3.2.26.tgz"
+ integrity sha512-KD4lULmskL5cCsEkfhERVRIOEDrfEL9CwAsLYpzptOGjaGFNWo3BQ9g8MAb7RaIO71rmVOziZ/uEN/rHwcUIhg==
dependencies:
"@vue/compiler-dom" "3.2.26"
"@vue/compiler-sfc" "3.2.26"
@@ -3886,49 +3868,49 @@
"@vue/server-renderer" "3.2.26"
"@vue/shared" "3.2.26"
-"vuex@^4.0.2":
- "integrity" "sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q=="
- "resolved" "https://registry.npmmirror.com/vuex/download/vuex-4.0.2.tgz"
- "version" "4.0.2"
+vuex@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/vuex/download/vuex-4.0.2.tgz"
+ integrity sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==
dependencies:
"@vue/devtools-api" "^6.0.0-beta.11"
-"warning@^4.0.0":
- "integrity" "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM="
- "resolved" "https://registry.npm.taobao.org/warning/download/warning-4.0.3.tgz"
- "version" "4.0.3"
+warning@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.npm.taobao.org/warning/download/warning-4.0.3.tgz"
+ integrity sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=
dependencies:
- "loose-envify" "^1.0.0"
+ loose-envify "^1.0.0"
-"which-boxed-primitive@^1.0.2":
- "integrity" "sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY="
- "resolved" "https://registry.npm.taobao.org/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz"
- "version" "1.0.2"
+which-boxed-primitive@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz"
+ integrity sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY=
dependencies:
- "is-bigint" "^1.0.1"
- "is-boolean-object" "^1.1.0"
- "is-number-object" "^1.0.4"
- "is-string" "^1.0.5"
- "is-symbol" "^1.0.3"
+ is-bigint "^1.0.1"
+ is-boolean-object "^1.1.0"
+ is-number-object "^1.0.4"
+ is-string "^1.0.5"
+ is-symbol "^1.0.3"
-"which@^2.0.1":
- "integrity" "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE="
- "resolved" "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz"
- "version" "2.0.2"
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz"
+ integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=
dependencies:
- "isexe" "^2.0.0"
+ isexe "^2.0.0"
-"word-wrap@^1.2.3":
- "integrity" "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w="
- "resolved" "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz?cache=0&sync_timestamp=1589683603678&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fword-wrap%2Fdownload%2Fword-wrap-1.2.3.tgz"
- "version" "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?cache=0&sync_timestamp=1589683603678&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fword-wrap%2Fdownload%2Fword-wrap-1.2.3.tgz"
+ integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=
-"wrappy@1":
- "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
- "resolved" "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz?cache=0&sync_timestamp=1619133505879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrappy%2Fdownload%2Fwrappy-1.0.2.tgz"
- "version" "1.0.2"
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz?cache=0&sync_timestamp=1619133505879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrappy%2Fdownload%2Fwrappy-1.0.2.tgz"
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-"yallist@^4.0.0":
- "integrity" "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI="
- "resolved" "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz"
- "version" "4.0.0"
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz"
+ integrity sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=
--
Gitblit v1.9.3