Merge branch 'dev' of github.com:jetlinks/jetlinks-ui-vue into dev

This commit is contained in:
JiangQiming 2023-03-07 16:27:37 +08:00
commit 3a0e7dfd25
5 changed files with 163 additions and 167 deletions

View File

@ -1,62 +1,62 @@
<!-- 基础内容 --> <!-- 基础内容 -->
<template> <template>
<a-form layout="vertical" :model="form" ref="formBasicRef"> <j-form layout="vertical" :model="form" ref="formBasicRef">
<a-row :span="24" :gutter="24"> <j-row :span="24" :gutter="24">
<a-col :span="10"> <j-col :span="10">
<a-form-item <j-form-item
label="系统名称" label="系统名称"
name="title" name="title"
v-bind="validateInfos.title" v-bind="validateInfos.title"
> >
<a-input <j-input
v-model:value="form.title" v-model:value="form.title"
:maxlength="64" :maxlength="64"
placeholder="请输入系统名称" placeholder="请输入系统名称"
/> />
</a-form-item> </j-form-item>
<a-form-item <j-form-item
label="主题色" label="主题色"
name="headerTheme" name="headerTheme"
v-bind="validateInfos.headerTheme" v-bind="validateInfos.headerTheme"
> >
<a-select v-model:value="form.headerTheme"> <j-select v-model:value="form.headerTheme">
<a-select-option value="light">白色</a-select-option> <j-select-option value="light">白色</j-select-option>
<a-select-option value="dark">黑色</a-select-option> <j-select-option value="dark">黑色</j-select-option>
</a-select> </j-select>
</a-form-item> </j-form-item>
<a-form-item> <j-form-item>
<template #label> <template #label>
<span>高德API Key</span> <span>高德API Key</span>
<a-tooltip title="配置后平台可调用高德地图GIS服务"> <j-tooltip title="配置后平台可调用高德地图GIS服务">
<img <img
class="img-style" class="img-style"
:src="getImage('/init-home/mark.png')" :src="getImage('/init-home/mark.png')"
/> />
</a-tooltip> </j-tooltip>
</template> </template>
<a-input <j-input
v-model:value="form.apikey" v-model:value="form.apikey"
placeholder="请输入高德API Key" placeholder="请输入高德API Key"
/> />
</a-form-item> </j-form-item>
<a-form-item name="basePath" v-bind="validateInfos.basePath"> <j-form-item name="basePath" v-bind="validateInfos.basePath">
<template #label> <template #label>
<span>base-path</span> <span>base-path</span>
<a-tooltip title="系统后台访问的url"> <j-tooltip title="系统后台访问的url">
<img <img
class="img-style" class="img-style"
:src="getImage('/init-home/mark.png')" :src="getImage('/init-home/mark.png')"
/> />
</a-tooltip> </j-tooltip>
</template> </template>
<a-input <j-input
v-model:value="form.basePath" v-model:value="form.basePath"
placeholder="请输入高德API Key" placeholder="请输入base-path"
/> />
</a-form-item> </j-form-item>
<a-row :gutter="24" :span="24"> <j-row :gutter="24" :span="24">
<a-col> <j-col>
<a-form-item label="系统logo"> <j-form-item label="系统logo">
<div class="upload-image-warp-logo"> <div class="upload-image-warp-logo">
<div class="upload-image-border-logo"> <div class="upload-image-border-logo">
<a-upload <a-upload
@ -123,18 +123,18 @@
<div class="upload-tips">推荐尺寸200*200</div> <div class="upload-tips">推荐尺寸200*200</div>
<div class="upload-tips">支持jpg,png</div> <div class="upload-tips">支持jpg,png</div>
</a-form-item> </j-form-item>
</a-col> </j-col>
<a-col> <j-col>
<a-form-item> <j-form-item>
<template #label> <template #label>
<span>浏览器页签</span> <span>浏览器页签</span>
<a-tooltip title="浏览器tab页中显示的图片元素"> <j-tooltip title="浏览器tab页中显示的图片元素">
<img <img
class="img-style" class="img-style"
:src="getImage('/init-home/mark.png')" :src="getImage('/init-home/mark.png')"
/> />
</a-tooltip> </j-tooltip>
</template> </template>
<div class="upload-image-warp-logo"> <div class="upload-image-warp-logo">
<div class="upload-image-border-logo"> <div class="upload-image-border-logo">
@ -189,12 +189,12 @@
<div class="upload-tips">推荐尺寸64*64</div> <div class="upload-tips">推荐尺寸64*64</div>
<div class="upload-tips">支持icon格式</div> <div class="upload-tips">支持icon格式</div>
</a-form-item> </j-form-item>
</a-col> </j-col>
</a-row> </j-row>
</a-col> </j-col>
<a-col :span="14"> <j-col :span="14">
<a-form-item label="登录背景图"> <j-form-item label="登录背景图">
<div class="upload-image-warp-back"> <div class="upload-image-warp-back">
<div class="upload-image-border-back"> <div class="upload-image-border-back">
<a-upload <a-upload
@ -247,10 +247,10 @@
</div> </div>
<div class="upload-tips">支持4M以内的图片:支持jpgpng</div> <div class="upload-tips">支持4M以内的图片:支持jpgpng</div>
<div class="upload-tips">建议尺寸1400x1080</div> <div class="upload-tips">建议尺寸1400x1080</div>
</a-form-item> </j-form-item>
</a-col> </j-col>
</a-row> </j-row>
</a-form> </j-form>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { modalState, formState, logoState } from '../data/interface'; import { modalState, formState, logoState } from '../data/interface';

View File

@ -11,13 +11,13 @@
/> />
</div> </div>
<!-- 初始数据提交表单 --> <!-- 初始数据提交表单 -->
<a-modal <j-modal
v-model:visible="visible" v-model:visible="visible"
title="初始数据" title="初始数据"
width="52vw" width="52vw"
:maskClosable="false" :maskClosable="false"
@cancel="cancel" @cancel="cancel"
@ok="save" @ok="handelSave"
okText="确定" okText="确定"
cancelText="取消" cancelText="取消"
class="modal-style" class="modal-style"
@ -31,88 +31,88 @@
</p> </p>
</div> </div>
<div style="margin-top: 20px"> <div style="margin-top: 20px">
<a-form <j-form
layout="vertical" layout="vertical"
:model="modalForm" :model="modalForm"
ref="formRef" ref="formRef"
:rules="rulesModle" :rules="rulesModle"
> >
<a-row :span="24" :gutter="24"> <j-row :span="24" :gutter="24">
<a-col :span="12"> <j-col :span="12">
<a-form-item name="host"> <j-form-item name="host">
<template #label> <template #label>
<span>本地地址 </span> <span>本地地址 </span>
<a-tooltip <j-tooltip
title="绑定到服务器上的网卡地址,绑定到所有网卡:0.0.0.0" title="绑定到服务器上的网卡地址,绑定到所有网卡:0.0.0.0"
> >
<img <img
class="img-style" class="img-style"
:src="getImage('/init-home/mark.png')" :src="getImage('/init-home/mark.png')"
/> />
</a-tooltip> </j-tooltip>
</template> </template>
<a-input <j-input
v-model:value="modalForm.host" v-model:value="modalForm.host"
:disabled="true" :disabled="true"
/> />
</a-form-item> </j-form-item>
<a-form-item name="publicHost"> <j-form-item name="publicHost">
<template #label> <template #label>
<span>公网地址 </span> <span>公网地址 </span>
<a-tooltip <j-tooltip
title="对外提供访问的地址内网环境时填写服务器的内网IP地址" title="对外提供访问的地址内网环境时填写服务器的内网IP地址"
> >
<img <img
class="img-style" class="img-style"
:src="getImage('/init-home/mark.png')" :src="getImage('/init-home/mark.png')"
/> />
</a-tooltip> </j-tooltip>
</template> </template>
<a-input v-model:value="modalForm.publicHost"> <j-input v-model:value="modalForm.publicHost">
</a-input> </j-input>
</a-form-item> </j-form-item>
</a-col> </j-col>
<a-col :span="12"> <j-col :span="12">
<a-form-item name="port"> <j-form-item name="port">
<template #label> <template #label>
<span>本地端口 </span> <span>本地端口 </span>
<a-tooltip title="监听指定端口的请求"> <j-tooltip title="监听指定端口的请求">
<img <img
class="img-style" class="img-style"
:src="getImage('/init-home/mark.png')" :src="getImage('/init-home/mark.png')"
/> />
</a-tooltip> </j-tooltip>
</template> </template>
<a-select v-model:value="modalForm.port"> <j-select v-model:value="modalForm.port">
<a-select-option <j-select-option
v-for="item in optionPorts" v-for="item in optionPorts"
:key="item" :key="item"
:value="item.value" :value="item.value"
:label="item.label" :label="item.label"
>{{ item.label }}</a-select-option >{{ item.label }}</j-select-option
> >
</a-select> </j-select>
</a-form-item> </j-form-item>
<a-form-item name="publicPort"> <j-form-item name="publicPort">
<template #label> <template #label>
<span>公网端口 </span> <span>公网端口 </span>
<a-tooltip title="对外提供访问的端口"> <j-tooltip title="对外提供访问的端口">
<img <img
class="img-style" class="img-style"
:src="getImage('/init-home/mark.png')" :src="getImage('/init-home/mark.png')"
/> />
</a-tooltip> </j-tooltip>
</template> </template>
<a-input-number <j-input-number
v-model:value="modalForm.publicPort" v-model:value="modalForm.publicPort"
style="width: 100%" style="width: 100%"
/> />
</a-form-item> </j-form-item>
</a-col> </j-col>
</a-row> </j-row>
</a-form> </j-form>
</div> </div>
</a-modal> </j-modal>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
@ -321,10 +321,12 @@ const saveCurrentData = () => {
}); });
}; };
const { optionPorts, isSucessInit } = toRefs(initialization); const { optionPorts, isSucessInit } = toRefs(initialization);
const save = () => { const handelSave = () => {
message.success('保存成功'); formRef.value.validate().then(() => {
flag.value = true; message.success('保存成功');
visible.value = false; flag.value = true;
visible.value = false;
});
}; };
/** /**
* 初始化 * 初始化

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="init-home-role"> <div class="init-home-role">
<a-checkbox-group @change="getCheckValue"> <j-checkbox-group @change="getCheckValue">
<div class="init-home-role-content"> <div class="init-home-role-content">
<div <div
class="role-item role-item-1" class="role-item role-item-1"
@ -11,7 +11,7 @@
" "
> >
<div class="role-item-title"> <div class="role-item-title">
<a-checkbox :value="ROLEKEYS.device"></a-checkbox> <j-checkbox :value="ROLEKEYS.device"></j-checkbox>
<div class="role-title">设备接入岗</div> <div class="role-title">设备接入岗</div>
</div> </div>
<div class="role-item-content"></div> <div class="role-item-content"></div>
@ -28,7 +28,7 @@
" "
> >
<div class="role-item-title"> <div class="role-item-title">
<a-checkbox :value="ROLEKEYS.link"></a-checkbox> <j-checkbox :value="ROLEKEYS.link"></j-checkbox>
<div class="role-title">运维管理岗</div> <div class="role-title">运维管理岗</div>
</div> </div>
<div class="role-item-content"></div> <div class="role-item-content"></div>
@ -45,7 +45,7 @@
" "
> >
<div class="role-item-title"> <div class="role-item-title">
<a-checkbox :value="ROLEKEYS.complex"></a-checkbox> <j-checkbox :value="ROLEKEYS.complex"></j-checkbox>
<div class="role-title">综合管理岗</div> <div class="role-title">综合管理岗</div>
</div> </div>
<div class="role-item-content"></div> <div class="role-item-content"></div>
@ -54,7 +54,7 @@
</div> </div>
</div> </div>
</div> </div>
</a-checkbox-group> </j-checkbox-group>
</div> </div>
</template> </template>

View File

@ -7,9 +7,9 @@
<div class="container-box"> <div class="container-box">
<div class="container-main"> <div class="container-main">
<div class="container-right"> <div class="container-right">
<a-spin :spinning="spinning"> <j-spin :spinning="spinning">
<a-collapse v-model:activeKey="activeKey" accordion> <j-collapse v-model:activeKey="activeKey" accordion>
<a-collapse-panel key="1"> <j-collapse-panel key="1">
<template #header> <template #header>
<span class="title">基本信息</span> <span class="title">基本信息</span>
<span class="sub-title" <span class="sub-title"
@ -17,8 +17,8 @@
> >
</template> </template>
<Basic ref="basicRef" /> <Basic ref="basicRef" />
</a-collapse-panel> </j-collapse-panel>
<a-collapse-panel key="2" > <j-collapse-panel key="2" >
<template #header> <template #header>
<span class="title">菜单初始化</span> <span class="title">菜单初始化</span>
<span class="sub-title" <span class="sub-title"
@ -26,8 +26,8 @@
> >
</template> </template>
<Menu></Menu> <Menu></Menu>
</a-collapse-panel> </j-collapse-panel>
<a-collapse-panel key="3" forceRender> <j-collapse-panel key="3" forceRender>
<template #header> <template #header>
<span class="title">角色初始化</span> <span class="title">角色初始化</span>
<span class="sub-title" <span class="sub-title"
@ -35,8 +35,8 @@
> >
</template> </template>
<Role ref="roleRef"></Role> <Role ref="roleRef"></Role>
</a-collapse-panel> </j-collapse-panel>
<a-collapse-panel key="4" forceRender> <j-collapse-panel key="4" forceRender>
<template #header> <template #header>
<span class="title">初始化数据</span> <span class="title">初始化数据</span>
<span class="sub-title" <span class="sub-title"
@ -44,15 +44,15 @@
> >
</template> </template>
<InitData ref="initDataRef"></InitData> <InitData ref="initDataRef"></InitData>
</a-collapse-panel> </j-collapse-panel>
</a-collapse> </j-collapse>
</a-spin> </j-spin>
<a-button <j-button
type="primary" type="primary"
class="btn-style" class="btn-style"
@click="submitData" @click="submitData"
:loading="loading" :loading="loading"
>确定</a-button >确定</j-button
> >
</div> </div>
</div> </div>

128
yarn.lock
View File

@ -3951,10 +3951,10 @@
"resolved" "https://registry.jetlinks.cn/is-typedarray/-/is-typedarray-1.0.0.tgz" "resolved" "https://registry.jetlinks.cn/is-typedarray/-/is-typedarray-1.0.0.tgz"
"version" "1.0.0" "version" "1.0.0"
"is-what@^3.14.1": is-what@^3.14.1:
"integrity" "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==" version "3.14.1"
"resolved" "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz" resolved "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz"
"version" "3.14.1" integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==
"is-wsl@^2.2.0": "is-wsl@^2.2.0":
"integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="
@ -3997,15 +3997,15 @@
"merge-stream" "^2.0.0" "merge-stream" "^2.0.0"
"supports-color" "^8.0.0" "supports-color" "^8.0.0"
"jetlinks-store@^0.0.3": jetlinks-store@^0.0.3:
"integrity" "sha512-AZf/soh1hmmwjBZ00fr1emuMEydeReaI6IBTGByQYhTmK1Zd5pQAxC7WLek2snRAn/HHDgJfVz2hjditKThl6Q==" version "0.0.3"
"resolved" "https://registry.npmjs.org/jetlinks-store/-/jetlinks-store-0.0.3.tgz" resolved "https://registry.npmjs.org/jetlinks-store/-/jetlinks-store-0.0.3.tgz"
"version" "0.0.3" integrity sha512-AZf/soh1hmmwjBZ00fr1emuMEydeReaI6IBTGByQYhTmK1Zd5pQAxC7WLek2snRAn/HHDgJfVz2hjditKThl6Q==
"jetlinks-ui-components@^1.0.4": jetlinks-ui-components@^1.0.4:
"integrity" "sha512-97ZEgqhJq5LQw8a7kRHgJdB9zfh1f7L4jmiJG2cIHPD7+kippMUVSBre35HmA+g55c9RqyiXeG3SQOy9ayAbDw==" version "1.0.4"
"resolved" "https://registry.jetlinks.cn/jetlinks-ui-components/-/jetlinks-ui-components-1.0.4.tgz" resolved "https://registry.jetlinks.cn/jetlinks-ui-components/-/jetlinks-ui-components-1.0.4.tgz#6888c93fa088688e2684311e3360ef77846a4206"
"version" "1.0.4" integrity sha512-97ZEgqhJq5LQw8a7kRHgJdB9zfh1f7L4jmiJG2cIHPD7+kippMUVSBre35HmA+g55c9RqyiXeG3SQOy9ayAbDw==
dependencies: dependencies:
"@vueuse/core" "^9.12.0" "@vueuse/core" "^9.12.0"
"ant-design-vue" "^3.2.15" "ant-design-vue" "^3.2.15"
@ -4033,73 +4033,67 @@
"resolved" "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz" "resolved" "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz"
"version" "4.1.0" "version" "4.1.0"
dependencies: dependencies:
"argparse" "^2.0.1" argparse "^2.0.1"
"jsbn@~0.1.0": jsbn@~0.1.0:
"integrity" "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" version "0.1.1"
"resolved" "https://registry.jetlinks.cn/jsbn/-/jsbn-0.1.1.tgz" resolved "https://registry.jetlinks.cn/jsbn/-/jsbn-0.1.1.tgz"
"version" "0.1.1" integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==
"jsesc@^2.5.1": jsesc@^2.5.1:
"integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" version "2.5.2"
"resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz"
"version" "2.5.2" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
"json-buffer@3.0.0": json-buffer@3.0.0:
"integrity" "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" version "3.0.0"
"resolved" "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.0.tgz" resolved "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.0.tgz"
"version" "3.0.0" integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==
"json-parse-even-better-errors@*", "json-parse-even-better-errors@^2.3.0", "json-parse-even-better-errors@^2.3.1": json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1:
"integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" version "2.3.1"
"resolved" "https://registry.jetlinks.cn/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" resolved "https://registry.jetlinks.cn/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz"
"version" "2.3.1" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
"json-parse-even-better-errors@^3.0.0": json-schema-traverse@^0.4.1:
"version" "3.0.0" version "0.4.1"
resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
"json-schema-traverse@^0.4.1": json-schema-traverse@^1.0.0:
"integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" version "1.0.0"
"resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz"
"version" "0.4.1" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
"json-schema-traverse@^1.0.0": json-schema@0.4.0:
"integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" version "0.4.0"
"resolved" "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" resolved "https://registry.jetlinks.cn/json-schema/-/json-schema-0.4.0.tgz"
"version" "1.0.0" integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==
"json-schema@0.2.3": json-stringify-nice@^1.1.4:
"version" "0.2.3" version "1.1.4"
resolved "https://registry.jetlinks.cn/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz"
integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==
"json-schema@0.4.0": json-stringify-safe@~5.0.1:
"integrity" "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" version "5.0.1"
"resolved" "https://registry.jetlinks.cn/json-schema/-/json-schema-0.4.0.tgz" resolved "https://registry.jetlinks.cn/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
"version" "0.4.0" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
"json-stringify-nice@^1.1.4": json5@^2.2.2:
"integrity" "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==" version "2.2.3"
"resolved" "https://registry.jetlinks.cn/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz" resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz"
"version" "1.1.4" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
"json-stringify-safe@~5.0.1": jsonc-parser@^3.2.0:
"integrity" "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" version "3.2.0"
"resolved" "https://registry.jetlinks.cn/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz"
"version" "5.0.1" integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==
"json5@^2.2.2": jsonfile@^4.0.0:
"integrity" "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" version "4.0.0"
"resolved" "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" resolved "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz"
"version" "2.2.3" integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==
"jsonc-parser@^3.2.0":
"integrity" "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w=="
"resolved" "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz"
"version" "3.2.0"
"jsonfile@^4.0.0":
"integrity" "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="
"resolved" "https://registry.jetlinks.cn/jsonfile/-/jsonfile-4.0.0.tgz"
"version" "4.0.0"
optionalDependencies: optionalDependencies:
"graceful-fs" "^4.1.6" "graceful-fs" "^4.1.6"