Compare commits
10 Commits
369cb0dc77
...
ebb33674bc
| Author | SHA1 | Date | |
|---|---|---|---|
| ebb33674bc | |||
| ba4599e9f7 | |||
| 719f68ee46 | |||
| 1426b6e516 | |||
| 84eadc0c9b | |||
| b2f195dd03 | |||
| 1203e1da84 | |||
| 069165cc00 | |||
| 556c1d4541 | |||
| 6a6e819ee4 |
@@ -20,8 +20,6 @@
|
||||
"babel-preset-es2015": "^6.24.1",
|
||||
"element-ui": "^2.8.2",
|
||||
"jsencrypt": "^3.3.2",
|
||||
"paper": "^0.12.18",
|
||||
"roslib": "^1.4.1",
|
||||
"simple-keyboard": "^3.7.26",
|
||||
"simple-keyboard-layouts": "^3.3.34",
|
||||
"vue": "^2.5.2",
|
||||
|
||||
@@ -161,6 +161,8 @@ module.exports = {
|
||||
toast1: 'Old password cannot be empty',
|
||||
toast2: 'The new password cannot be empty',
|
||||
toast3: 'Enter a new password',
|
||||
toast4: 'The new password input is inconsistent, please re-enter it'
|
||||
toast4: 'The new password input is inconsistent, please re-enter it',
|
||||
toast5: 'Are you sure to shut down?',
|
||||
warning: 'Warning'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,6 +161,8 @@ module.exports = {
|
||||
toast1: '旧密码不能为空',
|
||||
toast2: '新密码不能为空',
|
||||
toast3: '输入新密码',
|
||||
toast4: '新密码输入不一致,请重新输入'
|
||||
toast4: '新密码输入不一致,请重新输入',
|
||||
toast5: '是否确定关机?',
|
||||
warning: '提示'
|
||||
}
|
||||
}
|
||||
|
||||
BIN
src/images/new/switch_10.png
Normal file
BIN
src/images/new/switch_10.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.5 KiB |
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="main-container">
|
||||
<div class="relative main-container">
|
||||
<div class="navs_wraper">
|
||||
<div class="nav_item" v-for="(e, i) in nav" :key="i" :class="'nav_item_' + (i + 1)" @click="toPage(e)">
|
||||
<div class="relative nav_item_i">
|
||||
@@ -8,10 +8,15 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <button class="absolute onoff_wraper" @click="switchDown('1', '0')" :disabled="disabled">
|
||||
<div class="onoff_power"><img src="../../../images/new/switch_10.png" alt=""></div>
|
||||
<div class="onoff_power_txt">{{ $t('vehiclecontrol.poweroff') }}</div>
|
||||
</button> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {ShutDown} from '@config/getData2.js'
|
||||
export default {
|
||||
name: 'MinniHome',
|
||||
data () {
|
||||
@@ -20,12 +25,32 @@ export default {
|
||||
{title: '任务', zh_title: '任务', en_title: 'Task', router: '/mini/carrypoint'},
|
||||
{title: '故障', zh_title: '故障', en_title: 'Fault', router: '/mini/errorinfo'},
|
||||
{title: '示教', zh_title: '示教', en_title: 'Teach', router: '/mini/teach'}
|
||||
]
|
||||
],
|
||||
disabled: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
toPage (e) {
|
||||
this.$router.push(e.router)
|
||||
},
|
||||
switchDown (type, bool) {
|
||||
this.disabled = true
|
||||
bool = bool === '0' ? '1' : '0'
|
||||
this._ShutDown(type, bool)
|
||||
},
|
||||
async _ShutDown (type, bool) {
|
||||
try {
|
||||
let res = await ShutDown(type, bool) // type:1-关机、2-显示屏控制、3-TCS控制、4-SCHE控制、5-RC控制、6-Joy控制,7-退出,8-软启动,9-跳过起点,10-重启,11-全屏,12-跳过检测 ; bool:开关或按钮的值,开关开启传1,关闭传0,按钮点击直接传1
|
||||
if (res.code === '1') {
|
||||
this.toast(res.desc)
|
||||
} else {
|
||||
this.toast(res.desc)
|
||||
}
|
||||
this.disabled = false
|
||||
} catch (e) {
|
||||
this.disabled = false
|
||||
this.toast(this.$t('common.operationfailed'))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -41,7 +66,8 @@ export default {
|
||||
padding 0 12%
|
||||
.nav_item
|
||||
width 29%
|
||||
padding 12px
|
||||
height 70%
|
||||
padding 1.5%
|
||||
color #fff
|
||||
font-size 40px
|
||||
border 1px solid #2f9ae3
|
||||
@@ -51,14 +77,16 @@ export default {
|
||||
background-repeat: repeat;
|
||||
cursor pointer
|
||||
.nav_item_i
|
||||
_fj()
|
||||
_fj(center,,column)
|
||||
height 100%
|
||||
padding 20px 40px 20px 35px
|
||||
background-image linear-gradient(to bottom,rgba(42, 83, 138, 50%), rgba(57, 101, 181, 50%))
|
||||
border-top 2px solid #62b2f0
|
||||
border-left 2px solid #62b2f0
|
||||
box-shadow inset 0 0px 12px 8px rgba(98, 180, 243, 50%)
|
||||
p
|
||||
font-size 56px
|
||||
font-size 70px
|
||||
line-height 120px
|
||||
color #F6F9FE
|
||||
font-family: YouSheBiaoTiHei
|
||||
background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(49,190,255,0.9) 0%, rgba(239,252,254,1) 40%);
|
||||
@@ -81,8 +109,8 @@ export default {
|
||||
width 2px
|
||||
background-image linear-gradient(to bottom,#62b2f0,#b1ebf8)
|
||||
.nav_icon
|
||||
width 25%
|
||||
padding-top 25%
|
||||
width 50%
|
||||
padding-top 50%
|
||||
border-radius 50%
|
||||
.nav_item_1
|
||||
.nav_icon
|
||||
@@ -93,4 +121,30 @@ export default {
|
||||
.nav_item_3
|
||||
.nav_icon
|
||||
background #80372D center center / 70% auto url(../../../images/new/RF3.png) no-repeat
|
||||
.onoff_wraper
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
bottom 0
|
||||
left 50%
|
||||
transform translateX(-50%)
|
||||
background-color transparent
|
||||
.onoff_power
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
border: 1px solid #1a48f7;
|
||||
border-radius: 50%;
|
||||
box-shadow: inset 14px 0px 7px 0px rgba(26, 138, 247, 80%), inset -14px 0px 7px 0px rgba(26, 138, 247, 80%);
|
||||
img
|
||||
width 50%
|
||||
height auto
|
||||
.onoff_power_txt
|
||||
font-size 30px
|
||||
color #fff
|
||||
line-height 60px
|
||||
font-family 'Source Han Sans CN'
|
||||
text-align center
|
||||
</style>
|
||||
|
||||
@@ -158,7 +158,7 @@ export default {
|
||||
this.$store.dispatch('userInfo', JSON.stringify(obj))
|
||||
this.$store.dispatch('setLoginInfo', {username: this.username, password: this.password})
|
||||
this.hide()
|
||||
if (res.result.user.user.isAdmin) {
|
||||
if (!res.result.user.user.isAdmin) {
|
||||
this.$router.push('/mini/home')
|
||||
} else {
|
||||
this.$router.push('/index/home')
|
||||
|
||||
@@ -17,18 +17,66 @@
|
||||
<button class="mgl20 button_control" :class="{'button_control_gray': !pkId || active}" :disabled="disabled" @click="_confirmPoint('4')"><p>{{ $t('carrypoint.button2') }}</p></button>
|
||||
<button class="mgl20 button_control button_control_disabled" :class="{'button_control_gray': !pkId || !active}" :disabled="disabled" @click="_deleteSingleTask"><p>{{ $t('tasklists.button3') }}</p></button>
|
||||
<button class="mgl20 button_control" :class="{'button_control_gray': !pkId || active}" :disabled="disabled" @click="_confirmPoint('1')"><p>{{ $t('carrypoint.button5') }}</p></button>
|
||||
<button class="mgl20 button_control" @click="showDialog('1')"><p>{{ $t('carrypoint.button3') }}</p></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<jxDialog
|
||||
ref="child"
|
||||
:title="$t('carrypoint.dialoginfo')"
|
||||
@toSure="toSureDialog"
|
||||
@toCancle="toCancle"
|
||||
>
|
||||
<div class="form_wraper">
|
||||
<div class="form">
|
||||
<div class="form_item">
|
||||
<div class="form_item__label"><i>*</i>{{ $t('carrypoint.pointcode') }}</div>
|
||||
<div class="form_item__content">
|
||||
<keyboard-input
|
||||
inputClass="form_item__input"
|
||||
keyboardClass="pointcode"
|
||||
:value="pointcode"
|
||||
@inputChange="inputChange1"
|
||||
@inputFocus="inputFocus"
|
||||
></keyboard-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="type === '2'" class="form_wraper">
|
||||
<div class="form">
|
||||
<div class="form_item">
|
||||
<div class="form_item__label">{{ $t('carrypoint.returnsite') }}</div>
|
||||
<div class="form_item__content">
|
||||
<el-select v-model="value" filterable :placeholder="$t('common.pleaseselect')">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.point_code"
|
||||
:label="$i18n.locale === 'en-us' ? item.en_code_name : item.code_name"
|
||||
:value="item.point_code">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</jxDialog>
|
||||
</div>
|
||||
<vue-touch-keyboard id="keyboard" :options="keyoptions" v-if="visible" :layout="layout" :cancel="hide" :accept="accept" :input="input" :next="next" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import jxDialog from '@components/dialog.vue'
|
||||
import KeyboardInput from '@components/keyboard-input'
|
||||
// import {queryPoint, querySingleTask} from '@/config/mork.js'
|
||||
import {queryPoint, querySingleTask, confirmPoint, deleteSingleTask} from '@/config/getData.js'
|
||||
export default {
|
||||
name: 'CarryPoint',
|
||||
components: {
|
||||
jxDialog,
|
||||
KeyboardInput
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
interTime: this.$store.getters.setTime,
|
||||
@@ -38,7 +86,10 @@ export default {
|
||||
disabled: false,
|
||||
pkId: '',
|
||||
dataList: [],
|
||||
active: false
|
||||
active: false,
|
||||
pointcode: '',
|
||||
visible: false,
|
||||
loading: null
|
||||
}
|
||||
},
|
||||
created () {
|
||||
@@ -50,6 +101,51 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
inputFocus () {
|
||||
this.visible = false
|
||||
},
|
||||
inputChange1 (val) {
|
||||
this.pointcode = val
|
||||
// 限制只能输入数字,后端校验
|
||||
// this.pointcode = val.replace(/[^\d]/g, '')
|
||||
},
|
||||
hide () {
|
||||
this.visible = false
|
||||
},
|
||||
showDialog (type) {
|
||||
this.type = type
|
||||
this.$refs.child.active = true
|
||||
this.pointcode = ''
|
||||
},
|
||||
toSureDialog () {
|
||||
this.__confirmPoint(this.pointcode, this.type)
|
||||
this.$refs.child.active = false
|
||||
},
|
||||
async __confirmPoint (code, type) {
|
||||
this.loading = this.$loading({
|
||||
lock: true,
|
||||
text: this.$t('common.loading'),
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
try {
|
||||
let res = await confirmPoint(code, type)
|
||||
this.loading.close()
|
||||
if (this.timer) {
|
||||
clearInterval(this.timer)
|
||||
}
|
||||
this.toast(res.desc)
|
||||
setTimeout(() => {
|
||||
this.refresh()
|
||||
}, 1000)
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
this.loading.close()
|
||||
}
|
||||
},
|
||||
toCancle () {
|
||||
this.hide()
|
||||
},
|
||||
refresh () {
|
||||
this._querySingleTask()
|
||||
this.timer = setInterval(() => {
|
||||
@@ -116,8 +212,15 @@ export default {
|
||||
this.disabled = false
|
||||
return
|
||||
}
|
||||
this.loading = this.$loading({
|
||||
lock: true,
|
||||
text: this.$t('common.loading'),
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
try {
|
||||
let res = await confirmPoint(this.pkId, type)
|
||||
this.loading.close()
|
||||
if (this.timer) {
|
||||
clearInterval(this.timer)
|
||||
}
|
||||
@@ -129,6 +232,7 @@ export default {
|
||||
this.disabled = false
|
||||
} catch (e) {
|
||||
this.disabled = false
|
||||
this.loading.close()
|
||||
}
|
||||
},
|
||||
toRadio (e) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="main-container">
|
||||
<div class="iframe_wrap">
|
||||
<iframe class="iframe" src="./static/Magic20241213/HMI_JavaApp_FullScreen.html" frameborder="0"></iframe>
|
||||
<iframe class="iframe" src="./static/Magic4/HMI_JavaApp_FullScreen.html" frameborder="0"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="iframe_wrap">
|
||||
<iframe class="iframe" src="./static/Magic20241213/HMI_JavaApp_Slam.html" frameborder="0"></iframe>
|
||||
<iframe class="iframe" src="./static/Magic4/HMI_JavaApp_Slam.html" frameborder="0"></iframe>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="iframe_wrap">
|
||||
<iframe class="iframe" src="./static/Magic20241213/HMI_JavaApp_Teach.html" frameborder="0"></iframe>
|
||||
<iframe class="iframe" src="./static/Magic4/HMI_JavaApp_Teach.html" frameborder="0"></iframe>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
</div>
|
||||
<jxDialog
|
||||
ref="child"
|
||||
title="修改密码"
|
||||
:title="$t('common.changepassword')"
|
||||
:unclick="unclick"
|
||||
@toSure="toSureDialog"
|
||||
@toCancle="toCancle"
|
||||
|
||||
@@ -30,12 +30,17 @@
|
||||
</div>
|
||||
<div v-show="dropdown" class="header_dropdown_wraper">
|
||||
<ul>
|
||||
<li @click="showDialog">{{ $t('common.changepassword') }}</li>
|
||||
<li @click="showDialog(1)">{{ $t('common.changepassword') }}</li>
|
||||
<li @click="$router.push('/mini/debug'), dropdown = false">debuger</li>
|
||||
<li @click="toEixt">{{ $t('common.exit') }}</li>
|
||||
</ul>
|
||||
<div class="popper__arrow"></div>
|
||||
</div>
|
||||
<div class="state-line" style="margin-right: 0"></div>
|
||||
<div class="state-line"></div>
|
||||
</div>
|
||||
<div class="header_user_wraper">
|
||||
<button class="onoff_power" :disabled="disabled" @click="showDialog(2)"></button>
|
||||
<div class="state-line"></div>
|
||||
</div>
|
||||
<div class="time-container">
|
||||
<jxTime></jxTime>
|
||||
@@ -56,12 +61,12 @@
|
||||
</div>
|
||||
<jxDialog
|
||||
ref="child"
|
||||
title="修改密码"
|
||||
:title="type === 1 ? $t('common.changepassword') : $t('common.warning')"
|
||||
:unclick="unclick"
|
||||
@toSure="toSureDialog"
|
||||
@toCancle="toCancle"
|
||||
>
|
||||
<div class="form_wraper">
|
||||
<div v-if="type === 1" class="form_wraper">
|
||||
<div class="form">
|
||||
<div class="form_item">
|
||||
<div class="form_item__label form_item__label_pass"><i>*</i>{{ $t('common.oldpassword') }}</div>
|
||||
@@ -87,6 +92,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="type === 2" class="form_wraper">{{ $t('common.toast5') }}</div>
|
||||
</jxDialog>
|
||||
<vue-touch-keyboard id="keyboard" :options="options" v-if="visible" :layout="layout" :cancel="hide" :accept="accept" :input="input" :next="next" />
|
||||
</div>
|
||||
@@ -95,7 +101,7 @@
|
||||
<script>
|
||||
import jxTime from '@components/time.vue'
|
||||
import jxDialog from '@components/dialog.vue'
|
||||
import { updatePass, authLogout } from '@config/getData2.js'
|
||||
import { updatePass, authLogout, ShutDown } from '@config/getData2.js'
|
||||
import { sendWebsocket, closeWebsocket } from '@/config/websocket.js'
|
||||
import {encrypt} from '../../../main.js'
|
||||
export default {
|
||||
@@ -123,7 +129,9 @@ export default {
|
||||
},
|
||||
topInfo: {},
|
||||
selectTypeList: [{value: 'zh-cn', label: '中文'}, {value: 'en-us', label: 'English'}],
|
||||
selectType: ''
|
||||
selectType: '',
|
||||
type: null,
|
||||
disabled: false
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@@ -196,17 +204,46 @@ export default {
|
||||
showDropdown () {
|
||||
this.dropdown = !this.dropdown
|
||||
},
|
||||
showDialog () {
|
||||
this.dropdown = false
|
||||
this.$refs.child.active = true
|
||||
this.oldpassword = ''
|
||||
this.newpassword1 = ''
|
||||
this.newpassword2 = ''
|
||||
this.unclick = true
|
||||
showDialog (type) {
|
||||
this.type = type
|
||||
if (type === 1) {
|
||||
this.dropdown = false
|
||||
this.$refs.child.active = true
|
||||
this.oldpassword = ''
|
||||
this.newpassword1 = ''
|
||||
this.newpassword2 = ''
|
||||
this.unclick = true
|
||||
} else if (type === 2) {
|
||||
this.$refs.child.active = true
|
||||
}
|
||||
},
|
||||
toSureDialog () {
|
||||
this._updatePass()
|
||||
this.hide()
|
||||
if (this.type === 1) {
|
||||
this._updatePass()
|
||||
this.hide()
|
||||
} else if (this.type === 2) {
|
||||
this.switchDown('1', '0')
|
||||
this.hide()
|
||||
}
|
||||
},
|
||||
switchDown (type, bool) {
|
||||
this.disabled = true
|
||||
bool = bool === '0' ? '1' : '0'
|
||||
this._ShutDown(type, bool)
|
||||
},
|
||||
async _ShutDown (type, bool) {
|
||||
try {
|
||||
let res = await ShutDown(type, bool) // type:1-关机、2-显示屏控制、3-TCS控制、4-SCHE控制、5-RC控制、6-Joy控制,7-退出,8-软启动,9-跳过起点,10-重启,11-全屏,12-跳过检测 ; bool:开关或按钮的值,开关开启传1,关闭传0,按钮点击直接传1
|
||||
if (res.code === '1') {
|
||||
this.toast(res.desc)
|
||||
} else {
|
||||
this.toast(res.desc)
|
||||
}
|
||||
this.disabled = false
|
||||
} catch (e) {
|
||||
this.disabled = false
|
||||
this.toast(this.$t('common.operationfailed'))
|
||||
}
|
||||
},
|
||||
toCancle () {
|
||||
this.hide()
|
||||
@@ -553,4 +590,9 @@ export default {
|
||||
width calc(100% - 205px)
|
||||
.home_button p
|
||||
letter-spacing 2px
|
||||
.onoff_power
|
||||
width 38px
|
||||
height 38px
|
||||
background center /100% auto url(../../../images/new/switch_10.png) no-repeat
|
||||
margin 0 5px
|
||||
</style>
|
||||
|
||||
@@ -134,6 +134,9 @@ const router = new VueRouter({
|
||||
}, {
|
||||
path: 'teach',
|
||||
component: Teach
|
||||
}, {
|
||||
path: 'debug',
|
||||
component: Debug
|
||||
}]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -439,11 +439,13 @@
|
||||
// 用户管理
|
||||
.buttons_wrapper
|
||||
margin 31px 55px 36px 55px
|
||||
overflow-x auto
|
||||
.button_control
|
||||
_wh(335px, 91px)
|
||||
background center url(../images/new/button.png) no-repeat
|
||||
background-size 100% 100%
|
||||
p
|
||||
_font(48px, 48px, #EFF2FF,,center)
|
||||
_font(48px, 1, #EFF2FF,,center)
|
||||
font-family: YouSheBiaoTiHei
|
||||
background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(49,190,255,0.9) 0%, rgba(239,252,254,1) 40%);
|
||||
-webkit-background-clip: text;
|
||||
@@ -452,8 +454,10 @@
|
||||
_wh(331px, 88px)
|
||||
.button_control_disabled
|
||||
background center url(../images/new/button_disabled.png) no-repeat
|
||||
background-size 100% 100%
|
||||
.button_control_gray
|
||||
background center url(../images/new/button_gray.png) no-repeat
|
||||
background-size 100% 100%
|
||||
.grid_wrapper
|
||||
width 100%
|
||||
table
|
||||
|
||||
@@ -3,7 +3,7 @@ import { getStore, setStore } from '@config/utils.js'
|
||||
|
||||
const baseUrl = process.env.NODE_ENV === 'development' ? 'http://47.98.105.245:8018' : 'http://localhost:8018'
|
||||
const setTime = '5000'
|
||||
const username = 'admin'
|
||||
const username = 'user'
|
||||
const password = '123456'
|
||||
const state = {
|
||||
baseUrl: getStore('baseUrl') || baseUrl,
|
||||
|
||||
173
yarn.lock
173
yarn.lock
@@ -148,30 +148,6 @@
|
||||
lodash "^4.17.19"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
"@socket.io/component-emitter@~3.1.0":
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2"
|
||||
integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==
|
||||
|
||||
"@types/cookie@^0.4.1":
|
||||
version "0.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d"
|
||||
integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==
|
||||
|
||||
"@types/cors@^2.8.12":
|
||||
version "2.8.17"
|
||||
resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.17.tgz#5d718a5e494a8166f569d986794e49c48b216b2b"
|
||||
integrity sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/node@*", "@types/node@>=10.0.0":
|
||||
version "22.7.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.5.tgz#cfde981727a7ab3611a481510b473ae54442b92b"
|
||||
integrity sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==
|
||||
dependencies:
|
||||
undici-types "~6.19.2"
|
||||
|
||||
"@types/node@^8.0.7":
|
||||
version "8.10.48"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.48.tgz#e385073561643a9ba6199a1985ffc03530f90781"
|
||||
@@ -187,11 +163,6 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1"
|
||||
integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==
|
||||
|
||||
"@xmldom/xmldom@^0.8.0":
|
||||
version "0.8.10"
|
||||
resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99"
|
||||
integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==
|
||||
|
||||
abab@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f"
|
||||
@@ -1423,11 +1394,6 @@ base64-js@^1.0.2:
|
||||
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
|
||||
integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==
|
||||
|
||||
base64id@2.0.0, base64id@~2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6"
|
||||
integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==
|
||||
|
||||
base@^0.11.1:
|
||||
version "0.11.2"
|
||||
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
|
||||
@@ -1823,11 +1789,6 @@ caseless@~0.12.0:
|
||||
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
|
||||
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
|
||||
|
||||
cbor-js@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cbor-js/-/cbor-js-0.1.0.tgz#c80ce6120f387e8faa74370dfda21d965b8fc7f9"
|
||||
integrity sha512-7sQ/TvDZPl7csT1Sif9G0+MA0I0JOVah8+wWlJVQdVEgIbCzlN/ab3x+uvMNsc34TUvO6osQTAmB2ls80JX6tw==
|
||||
|
||||
center-align@^0.1.1:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
|
||||
@@ -2246,11 +2207,6 @@ cookie@0.4.0:
|
||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
|
||||
integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
|
||||
|
||||
cookie@~0.7.2:
|
||||
version "0.7.2"
|
||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7"
|
||||
integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==
|
||||
|
||||
copy-concurrently@^1.0.0:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
|
||||
@@ -2292,14 +2248,6 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
|
||||
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
|
||||
|
||||
cors@~2.8.5:
|
||||
version "2.8.5"
|
||||
resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
|
||||
integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
|
||||
dependencies:
|
||||
object-assign "^4"
|
||||
vary "^1"
|
||||
|
||||
cosmiconfig@^2.1.0, cosmiconfig@^2.1.1:
|
||||
version "2.2.2"
|
||||
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892"
|
||||
@@ -2589,13 +2537,6 @@ debug@^3.1.0, debug@^3.2.6:
|
||||
dependencies:
|
||||
ms "^2.1.1"
|
||||
|
||||
debug@~4.3.1, debug@~4.3.2, debug@~4.3.4:
|
||||
version "4.3.7"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52"
|
||||
integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==
|
||||
dependencies:
|
||||
ms "^2.1.3"
|
||||
|
||||
decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
|
||||
@@ -2956,27 +2897,6 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0:
|
||||
dependencies:
|
||||
once "^1.4.0"
|
||||
|
||||
engine.io-parser@~5.2.1:
|
||||
version "5.2.3"
|
||||
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.3.tgz#00dc5b97b1f233a23c9398d0209504cf5f94d92f"
|
||||
integrity sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==
|
||||
|
||||
engine.io@~6.6.0:
|
||||
version "6.6.2"
|
||||
resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.6.2.tgz#32bd845b4db708f8c774a4edef4e5c8a98b3da72"
|
||||
integrity sha512-gmNvsYi9C8iErnZdVcJnvCpSKbWTt1E8+JZo8b+daLninywUWi5NQ5STSHZ9rFjFO7imNcvb8Pc5pe/wMR5xEw==
|
||||
dependencies:
|
||||
"@types/cookie" "^0.4.1"
|
||||
"@types/cors" "^2.8.12"
|
||||
"@types/node" ">=10.0.0"
|
||||
accepts "~1.3.4"
|
||||
base64id "2.0.0"
|
||||
cookie "~0.7.2"
|
||||
cors "~2.8.5"
|
||||
debug "~4.3.1"
|
||||
engine.io-parser "~5.2.1"
|
||||
ws "~8.17.1"
|
||||
|
||||
enhanced-resolve@^3.4.0:
|
||||
version "3.4.1"
|
||||
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e"
|
||||
@@ -3337,11 +3257,6 @@ event-emitter@~0.3.5:
|
||||
d "1"
|
||||
es5-ext "~0.10.14"
|
||||
|
||||
eventemitter2@^6.4.0:
|
||||
version "6.4.9"
|
||||
resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.9.tgz#41f2750781b4230ed58827bc119d293471ecb125"
|
||||
integrity sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==
|
||||
|
||||
eventemitter3@^3.0.0:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7"
|
||||
@@ -6039,11 +5954,6 @@ ms@2.1.1, ms@^2.1.1:
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
|
||||
integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
|
||||
|
||||
ms@^2.1.3:
|
||||
version "2.1.3"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
|
||||
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
|
||||
|
||||
multicast-dns-service-types@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901"
|
||||
@@ -6322,7 +6232,7 @@ oauth-sign@~0.9.0:
|
||||
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
|
||||
integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
|
||||
|
||||
object-assign@^4, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
|
||||
object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
|
||||
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
|
||||
@@ -6563,11 +6473,6 @@ pako@~1.0.5:
|
||||
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732"
|
||||
integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==
|
||||
|
||||
paper@^0.12.18:
|
||||
version "0.12.18"
|
||||
resolved "https://registry.yarnpkg.com/paper/-/paper-0.12.18.tgz#e024056217a35c36e2b5fda4629310fdc7025c91"
|
||||
integrity sha512-ZSLIEejQTJZuYHhSSqAf4jXOnii0kPhCJGAnYAANtdS72aNwXJ9cP95tZHgq1tnNpvEwgQhggy+4OarviqTCGw==
|
||||
|
||||
parallel-transform@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06"
|
||||
@@ -6773,11 +6678,6 @@ pn@^1.1.0:
|
||||
resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
|
||||
integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==
|
||||
|
||||
pngparse@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/pngparse/-/pngparse-2.0.1.tgz#86852de4de349f4efb1e852e7525655e5ac5dfb8"
|
||||
integrity sha512-RyB1P0BBwt3CNIZ5wT53lR1dT3CUtopnMOuP8xZdHjPhI/uXNNRnkx1yQb/3MMMyyMeo6p19fiIRHcLopWIkxA==
|
||||
|
||||
portfinder@^1.0.13, portfinder@^1.0.9:
|
||||
version "1.0.20"
|
||||
resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a"
|
||||
@@ -7770,21 +7670,6 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
|
||||
hash-base "^3.0.0"
|
||||
inherits "^2.0.1"
|
||||
|
||||
roslib@^1.4.1:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/roslib/-/roslib-1.4.1.tgz#ddf7c61e60d8e563d46ba8e2ea9ad90f9a1e5aa3"
|
||||
integrity sha512-l3BOHqG99RHb73XROykj8o2rRaUqqYwN0E6C1EkH+R1GIfDjMaUGPaCNEoKKmsXT0Vu0EOyL1BudQtdVlMsgjA==
|
||||
dependencies:
|
||||
"@xmldom/xmldom" "^0.8.0"
|
||||
cbor-js "^0.1.0"
|
||||
eventemitter2 "^6.4.0"
|
||||
object-assign "^4.0.0"
|
||||
pngparse "^2.0.0"
|
||||
socket.io "^4.0.0"
|
||||
webworkify "^1.5.0"
|
||||
webworkify-webpack "^2.1.5"
|
||||
ws "^8.0.0"
|
||||
|
||||
rsvp@^3.3.3:
|
||||
version "3.6.2"
|
||||
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a"
|
||||
@@ -8094,35 +7979,6 @@ snapdragon@^0.8.1:
|
||||
source-map-resolve "^0.5.0"
|
||||
use "^3.1.0"
|
||||
|
||||
socket.io-adapter@~2.5.2:
|
||||
version "2.5.5"
|
||||
resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz#c7a1f9c703d7756844751b6ff9abfc1780664082"
|
||||
integrity sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==
|
||||
dependencies:
|
||||
debug "~4.3.4"
|
||||
ws "~8.17.1"
|
||||
|
||||
socket.io-parser@~4.2.4:
|
||||
version "4.2.4"
|
||||
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83"
|
||||
integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==
|
||||
dependencies:
|
||||
"@socket.io/component-emitter" "~3.1.0"
|
||||
debug "~4.3.1"
|
||||
|
||||
socket.io@^4.0.0:
|
||||
version "4.8.0"
|
||||
resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.8.0.tgz#33d05ae0915fad1670bd0c4efcc07ccfabebe3b1"
|
||||
integrity sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA==
|
||||
dependencies:
|
||||
accepts "~1.3.4"
|
||||
base64id "~2.0.0"
|
||||
cors "~2.8.5"
|
||||
debug "~4.3.2"
|
||||
engine.io "~6.6.0"
|
||||
socket.io-adapter "~2.5.2"
|
||||
socket.io-parser "~4.2.4"
|
||||
|
||||
sockjs-client@1.1.5:
|
||||
version "1.1.5"
|
||||
resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.5.tgz#1bb7c0f7222c40f42adf14f4442cbd1269771a83"
|
||||
@@ -8845,11 +8701,6 @@ uglifyjs-webpack-plugin@^1.1.1:
|
||||
webpack-sources "^1.1.0"
|
||||
worker-farm "^1.5.2"
|
||||
|
||||
undici-types@~6.19.2:
|
||||
version "6.19.8"
|
||||
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02"
|
||||
integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==
|
||||
|
||||
union-value@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"
|
||||
@@ -8998,7 +8849,7 @@ validate-npm-package-license@^3.0.1:
|
||||
spdx-correct "^3.0.0"
|
||||
spdx-expression-parse "^3.0.0"
|
||||
|
||||
vary@^1, vary@~1.1.2:
|
||||
vary@~1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
|
||||
integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
|
||||
@@ -9285,16 +9136,6 @@ websocket-extensions@>=0.1.1:
|
||||
resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29"
|
||||
integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==
|
||||
|
||||
webworkify-webpack@^2.1.5:
|
||||
version "2.1.5"
|
||||
resolved "https://registry.yarnpkg.com/webworkify-webpack/-/webworkify-webpack-2.1.5.tgz#bf4336624c0626cbe85cf1ffde157f7aa90b1d1c"
|
||||
integrity sha512-2akF8FIyUvbiBBdD+RoHpoTbHMQF2HwjcxfDvgztAX5YwbZNyrtfUMgvfgFVsgDhDPVTlkbb5vyasqDHfIDPQw==
|
||||
|
||||
webworkify@^1.5.0:
|
||||
version "1.5.0"
|
||||
resolved "https://registry.yarnpkg.com/webworkify/-/webworkify-1.5.0.tgz#734ad87a774de6ebdd546e1d3e027da5b8f4a42c"
|
||||
integrity sha512-AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g==
|
||||
|
||||
whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
|
||||
@@ -9430,16 +9271,6 @@ ws@^5.2.0:
|
||||
dependencies:
|
||||
async-limiter "~1.0.0"
|
||||
|
||||
ws@^8.0.0:
|
||||
version "8.18.0"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc"
|
||||
integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==
|
||||
|
||||
ws@~8.17.1:
|
||||
version "8.17.1"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b"
|
||||
integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==
|
||||
|
||||
xml-name-validator@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
|
||||
|
||||
Reference in New Issue
Block a user