mirror of
https://github.com/alibaba/arthas.git
synced 2024-04-21 10:21:39 +00:00
perf(web ui): dashboard
This commit is contained in:
@@ -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';
|
||||
|
||||
@@ -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>
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user