perf(web ui): dashboard

This commit is contained in:
辗转反侧的咸鱼
2022-11-18 13:40:52 +08:00
committed by hengyunabc
parent f74167bfdb
commit e9e2c57934
10 changed files with 307 additions and 377 deletions
@@ -1,12 +1,10 @@
<script setup lang="ts">
import Chart from "./Base.vue"
import * as echarts from 'echarts/core';
import { DatasetComponentOption, DataZoomComponent, DataZoomComponentOption, GridComponent, GridComponentOption, LegendComponent, LegendComponentOption, TitleComponentOption, ToolboxComponentOption, TooltipComponentOption } from 'echarts/components';
import { BarChart, BarSeriesOption, } from 'echarts/charts';
import { DataZoomComponent, GridComponent } from 'echarts/components';
import { BarChart,} from 'echarts/charts';
import { LabelLayout } from 'echarts/features';
import { BarChartOption } from "@/echart";
let useList = ([
// LegendComponent,
BarChart,
LabelLayout,
GridComponent,
@@ -1,24 +1,19 @@
<script setup lang="ts">
import * as echarts from 'echarts/core';
import { SVGRenderer } from 'echarts/renderers';
import { TitleComponent, TitleComponentOption, TooltipComponent, TooltipComponentOption, ToolboxComponent, LegendComponent} from 'echarts/components'
import { TitleComponent, TooltipComponent, ToolboxComponent, LegendComponent} from 'echarts/components'
import { onBeforeUnmount, onMounted, Ref, ref, watch } from 'vue';
// option && myChart.setOption(option);
type GetTuple<T extends unknown> = T extends T
? T extends [...infer E]
? T extends [...infer _E]
? T
: never
: never
type UseType = GetTuple<Parameters<typeof echarts.use>[0]>
// echarts.ECharts
type OptionType = Parameters<echarts.ECharts["setOption"]>[0]
const props = defineProps<{
useList: UseType,
option: OptionType,
}>()
// type EChartsOption = echarts.ComposeOption<TooltipComponentOption | TitleComponentOption | DatasetComponentOption | PieSeriesOption>;
const container = ref(null)
let myChart: echarts.ECharts
echarts.use([
@@ -36,7 +31,6 @@ const resizeDom = () => {
myChart && myChart.resize()
}
onMounted(() => {
// container.value.el.id = chartId.toString()
let dom = container.value
myChart = echarts.init(dom as unknown as HTMLElement)
myChart && myChart.setOption<OptionType>({
@@ -1,20 +0,0 @@
<script setup lang="ts">
// import Chart from "./Chart.vue"
import * as echarts from 'echarts/core';
import { DatasetComponent, DatasetComponentOption, LegendComponent, TitleComponentOption, TooltipComponentOption } from 'echarts/components';
import { PieChart } from 'echarts/charts';
import { LabelLayout } from 'echarts/features';
import { CircleChartOption } from "@/echart";
import Base from './Base.vue';
let useList = ([
PieChart,
LabelLayout,
DatasetComponent
]);
// type CircleChartsOption = echarts.ComposeOption<TooltipComponentOption | TitleComponentOption | DatasetComponentOption | PieSeriesOption>;
const props = defineProps<{ option: CircleChartOption }>()
</script>
<template>
<Base :use-list="useList" :option="props.option" />
</template>
@@ -1,6 +1,5 @@
<script setup lang="ts">
import Chart from "./Base.vue"
import * as echarts from 'echarts/core';
import { DataZoomComponent, GridComponent } from 'echarts/components';
import { LineChart } from 'echarts/charts';
import { LabelLayout } from 'echarts/features';
-7
View File
@@ -38,10 +38,3 @@ type BarChartOption = echarts.ComposeOption<
| ToolboxComponentOption
>;
type CircleChartOption = echarts.ComposeOption<
| TooltipComponentOption
| TitleComponentOption
| DatasetComponentOption
| PieSeriesOption
| LegendComponentOption
>;
@@ -4,6 +4,12 @@ import router from "./router/index";
import { createPinia } from "pinia";
import App from "./App.vue";
import "highlight.js/styles/stackoverflow-light.css";
import timezone from "dayjs/plugin/timezone"
import utc from "dayjs/plugin/utc"
import dayjs from "dayjs";
dayjs.extend(utc)
dayjs.extend(timezone)
const app = createApp(App);
app.use(router)
@@ -6,8 +6,9 @@ import { useInterpret, useMachine } from '@xstate/vue';
import { onBeforeMount, onBeforeUnmount, reactive, ref } from 'vue';
import permachine from '@/machines/perRequestMachine';
import Bar from '@/components/charts/Bar.vue';
import { BarChartOption, CircleChartOption } from '@/echart';
import Circle from '@/components/charts/Circle.vue';
import { BarChartOption, LineChartOption } from '@/echart';
import Line from '@/components/charts/Line.vue';
import dayjs from "dayjs";
const fetchS = fetchStore()
const { getCommonResEffect } = publicStore()
const dashboadM = useInterpret(permachine)
@@ -30,9 +31,10 @@ const keyList: (keyof ThreadStats)[] = [
"state",
"time",
]
let tz = dayjs.tz.guess();
let dashboardId = -1
const options = reactive<Map<string, LineChartOption>>(new Map())
const colors = ['#5470C6', '#91CC75'];
const gcChartContext = reactive<{ xData: string[], collectionCount: number[], collectionTime: number[] }>({
xData: [],
@@ -41,7 +43,7 @@ const gcChartContext = reactive<{ xData: string[], collectionCount: number[], co
})
const gcoption = reactive<BarChartOption>({
color: colors,
title:{
title: {
text: "GC",
},
grid: {
@@ -103,164 +105,125 @@ const gcoption = reactive<BarChartOption>({
},
]
});
const bufferPoolContext = reactive<{
data: {
value: number, name: string,
}[]
}>({
data: []
})
const heapoptionContext = reactive<{
data: {
value: number, name: string,
}[]
}>({
data: []
})
const nonheapContext = reactive<{
data: {
value: number, name: string,
}[]
}>({
data: []
})
const heapoption = reactive<CircleChartOption>({
title:{
text:"heap"
},
tooltip: {
trigger: 'item',
formatter: '{b}:{c}M {d}'
},
legend: {
top: 'center',
left: 'right',
orient: "vertical"
},
series: [
{
type: 'pie',
radius: ['40%', '70%'],
center:['35%','50%'],
avoidLabelOverlap: true,
label: {
show: false,
position: 'center',
const initOption = (title: string, have_max: boolean = true): LineChartOption => {
let series: {
type: string;
name: string;
areaStyle: any;
data: number[];
yAxisIndex: number;
tooltip: any;
}[] = [
{
type: 'line',
name: "total",
areaStyle: {},
data: [],
yAxisIndex: 0,
tooltip: {
}
},
labelLine: {
show: false
},
data: heapoptionContext.data
{
type: 'line',
name: "used",
areaStyle: {},
data: [],
yAxisIndex: 0,
tooltip: {
}
}
]
if (have_max) series.unshift({
type: 'line',
areaStyle: {},
name: 'max',
yAxisIndex: 0,
data: [],
tooltip: {
formatter: `{a}:{c}M`
}
]
});
const nonheapoption = reactive<CircleChartOption>({
title:{
text:"nonheap"
},
tooltip: {
trigger: 'item',
formatter: '{b}:{c}M'
},
legend: {
top: 'center',
left: 'right',
orient: "vertical"
},
series: [
{
type: 'pie',
radius: ['40%', '70%'],
center:['35%','50%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center',
formatter: '{b}:{c}M'
},
labelLine: {
show: false
},
data: nonheapContext.data
})
series.unshift({
type: 'line',
areaStyle: undefined,
name: 'usage',
yAxisIndex: 1,
data: [],
tooltip: {
}
]
});
const bufferPooloption = reactive<CircleChartOption>({
title: {
text: "buffer_pool"
},
tooltip: {
trigger: 'item',
formatter: '{c}M'
},
legend: {
top: 'center',
left: 'right',
orient: 'vertical'
},
series: [
{
type: 'pie',
radius: ['40%', '70%'],
center:['35%','50%'],
avoidLabelOverlap: true,
label: {
show: false,
position: 'outside',
})
const time = reactive<string[]>([])
return {
title: {
text: title
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
label: {
backgroundColor: '#283b56'
}
}
},
legend: {
left: "right",
orient: "vertical"
},
xAxis: {
type: 'category',
data: time
},
yAxis: [
{
type: 'value',
name: 'MB',
min: 0,
position: "left"
},
labelLine: {
show: false
},
data: bufferPoolContext.data
}
]
});
{
type: 'value',
name: 'usage(%)',
min: 0,
position: 'right'
}],
series
} as LineChartOption
}
const transformMemory = (result: ArthasResResult) => {
if (result.type === "dashboard") {
let timestamp = result.runtimeInfo.timestamp
const time = dayjs(timestamp).tz(tz).format('HH:mm:ss')
const updateMemory = (v: { max: number; total: number; used: number; name: string; }, i: number) => {
const have_max = v.max > 0
const max = toMb(have_max ? v.max : v.total)
const total = toMb(v.total)
const used = toMb(v.used)
// const heaparr: { value: number, name: string }[] = [
// ]
heapoptionContext.data.length = 0
result.memoryInfo.heap.filter(v => v.name !== "heap").forEach(v => {
const arr: string[] = []
let chartOption = options.get(v.name)
if (chartOption === undefined) {
options.set(v.name, chartOption = initOption(v.name, have_max))
}
(chartOption.xAxis as ({ data: string[] })).data.push(time)
if (have_max) {
(chartOption.series as { data: number[] }[])[1].data.push(max)
; (chartOption.series as { data: number[] }[])[2].data.push(total)
; (chartOption.series as { data: number[] }[])[3].data.push(used)
; (chartOption.series as { data: number[] }[])[0].data.push(Math.floor((used / max) * 10000) / 100)
} else {
; (chartOption.series as { data: number[] }[])[2].data.push(used)
; (chartOption.series as { data: number[] }[])[1].data.push(total)
; (chartOption.series as { data: number[] }[])[0].data.push(Math.floor((used / max) * 10000) / 100)
}
// arr.push('max : ' + toMb(v.max))
// arr.push('total : ' + toMb(v.total))
// arr.push('used : ' + toMb(v.used))
}
result.memoryInfo.heap.forEach(updateMemory)
const usage: number = (v.max > 0 ? (v.used / v.max) : (v.used / v.total)) * 100
heapoptionContext.data.push({ value: toMb(v.used), name: `${v.name}(${usage.toFixed(2)}%)` })
result.memoryInfo.nonheap.forEach(updateMemory)
// arr.push(usage + '%')
// memoryInfo.set(v.name, arr)
})
heapoptionContext.data.push({
value: Math.floor((result.memoryInfo.heap[0].max > 0 ? (result.memoryInfo.heap[0].max - result.memoryInfo.heap[0].used) : (result.memoryInfo.heap[0].total - result.memoryInfo.heap[0].used)) / 1024 / 1024),
name: "free",
})
// heapoptionContext.data = heaparr
nonheapContext.data.length = 0
result.memoryInfo.nonheap.filter(v => v.name !== "nonheap").forEach(v => {
const arr: string[] = []
// arr.push('max : ' + toMb(v.max))
// arr.push('total : ' + toMb(v.total))
// arr.push('used : ' + toMb(v.used))
const usage: number = (v.used / v.total) * 100
nonheapContext.data.push({ value: toMb(v.used), name: `${v.name}(${usage.toFixed(2)}%)` })
// arr.push(usage * 100 + '%')
// memoryInfo.set(v.name, arr)
})
// nonheapChart && nonheapChart.setOption({ series: { data: nonheaparr } } as EChartsOption)
bufferPoolContext.data.length = 0
result.memoryInfo.buffer_pool.filter(v => v.name !== "buffer_pool;").forEach(v => {
bufferPoolContext.data.push({ value: toMb(v.used), name: `${v.name}` })
})
result.memoryInfo.buffer_pool.forEach(updateMemory)
}
}
const transformThread = (result: ArthasResResult, end: number) => {
@@ -296,7 +259,7 @@ const { increase, decrease } = publiC.numberCondition(pri, { min: 1 })
const transformRuntimeInfo = (result: ArthasResResult) => {
if (result.type !== "dashboard") return;
for (const key in result.runtimeInfo as RuntimeInfo) {
runtimeInfo.set(key as keyof RuntimeInfo, result.runtimeInfo[key as keyof RuntimeInfo].toString())
if (!['timestamp', 'uptime'].includes(key)) runtimeInfo.set(key as keyof RuntimeInfo, result.runtimeInfo[key as keyof RuntimeInfo].toString())
}
}
getCommonResEffect(dashboadResM, body => {
@@ -356,20 +319,6 @@ onBeforeUnmount(async () => {
</span>
</div>
</div>
<div class="flex justify-evenly mb-4 flex-1 h-80">
<div class="card border mr-4 flex-1 bg-base-100">
<Circle class="card-body" :option="heapoption"></Circle>
</div>
<div class="card border mr-4 flex-1 bg-base-100">
<Circle class="card-body" :option="nonheapoption"></Circle>
</div>
<div class="card border flex-1 bg-base-100">
<Circle class="card-body" :option="bufferPooloption"></Circle>
</div>
</div>
<div class="w-full flex justify-start items-start flex-1">
<div class="card bg-base-100 border mr-4 h-80 w-1/3">
<Bar class="card-body" :option="gcoption" />
@@ -405,9 +354,13 @@ onBeforeUnmount(async () => {
</div>
</div>
</div>
<div class="card border bg-base-100">
<div class="card-body">
<template v-for="([title, option]) in options.entries()" :key="title">
<Line class="h-80" :option="option"></Line>
</template>
</div>
</div>
</div>
</template>
<style scoped>
</style>
</template>
+2 -1
View File
@@ -17,6 +17,7 @@
"@highlightjs/vue-plugin": "^2.1.0",
"@xstate/vue": "^2.0.0",
"daisyui": "^2.31.0",
"dayjs": "^1.11.6",
"echarts": "^5.3.3",
"highlight.js": "^11.6.0",
"pinia": "^2.0.15",
@@ -35,6 +36,6 @@
"tailwindcss": "^3.1.4",
"typescript": "^4.7.4",
"vite": "^2.9.9",
"vue-tsc": "1.0.8"
"vue-tsc": "1.0.9"
}
}
+2 -2
View File
@@ -69,11 +69,11 @@ export default defineConfig(({ mode }) => {
define: {
"__VUE_OPTIONS_API__": false,
},
base: "./",
base: ".",
publicDir: path.resolve(__dirname, "all/share/public"),
root,
server: {
proxy,
proxy
},
};
});
+168 -162
View File
@@ -3,9 +3,9 @@
"@babel/parser@^7.16.4":
version "7.19.4"
resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.19.4.tgz#03c4339d2b8971eb3beca5252bafd9b9f79db3dc"
integrity sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==
version "7.20.3"
resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.3.tgz#5358cf62e380cf69efcb87a7bb922ff88bfac6e2"
integrity sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==
"@esbuild/linux-loong64@0.14.54":
version "0.14.54"
@@ -13,18 +13,18 @@
integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==
"@headlessui/vue@^1.6.6":
version "1.7.3"
resolved "https://registry.npmmirror.com/@headlessui/vue/-/vue-1.7.3.tgz#116d13391552436ea1e9e88c69f0e9d7d2585c45"
integrity sha512-Is4iakKts9u9E0+jEZNzoJpBjwq2SamwEIoEl2RlyYSu6Zco536GsPXaQEfg/o7Eyc1GUUlcL+dJd4Rt7qyf7A==
version "1.7.4"
resolved "https://registry.npmmirror.com/@headlessui/vue/-/vue-1.7.4.tgz#c554e9ac893a2ec2f58eb8b6b9d80b8be03c5d0e"
integrity sha512-QHRlKCK/zRpjSjhth7c2CZvx5eMDFflXauqRdRJgp1CwScx6PwCpWiwDsjQcYM4z8Yik2ZvyX8W4PFT2Wsqqyw==
"@heroicons/vue@^1.0.6":
version "1.0.6"
resolved "https://registry.npmjs.org/@heroicons/vue/-/vue-1.0.6.tgz"
resolved "https://registry.npmmirror.com/@heroicons/vue/-/vue-1.0.6.tgz#d8b90734b436eb5a87f40cc300b64a0fb0031f7f"
integrity sha512-ng2YcCQrdoQWEFpw+ipFl2rZo8mZ56v0T5+MyfQQvNqfKChwgP6DMloZLW+rl17GEcHkE3H82UTAMKBKZr4+WA==
"@highlightjs/vue-plugin@^2.1.0":
version "2.1.0"
resolved "https://registry.npmmirror.com/@highlightjs/vue-plugin/-/vue-plugin-2.1.0.tgz"
resolved "https://registry.npmmirror.com/@highlightjs/vue-plugin/-/vue-plugin-2.1.0.tgz#b7c41e3597a46975665b10cad57882cbde1d1594"
integrity sha512-E+bmk4ncca+hBEYRV2a+1aIzIV0VSY/e5ArjpuSN9IO7wBJrzUE2u4ESCwrbQD7sAy+jWQjkV5qCCWgc+pu7CQ==
"@nodelib/fs.scandir@2.1.5":
@@ -49,45 +49,45 @@
fastq "^1.6.0"
"@types/node@^18.7.2":
version "18.11.2"
resolved "https://registry.npmmirror.com/@types/node/-/node-18.11.2.tgz#c59b7641832531264fda3f1ba610362dc9a7dfc8"
integrity sha512-BWN3M23gLO2jVG8g/XHIRFWiiV4/GckeFIqbU/C4V3xpoBBWSMk4OZomouN0wCkfQFPqgZikyLr7DOYDysIkkw==
version "18.11.9"
resolved "https://registry.npmmirror.com/@types/node/-/node-18.11.9.tgz#02d013de7058cea16d36168ef2fc653464cfbad4"
integrity sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==
"@vitejs/plugin-vue@^2.3.3":
version "2.3.4"
resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-2.3.4.tgz#966a6279060eb2d9d1a02ea1a331af071afdcf9e"
integrity sha512-IfFNbtkbIm36O9KB8QodlwwYvTEsJb4Lll4c2IwB3VHc2gie2mSPtSzL0eYay7X2jd/2WX02FjSGTWR6OPr/zg==
"@volar/language-core@1.0.8":
version "1.0.8"
resolved "https://registry.npmmirror.com/@volar/language-core/-/language-core-1.0.8.tgz#ed923e13d626102db6f82be03cfad22b0e5fdeae"
integrity sha512-uxYSOqBk8ZFSzGjUIPOBEFPOg8F3CE6cLO5meK95DODGIlUlPytGiy9sy8QZ9w7RpUH4XMOX3MH/G48SLgP07A==
"@volar/language-core@1.0.9":
version "1.0.9"
resolved "https://registry.npmmirror.com/@volar/language-core/-/language-core-1.0.9.tgz#d12456b294d1e5b3928b22e5214c8e7141ee2ce1"
integrity sha512-5Fty3slLet6svXiJw2YxhYeo6c7wFdtILrql5bZymYLM+HbiZtJbryW1YnUEKAP7MO9Mbeh+TNH4Z0HFxHgIqw==
dependencies:
"@volar/source-map" "1.0.8"
"@volar/source-map" "1.0.9"
"@vue/reactivity" "^3.2.40"
muggle-string "^0.1.0"
"@volar/source-map@1.0.8":
version "1.0.8"
resolved "https://registry.npmmirror.com/@volar/source-map/-/source-map-1.0.8.tgz#3e1a6f9ae652b665e6f3eef7c6291b48ac1aa6e6"
integrity sha512-uKMe+alyfl1Abs5SviKejFoe7x9g6jDPVpVt63Tet4qn1Ziy7tFsvtCpM2Y1Ko5qw2nLIeloLslPqm9/gmbBLQ==
"@volar/source-map@1.0.9":
version "1.0.9"
resolved "https://registry.npmmirror.com/@volar/source-map/-/source-map-1.0.9.tgz#00aa951d3d7f9b842f84e28ab2a1831ab3b5b95a"
integrity sha512-fazB/vy5ZEJ3yKx4fabJyGNI3CBkdLkfEIRVu6+1P3VixK0Mn+eqyUIkLBrzGYaeFM3GybhCLCvsVdNz0Fu/CQ==
dependencies:
muggle-string "^0.1.0"
"@volar/typescript@1.0.8":
version "1.0.8"
resolved "https://registry.npmmirror.com/@volar/typescript/-/typescript-1.0.8.tgz#45674506471c3ee8cfabb0d98f75f8e2b2f18936"
integrity sha512-2oY1Apvzcs/5tAn7p1tRlDxNgal5ezaK0h9cutcWALeimsaQBAEE2NAirCrLMHl8DneuDce0tzJqHaQeHw9RmQ==
"@volar/typescript@1.0.9":
version "1.0.9"
resolved "https://registry.npmmirror.com/@volar/typescript/-/typescript-1.0.9.tgz#9c0a8b5d79c0a03413755499d211c1c8001ac0cc"
integrity sha512-dVziu+ShQUWuMukM6bvK2v2O446/gG6l1XkTh2vfkccw1IzjfbiP1TWQoNo1ipTfZOtu5YJGYAx+o5HNrGXWfQ==
dependencies:
"@volar/language-core" "1.0.8"
"@volar/language-core" "1.0.9"
"@volar/vue-language-core@1.0.8":
version "1.0.8"
resolved "https://registry.npmmirror.com/@volar/vue-language-core/-/vue-language-core-1.0.8.tgz#2f888309aee80b6853ba5181f82b772e21f3b13e"
integrity sha512-cXb7oTybxcm1vpz003agdYQHyxij7UAaSub60d7W1aMWpqb2iaCbVaq9izgQFlrpC4/JnVs+cJPb/Q6fAUVxBg==
"@volar/vue-language-core@1.0.9":
version "1.0.9"
resolved "https://registry.npmmirror.com/@volar/vue-language-core/-/vue-language-core-1.0.9.tgz#9eb7c30652c80f210fca071aeeea794873835eda"
integrity sha512-tofNoR8ShPFenHT1YVMuvoXtXWwoQE+fiXVqSmW0dSKZqEDjWQ3YeXSd0a6aqyKaIbvR7kWWGp34WbpQlwf9Ww==
dependencies:
"@volar/language-core" "1.0.8"
"@volar/source-map" "1.0.8"
"@volar/language-core" "1.0.9"
"@volar/source-map" "1.0.9"
"@vue/compiler-dom" "^3.2.40"
"@vue/compiler-sfc" "^3.2.40"
"@vue/reactivity" "^3.2.40"
@@ -95,108 +95,108 @@
minimatch "^5.1.0"
vue-template-compiler "^2.7.10"
"@volar/vue-typescript@1.0.8":
version "1.0.8"
resolved "https://registry.npmmirror.com/@volar/vue-typescript/-/vue-typescript-1.0.8.tgz#34cc253b65d5992cb411d110db56c55037c49956"
integrity sha512-6jBvA7iwBkRqS2VQx2gLJgfLcF3hcODyJ6Lmiw2tN8D/LVfFCovvzJgPvIQb9Y4i+rha1Y0cpsYOUt9XW2Z7ZA==
"@volar/vue-typescript@1.0.9":
version "1.0.9"
resolved "https://registry.npmmirror.com/@volar/vue-typescript/-/vue-typescript-1.0.9.tgz#47ae4424283ec42c0b3321a4efbd4c505de3fe16"
integrity sha512-ZLe4y9YNbviACa7uAMCilzxA76gbbSlKfjspXBzk6fCobd8QCIig+VyDYcjANIlm2HhgSCX8jYTzhCKlegh4mw==
dependencies:
"@volar/typescript" "1.0.8"
"@volar/vue-language-core" "1.0.8"
"@volar/typescript" "1.0.9"
"@volar/vue-language-core" "1.0.9"
"@vue/compiler-core@3.2.41":
version "3.2.41"
resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.41.tgz#fb5b25f23817400f44377d878a0cdead808453ef"
integrity sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==
"@vue/compiler-core@3.2.45":
version "3.2.45"
resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz#d9311207d96f6ebd5f4660be129fb99f01ddb41b"
integrity sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/shared" "3.2.41"
"@vue/shared" "3.2.45"
estree-walker "^2.0.2"
source-map "^0.6.1"
"@vue/compiler-dom@3.2.41", "@vue/compiler-dom@^3.2.40":
version "3.2.41"
resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.41.tgz#dc63dcd3ce8ca8a8721f14009d498a7a54380299"
integrity sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==
"@vue/compiler-dom@3.2.45", "@vue/compiler-dom@^3.2.40":
version "3.2.45"
resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz#c43cc15e50da62ecc16a42f2622d25dc5fd97dce"
integrity sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==
dependencies:
"@vue/compiler-core" "3.2.41"
"@vue/shared" "3.2.41"
"@vue/compiler-core" "3.2.45"
"@vue/shared" "3.2.45"
"@vue/compiler-sfc@3.2.41", "@vue/compiler-sfc@^3.2.40":
version "3.2.41"
resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.41.tgz#238fb8c48318408c856748f4116aff8cc1dc2a73"
integrity sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==
"@vue/compiler-sfc@3.2.45", "@vue/compiler-sfc@^3.2.40":
version "3.2.45"
resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz#7f7989cc04ec9e7c55acd406827a2c4e96872c70"
integrity sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/compiler-core" "3.2.41"
"@vue/compiler-dom" "3.2.41"
"@vue/compiler-ssr" "3.2.41"
"@vue/reactivity-transform" "3.2.41"
"@vue/shared" "3.2.41"
"@vue/compiler-core" "3.2.45"
"@vue/compiler-dom" "3.2.45"
"@vue/compiler-ssr" "3.2.45"
"@vue/reactivity-transform" "3.2.45"
"@vue/shared" "3.2.45"
estree-walker "^2.0.2"
magic-string "^0.25.7"
postcss "^8.1.10"
source-map "^0.6.1"
"@vue/compiler-ssr@3.2.41":
version "3.2.41"
resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.41.tgz#344f564d68584b33367731c04ffc949784611fcb"
integrity sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==
"@vue/compiler-ssr@3.2.45":
version "3.2.45"
resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz#bd20604b6e64ea15344d5b6278c4141191c983b2"
integrity sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==
dependencies:
"@vue/compiler-dom" "3.2.41"
"@vue/shared" "3.2.41"
"@vue/compiler-dom" "3.2.45"
"@vue/shared" "3.2.45"
"@vue/devtools-api@^6.1.4", "@vue/devtools-api@^6.4.4":
version "6.4.4"
resolved "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.4.4.tgz#0b024fc8ca91bb4b6035abaf53c5aecc17119b3b"
integrity sha512-Ku31WzpOV/8cruFaXaEZKF81WkNnvCSlBY4eOGtz5WMSdJvX1v1WWlSMGZeqUwPtQ27ZZz7B62erEMq8JDjcXw==
"@vue/devtools-api@^6.4.5":
version "6.4.5"
resolved "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.4.5.tgz#d54e844c1adbb1e677c81c665ecef1a2b4bb8380"
integrity sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==
"@vue/reactivity-transform@3.2.41":
version "3.2.41"
resolved "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.41.tgz#9ff938877600c97f646e09ac1959b5150fb11a0c"
integrity sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==
"@vue/reactivity-transform@3.2.45":
version "3.2.45"
resolved "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz#07ac83b8138550c83dfb50db43cde1e0e5e8124d"
integrity sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/compiler-core" "3.2.41"
"@vue/shared" "3.2.41"
"@vue/compiler-core" "3.2.45"
"@vue/shared" "3.2.45"
estree-walker "^2.0.2"
magic-string "^0.25.7"
"@vue/reactivity@3.2.41", "@vue/reactivity@^3.2.40":
version "3.2.41"
resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.41.tgz#0ad3bdf76d76822da1502dc9f394dafd02642963"
integrity sha512-9JvCnlj8uc5xRiQGZ28MKGjuCoPhhTwcoAdv3o31+cfGgonwdPNuvqAXLhlzu4zwqavFEG5tvaoINQEfxz+l6g==
"@vue/reactivity@3.2.45", "@vue/reactivity@^3.2.40":
version "3.2.45"
resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.45.tgz#412a45b574de601be5a4a5d9a8cbd4dee4662ff0"
integrity sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==
dependencies:
"@vue/shared" "3.2.41"
"@vue/shared" "3.2.45"
"@vue/runtime-core@3.2.41":
version "3.2.41"
resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.41.tgz#775bfc00b3fadbaddab77138f23322aee3517a76"
integrity sha512-0LBBRwqnI0p4FgIkO9q2aJBBTKDSjzhnxrxHYengkAF6dMOjeAIZFDADAlcf2h3GDALWnblbeprYYpItiulSVQ==
"@vue/runtime-core@3.2.45":
version "3.2.45"
resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.45.tgz#7ad7ef9b2519d41062a30c6fa001ec43ac549c7f"
integrity sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==
dependencies:
"@vue/reactivity" "3.2.41"
"@vue/shared" "3.2.41"
"@vue/reactivity" "3.2.45"
"@vue/shared" "3.2.45"
"@vue/runtime-dom@3.2.41":
version "3.2.41"
resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.41.tgz#cdf86be7410f7b15c29632a96ce879e5b4c9ab92"
integrity sha512-U7zYuR1NVIP8BL6jmOqmapRAHovEFp7CSw4pR2FacqewXNGqZaRfHoNLQsqQvVQ8yuZNZtxSZy0FFyC70YXPpA==
"@vue/runtime-dom@3.2.45":
version "3.2.45"
resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz#1a2ef6ee2ad876206fbbe2a884554bba2d0faf59"
integrity sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==
dependencies:
"@vue/runtime-core" "3.2.41"
"@vue/shared" "3.2.41"
"@vue/runtime-core" "3.2.45"
"@vue/shared" "3.2.45"
csstype "^2.6.8"
"@vue/server-renderer@3.2.41":
version "3.2.41"
resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.41.tgz#ca64552c05878f94e8d191ac439141c06c0fb2ad"
integrity sha512-7YHLkfJdTlsZTV0ae5sPwl9Gn/EGr2hrlbcS/8naXm2CDpnKUwC68i1wGlrYAfIgYWL7vUZwk2GkYLQH5CvFig==
"@vue/server-renderer@3.2.45":
version "3.2.45"
resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.45.tgz#ca9306a0c12b0530a1a250e44f4a0abac6b81f3f"
integrity sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==
dependencies:
"@vue/compiler-ssr" "3.2.41"
"@vue/shared" "3.2.41"
"@vue/compiler-ssr" "3.2.45"
"@vue/shared" "3.2.45"
"@vue/shared@3.2.41", "@vue/shared@^3.2.40":
version "3.2.41"
resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.41.tgz#fbc95422df654ea64e8428eced96ba6ad555d2bb"
integrity sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==
"@vue/shared@3.2.45", "@vue/shared@^3.2.40":
version "3.2.45"
resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.45.tgz#a3fffa7489eafff38d984e23d0236e230c818bc2"
integrity sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==
"@xstate/vue@^2.0.0":
version "2.0.0"
@@ -236,12 +236,12 @@ arg@^5.0.2:
integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
autoprefixer@^10.4.7:
version "10.4.12"
resolved "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.12.tgz#183f30bf0b0722af54ee5ef257f7d4320bb33129"
integrity sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==
version "10.4.13"
resolved "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8"
integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==
dependencies:
browserslist "^4.21.4"
caniuse-lite "^1.0.30001407"
caniuse-lite "^1.0.30001426"
fraction.js "^4.2.0"
normalize-range "^0.1.2"
picocolors "^1.0.0"
@@ -286,10 +286,10 @@ camelcase-css@^2.0.1:
resolved "https://registry.npmmirror.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001407:
version "1.0.30001421"
resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001421.tgz#979993aaacff5ab72a8d0d58c28ddbcb7b4deba6"
integrity sha512-Sw4eLbgUJAEhjLs1Fa+mk45sidp1wRn5y6GtDpHGBaNJ9OCDJaVh2tIaWWUnGfuXfKf1JCBaIarak3FkVAvEeA==
caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426:
version "1.0.30001431"
resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz#e7c59bd1bc518fae03a4656be442ce6c4887a795"
integrity sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==
chokidar@^3.5.3:
version "3.5.3"
@@ -353,15 +353,20 @@ csstype@^2.6.8:
integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==
daisyui@^2.31.0:
version "2.31.0"
resolved "https://registry.npmmirror.com/daisyui/-/daisyui-2.31.0.tgz#906bc447b59c24782320f33fbc990ea1d8c2200c"
integrity sha512-qepRXgQPLNcJ8ZPZy+dUvsC7mRWvMLRcVMe85/wZA60Tnhm/bkidhOzdllL8aAk2JX+W/xlIsTJ8NZFpPm+eyw==
version "2.41.0"
resolved "https://registry.npmmirror.com/daisyui/-/daisyui-2.41.0.tgz#56659d423086d40b835e23f4e58fe2e220f4925c"
integrity sha512-M/MPbTERJK4iBIXRGQpQdHTmy53HRqrgca4rsbPhio1Sqq0w2GH/RJSVX8b14hYB0E9E8R+t5bHIeqW1oHT97A==
dependencies:
color "^4.2"
css-selector-tokenizer "^0.8.0"
postcss-js "^4.0.0"
tailwindcss "^3"
dayjs@^1.11.6:
version "1.11.6"
resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.6.tgz#2e79a226314ec3ec904e3ee1dd5a4f5e5b1c7afb"
integrity sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==
de-indent@^1.0.2:
version "1.0.2"
resolved "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
@@ -541,7 +546,7 @@ estree-walker@^2.0.2:
resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
fast-glob@^3.2.11:
fast-glob@^3.2.12:
version "3.2.12"
resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
@@ -614,7 +619,7 @@ he@^1.2.0:
highlight.js@^11.6.0:
version "11.6.0"
resolved "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.6.0.tgz"
resolved "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.6.0.tgz#a50e9da05763f1bb0c1322c8f4f755242cff3f5a"
integrity sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==
is-arrayish@^0.3.1:
@@ -670,7 +675,7 @@ merge2@^1.3.0:
resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
micromatch@^4.0.4:
micromatch@^4.0.4, micromatch@^4.0.5:
version "4.0.5"
resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
@@ -741,11 +746,11 @@ pify@^2.3.0:
integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
pinia@^2.0.15:
version "2.0.23"
resolved "https://registry.npmmirror.com/pinia/-/pinia-2.0.23.tgz#570f5f82160b656b412602789683faa95502d227"
integrity sha512-N15hFf4o5STrxpNrib1IEb1GOArvPYf1zPvQVRGOO1G1d74Ak0J0lVyalX/SmrzdT4Q0nlEFjbURsmBmIGUR5Q==
version "2.0.24"
resolved "https://registry.npmmirror.com/pinia/-/pinia-2.0.24.tgz#babf12207931f85b31d7451b55c0d76785b91b51"
integrity sha512-DDLd4Iphyc+6PYYYbx7jkb6WP9gecgu9bz9huyB5rb7CdJI3DhzYiZI+/Ih8MLewRrP9DSpslF/BgSNrJtZU7A==
dependencies:
"@vue/devtools-api" "^6.4.4"
"@vue/devtools-api" "^6.4.5"
vue-demi "*"
postcss-import@^14.1.0:
@@ -772,14 +777,14 @@ postcss-load-config@^3.1.4:
lilconfig "^2.0.5"
yaml "^1.10.2"
postcss-nested@5.0.6:
version "5.0.6"
resolved "https://registry.npmmirror.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc"
integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==
postcss-nested@6.0.0:
version "6.0.0"
resolved "https://registry.npmmirror.com/postcss-nested/-/postcss-nested-6.0.0.tgz#1572f1984736578f360cffc7eb7dca69e30d1735"
integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==
dependencies:
postcss-selector-parser "^6.0.6"
postcss-selector-parser "^6.0.10"
postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.6:
postcss-selector-parser@^6.0.10:
version "6.0.10"
resolved "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d"
integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==
@@ -792,10 +797,10 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
resolved "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
postcss@^8.1.10, postcss@^8.4.13, postcss@^8.4.14:
version "8.4.18"
resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2"
integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==
postcss@^8.1.10, postcss@^8.4.13, postcss@^8.4.14, postcss@^8.4.18:
version "8.4.19"
resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc"
integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==
dependencies:
nanoid "^3.3.4"
picocolors "^1.0.0"
@@ -881,9 +886,9 @@ supports-preserve-symlinks-flag@^1.0.0:
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
tailwindcss@^3, tailwindcss@^3.1.4:
version "3.1.8"
resolved "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-3.1.8.tgz#4f8520550d67a835d32f2f4021580f9fddb7b741"
integrity sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==
version "3.2.4"
resolved "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-3.2.4.tgz#afe3477e7a19f3ceafb48e4b083e292ce0dc0250"
integrity sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==
dependencies:
arg "^5.0.2"
chokidar "^3.5.3"
@@ -891,18 +896,19 @@ tailwindcss@^3, tailwindcss@^3.1.4:
detective "^5.2.1"
didyoumean "^1.2.2"
dlv "^1.1.3"
fast-glob "^3.2.11"
fast-glob "^3.2.12"
glob-parent "^6.0.2"
is-glob "^4.0.3"
lilconfig "^2.0.6"
micromatch "^4.0.5"
normalize-path "^3.0.0"
object-hash "^3.0.0"
picocolors "^1.0.0"
postcss "^8.4.14"
postcss "^8.4.18"
postcss-import "^14.1.0"
postcss-js "^4.0.0"
postcss-load-config "^3.1.4"
postcss-nested "5.0.6"
postcss-nested "6.0.0"
postcss-selector-parser "^6.0.10"
postcss-value-parser "^4.2.0"
quick-lru "^5.1.1"
@@ -921,9 +927,9 @@ tslib@2.3.0:
integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
typescript@^4.7.4:
version "4.8.4"
resolved "https://registry.npmmirror.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6"
integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==
version "4.9.3"
resolved "https://registry.npmmirror.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db"
integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==
update-browserslist-db@^1.0.9:
version "1.0.10"
@@ -956,43 +962,43 @@ vue-demi@*:
integrity sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==
vue-router@4:
version "4.1.5"
resolved "https://registry.npmmirror.com/vue-router/-/vue-router-4.1.5.tgz#256f597e3f5a281a23352a6193aa6e342c8d9f9a"
integrity sha512-IsvoF5D2GQ/EGTs/Th4NQms9gd2NSqV+yylxIyp/OYp8xOwxmU8Kj/74E9DTSYAyH5LX7idVUngN3JSj1X4xcQ==
version "4.1.6"
resolved "https://registry.npmmirror.com/vue-router/-/vue-router-4.1.6.tgz#b70303737e12b4814578d21d68d21618469375a1"
integrity sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==
dependencies:
"@vue/devtools-api" "^6.1.4"
"@vue/devtools-api" "^6.4.5"
vue-template-compiler@^2.7.10:
version "2.7.13"
resolved "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.13.tgz#1520a5aa6d1af51dd0622824e79814f6e8cb7058"
integrity sha512-jYM6TClwDS9YqP48gYrtAtaOhRKkbYmbzE+Q51gX5YDr777n7tNI/IZk4QV4l/PjQPNh/FVa/E92sh/RqKMrog==
version "2.7.14"
resolved "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz#4545b7dfb88090744c1577ae5ac3f964e61634b1"
integrity sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==
dependencies:
de-indent "^1.0.2"
he "^1.2.0"
vue-tsc@1.0.8:
version "1.0.8"
resolved "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-1.0.8.tgz#6f24e082878d1f4960dd89fe66fe3b70f6cc2ed5"
integrity sha512-+0sJ+QVH7SHLt8mV/uIw4xlHDk1mWigZkMFugfZTv8rlHpM3S2tCVZ0BWEGclT/0rKdO8j+St+mljpvhWPN/eQ==
vue-tsc@1.0.9:
version "1.0.9"
resolved "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-1.0.9.tgz#7d388ec3097bc9c1789d5745a97c608217af4873"
integrity sha512-vRmHD1K6DmBymNhoHjQy/aYKTRQNLGOu2/ESasChG9Vy113K6CdP0NlhR0bzgFJfv2eFB9Ez/9L5kIciUajBxQ==
dependencies:
"@volar/vue-language-core" "1.0.8"
"@volar/vue-typescript" "1.0.8"
"@volar/vue-language-core" "1.0.9"
"@volar/vue-typescript" "1.0.9"
vue@^3.2.25:
version "3.2.41"
resolved "https://registry.npmmirror.com/vue/-/vue-3.2.41.tgz#ed452b8a0f7f2b962f055c8955139c28b1c06806"
integrity sha512-uuuvnrDXEeZ9VUPljgHkqB5IaVO8SxhPpqF2eWOukVrBnRBx2THPSGQBnVRt0GrIG1gvCmFXMGbd7FqcT1ixNQ==
version "3.2.45"
resolved "https://registry.npmmirror.com/vue/-/vue-3.2.45.tgz#94a116784447eb7dbd892167784619fef379b3c8"
integrity sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==
dependencies:
"@vue/compiler-dom" "3.2.41"
"@vue/compiler-sfc" "3.2.41"
"@vue/runtime-dom" "3.2.41"
"@vue/server-renderer" "3.2.41"
"@vue/shared" "3.2.41"
"@vue/compiler-dom" "3.2.45"
"@vue/compiler-sfc" "3.2.45"
"@vue/runtime-dom" "3.2.45"
"@vue/server-renderer" "3.2.45"
"@vue/shared" "3.2.45"
xstate@^4.32.1:
version "4.33.6"
resolved "https://registry.npmmirror.com/xstate/-/xstate-4.33.6.tgz#9e23f78879af106f1de853aba7acb2bc3b1eb950"
integrity sha512-A5R4fsVKADWogK2a43ssu8Fz1AF077SfrKP1ZNyDBD8lNa/l4zfR//Luofp5GSWehOQr36Jp0k2z7b+sH2ivyg==
version "4.34.0"
resolved "https://registry.npmmirror.com/xstate/-/xstate-4.34.0.tgz#401901c478f0b2a7f07576c020b6e6f750b5bd10"
integrity sha512-MFnYz7cJrWuXSZ8IPkcCyLB1a2T3C71kzMeShXKmNaEjBR/JQebKZPHTtxHKZpymESaWO31rA3IQ30TC6LW+sw==
xtend@^4.0.2:
version "4.0.2"
@@ -1011,7 +1017,7 @@ xterm-addon-webgl@^0.13.0:
xterm@^5.0.0:
version "5.0.0"
resolved "https://registry.npmmirror.com/xterm/-/xterm-5.0.0.tgz"
resolved "https://registry.npmmirror.com/xterm/-/xterm-5.0.0.tgz#0af50509b33d0dc62fde7a4ec17750b8e453cc5c"
integrity sha512-tmVsKzZovAYNDIaUinfz+VDclraQpPUnAME+JawosgWRMphInDded/PuY0xmU5dOhyeYZsI0nz5yd8dPYsdLTA==
yaml@^1.10.2: