Commit 30611bd1 authored by 张宇聪's avatar 张宇聪 👀

feat: 提交

parent 62919d05
......@@ -34,6 +34,8 @@ declare global {
const Row: typeof import('antd')['Row']
const Rules: typeof import('./src/utils/REG')['Rules']
const Select: typeof import('antd')['Select']
const Selector: typeof import('./src/components/common/Selector')['default']
const SlotList: typeof import('./src/apis/media/mediaManage/slot/index')['SlotList']
const Space: typeof import('antd')['Space']
const Spin: typeof import('antd')['Spin']
const Switch: typeof import('antd')['Switch']
......@@ -43,6 +45,7 @@ declare global {
const UserList: typeof import('./src/constants/userList')['UserList']
const action: typeof import('mobx')['action']
const addMediaAccountAPI: typeof import('./src/apis/media/mediaAccount/index')['addMediaAccountAPI']
const addSlot: typeof import('./src/apis/media/mediaManage/slot/index')['addSlot']
const autorun: typeof import('mobx')['autorun']
const axios: typeof import('axios')['default']
const buildREG: typeof import('./src/utils/REG')['buildREG']
......@@ -51,6 +54,7 @@ declare global {
const changeDate: typeof import('./src/utils/date')['changeDate']
const changePEByIdAPI: typeof import('./src/apis/media/mediaAccount/index')['changePEByIdAPI']
const changeStatueByIdAPI: typeof import('./src/apis/media/mediaAccount/index')['changeStatueByIdAPI']
const checkEmpty: typeof import('./src/utils/index')['checkEmpty']
const checkIsImage: typeof import('./src/utils/upload')['checkIsImage']
const checkIsVideo: typeof import('./src/utils/upload')['checkIsVideo']
const computed: typeof import('mobx')['computed']
......@@ -59,6 +63,8 @@ declare global {
const createRef: typeof import('react')['createRef']
const createRequester: typeof import('./src/utils/request')['createRequester']
const digitUppercase: typeof import('./src/utils/money')['digitUppercase']
const editSlot: typeof import('./src/apis/media/mediaManage/slot/index')['editSlot']
const editSlotList: typeof import('./src/apis/media/mediaManage/slot/index')['editSlotList']
const extendObservable: typeof import('mobx')['extendObservable']
const fenToYuan: typeof import('./src/utils/money')['fenToYuan']
const flow: typeof import('mobx')['flow']
......@@ -72,9 +78,10 @@ declare global {
const getMediaAccountListAPI: typeof import('./src/apis/media/mediaAccount/index')['getMediaAccountListAPI']
const getMediaAuditAPI: typeof import('./src/apis/audit/mediaAudit/index')['getMediaAuditAPI']
const getMediaAuditListAPI: typeof import('./src/apis/audit/mediaAudit/index')['getMediaAuditListAPI']
const getRealTime: typeof import('./src/apis/index')['getRealTime']
const getMediaList: typeof import('./src/apis/media/mediaManage/media/index')['getMediaList']
const getSlotDetail: typeof import('./src/apis/media/mediaManage/slot/index')['getSlotDetail']
const getSlotList: typeof import('./src/apis/media/mediaManage/slot/index')['getSlotList']
const getSuffix: typeof import('./src/utils/upload')['getSuffix']
const getSvgaInfo: typeof import('./src/utils/upload')['getSvgaInfo']
const getTopOnlineApp: typeof import('./src/apis/index')['getTopOnlineApp']
const getUserById: typeof import('./src/apis/user/index')['getUserById']
const getUserList: typeof import('./src/apis/user/index')['getUserList']
......@@ -101,9 +108,10 @@ declare global {
const prefixYuan: typeof import('./src/utils/money')['prefixYuan']
const rangePresets: typeof import('./src/utils/date')['rangePresets']
const reaction: typeof import('mobx')['reaction']
const record2options: typeof import('./src/utils/index')['record2options']
const request: typeof import('./src/utils/request')['default']
const runInAction: typeof import('mobx')['runInAction']
const s: typeof import('./src/apis/media/mediaManage/slot/index')['s']
const saveSlot: typeof import('./src/apis/media/mediaManage/slot/index')['saveSlot']
const smartFenToYuan: typeof import('./src/utils/money')['smartFenToYuan']
const splitStrBy: typeof import('./src/utils/string')['splitStrBy']
const startTransition: typeof import('react')['startTransition']
......@@ -152,6 +160,15 @@ declare global {
export type { mediaSearchP, mediaAccountList, mediaAccount, changeParams } from './src/apis/media/mediaAccount/type'
import('./src/apis/media/mediaAccount/type')
// @ts-ignore
export type { MediaInfo, MediaInfoList, QueryMediaParams } from './src/apis/media/mediaManage/media/type'
import('./src/apis/media/mediaManage/media/type')
// @ts-ignore
export type { SlotInfo, SlotInfoList, QuerySlotParams, SlotModalData, QueryDetail } from './src/apis/media/mediaManage/slot/type'
import('./src/apis/media/mediaManage/slot/type')
// @ts-ignore
export type { ListBody, SelectOption, TabItem, List } from './src/apis/pages/index'
import('./src/apis/pages/index')
// @ts-ignore
export type { paginationType } from './src/apis/type'
import('./src/apis/type')
// @ts-ignore
......
import jsConfig from '@tuia/eslint-config-common/global.js'
import reactConfig from '@tuia/eslint-config-common/react.js'
import tsConfig from '@tuia/eslint-config-common/typeScript.js'
import tsConfig from '@tuia/eslint-config-common/typescript.js'
import reactRefresh from 'eslint-plugin-react-refresh'
export default [
...jsConfig,
...reactConfig,
...tsConfig,
{ ignores: ['dist'] },
reactRefresh.configs.vite,
{
rules: {
'import/no-unresolved': 'off',
},
},
]
export default [...jsConfig, ...reactConfig, ...tsConfig, { ignores: ['dist'] }, reactRefresh.configs.vite]
import { Suspense } from 'react'
import { StyleProvider } from '@ant-design/cssinjs'
// eslint-disable-next-line import-x/no-unresolved
import routes from '~react-pages'
import { ConfigProvider } from 'antd'
import zhCN from 'antd/lib/locale/zh_CN'
import Layouts from './layouts/index.tsx'
import Layouts from './layouts'
import 'dayjs/locale/zh-cn'
const App: React.FC = () => {
return (
<Suspense fallback={<Spin fullscreen />}>
......
/**
* @description: 获取媒体列表
* @param {QueryMediaParams} params 请求参数
* @return {MediaInfoList} 媒体信息列表
*/
export const getMediaList = (data: QueryMediaParams) =>
request<QueryMediaParams, MediaInfoList>('/media/data/page', { method: 'post', data })
import { Dayjs } from 'dayjs'
/**
* 媒体列表
*/
export interface MediaInfo {
/** 媒体id */
id: number
/** 流量开关 */
status: number
/** 媒体名称 */
mediaName: string
/** 曝光 */
exposePv: number
/** 点击 */
clickPv: number
/** 点击率 */
clickRate: number
/** 消耗 */
consume: number
/** cpc */
cpc: number
auditStatus: number
/** 审核状态 */
auditStatusDesc: string
}
export type MediaInfoList = List<MediaInfo>
/**
* 查询参数
*/
export interface QueryMediaParams extends paginationType {
startDate?: string
endDate?: string
/** 媒体名称 */
mediaName?: string
/** 媒体id */
id?: number
date?: Dayjs[]
}
/**
* @description: 获取广告位列表
* @param {QuerySlotParams} params 请求参数
* @return {SlotInfoList} 广告位列表
*/
export const getSlotList = (data: QuerySlotParams) =>
request<QuerySlotParams, SlotInfoList>('/slot/getList', { method: 'post', data })
/**
* @description: 添加/修改广告位
* @param {SlotModalData} data 广告位修改表单
* @return {void} 广告位列表
*/
export const saveSlot = (data: SlotModalData) => request<SlotModalData, void>('/slot/save', { method: 'post', data })
/**
* @description: 获取广告位详情
* @param {QueryDetail} params 请求参数
* @return {SlotInfo} 广告位列表
*/
export const getSlotDetail = (data: QueryDetail) =>
request<QueryDetail, SlotInfo>('/slot/detail', { method: 'post', data })
import { Dayjs } from 'dayjs'
/**
* 广告位列表
*/
export interface SlotInfo {
/** 广告位状态 */
status?: string
/** 推啊侧广告位id */
id: number
/** 媒体样式id */
thirdStyle?: number
/** 广告位名称 */
thirdName?: string
/** 关联的媒体id或dspId */
relId?: number
/** 关联的媒体名称或dsp名称 */
relName?: string
exposePv?: number
clickPv?: number
clickRate?: number
cpc?: number
/** 媒体广告位id */
thirdId?: number
/** 广告位类型 */
slotType?: number
type?: number
}
export type SlotInfoList = List<SlotInfo>
/**
* 查询参数
*/
export interface QuerySlotParams extends paginationType {
startDate?: string
endDate?: string
/** 关联的媒体名称或dsp名称 */
relName?: string
/** 关联的媒体id或dspId */
relId?: number
/** 媒体广告位id或dsp广告位id */
thirdId?: number
/** 推啊广告位id */
id?: number
/** 广告位名称 */
thirdName?: string
/** 广告位类型 */
slotType?: number
/** 类型 1-媒体 2-DSP */
type?: number
date?: Dayjs[]
}
export interface SlotModalData {
relId?: number
relName?: string
slotType?: number
/** 素材样式 */
materialStyle?: string
/** 媒体广告位id或dsp广告位id */
thirdId?: number
/** 广告位名称 */
thirdName?: string
/** 媒体样式id */
thirdStyle?: number
type?: number
}
export interface QueryDetail {
id: number
}
export interface ListBody<T> {
currentPage: number
pageSize: number
data: T
}
export interface SelectOption {
label: string | number
value: string | number
}
export interface TabItem {
name: string
label: string
}
export interface List<T> {
pageNum: number
pageSize: number
total: number
pages: number
list: T[]
}
export interface paginationType {
pageSize: number
currentPage: number
pageNum: number
}
.search-form {
display: flex;
}
\ No newline at end of file
......@@ -9,8 +9,7 @@ interface ListProp {
const List: React.FC<ListProp> = observer((prop: ListProp) => {
const { data, searchRun } = prop
const { setModalOpen, searchParams, getMediaAccountFc, changeAE, changeAEList, changePE, changeStatue } =
mediaAccountStore
const { setModalOpen, searchParams, getMediaAccountFc } = mediaAccountStore
const editAddModal = (id: number | string) => {
setModalOpen(true)
getMediaAccountFc(id)
......@@ -25,6 +24,31 @@ const List: React.FC<ListProp> = observer((prop: ListProp) => {
console.log('handlePageChange', param)
}
const changeStatue = (id: string | number, statue: boolean) => {
console.log(id, statue)
const l = changeStatueByIdAPI({ mediaId: id, statue })
console.log(l)
}
const [flag, changeFlag] = useState(false)
const changeAE = (id: string | number, name: string) => {
console.log(id, name)
const l = changeAEByIdAPI({ mediaId: id, AE: name })
console.log(l)
}
const changeAEList = (id: string | number, name: string[]) => {
console.log(id, name)
const l = changeAEListByIdAPI({ mediaId: id, AEList: name })
console.log(l)
}
const changePE = (id: string | number, name: string) => {
console.log(id, name)
const l = changePEByIdAPI({ mediaId: id, PE: name })
console.log(l)
}
const columns: TableColumnsType<mediaAccountList> = [
{
title: '媒体ID',
......@@ -57,16 +81,24 @@ const List: React.FC<ListProp> = observer((prop: ListProp) => {
key: 'AE',
render: (AE, record) => {
return (
<TableSelect
text={AE}
selectValue={record.AEId}
options={[
{ label: 'text', value: 1 },
{ label: 'text2', value: 2 },
{ label: 'text3', value: 3 },
]}
callback={(value) => changeAE(record.mediaId, value as number)}
/>
<Space size='middle'>
{flag ? (
<Select
defaultValue={AE}
style={{ width: 120 }}
onChange={async (value) => {
await changeAE(record.mediaId, value)
changeFlag(false)
}}>
<Select.Option value='test'>test</Select.Option>
<Select.Option value='test2'>test2</Select.Option>
</Select>
) : AE ? (
<a onClick={() => changeFlag(true)}>{AE}</a>
) : (
<a onClick={() => changeFlag(true)}>-</a>
)}
</Space>
)
},
},
......@@ -76,17 +108,26 @@ const List: React.FC<ListProp> = observer((prop: ListProp) => {
key: 'AEName',
render: (AEName, record) => {
return (
<TableSelect
text={AEName}
<Space size='middle'>
{flag ? (
<Select
mode='multiple'
selectValue={AEName}
options={[
{ label: 'text', value: 'text' },
{ label: 'text2', value: 'text2' },
{ label: 'text3', value: 'text3' },
]}
callback={(value) => changeAEList(record.mediaId, value as string[])}
/>
defaultValue={AEName?.split(',')}
style={{ width: 120 }}
onChange={async (value) => {
await changeAEList(record.mediaId, value)
changeFlag(false)
}}>
<Select.Option value='test'>test</Select.Option>
<Select.Option value='test1'>test1</Select.Option>
<Select.Option value='test2'>test2</Select.Option>
</Select>
) : AEName ? (
<a onClick={() => changeFlag(true)}>{AEName}</a>
) : (
<a onClick={() => changeFlag(true)}>-</a>
)}
</Space>
)
},
},
......@@ -96,16 +137,24 @@ const List: React.FC<ListProp> = observer((prop: ListProp) => {
key: 'PE',
render: (PE, record) => {
return (
<TableSelect
text={PE}
selectValue={PE}
options={[
{ label: 'text', value: 'text' },
{ label: 'text2', value: 'text2' },
{ label: 'text3', value: 'text3' },
]}
callback={(value) => changePE(record.mediaId, value as string)}
/>
<Space size='middle'>
{flag ? (
<Select
defaultValue={PE}
style={{ width: 120 }}
onChange={async (value) => {
await changePE(record.mediaId, value)
changeFlag(false)
}}>
<Select.Option value='test'>test</Select.Option>
<Select.Option value='test2'>test2</Select.Option>
</Select>
) : PE ? (
<a onClick={() => changeFlag(true)}>{PE}</a>
) : (
<a onClick={() => changeFlag(true)}>-</a>
)}
</Space>
)
},
},
......
......@@ -10,6 +10,7 @@ class MediaAccountStore {
currentPage: 1,
}
mediaAccount: mediaAccount | undefined = {
mediaId: '',
mediaName: '',
cName: '',
pe: '',
......@@ -49,6 +50,7 @@ class MediaAccountStore {
const res = getMediaAccountAPI(id)
console.log(res)
this.setMediaAccount({
mediaId: 'text',
mediaName: 'text',
cName: 'text',
pe: 'text',
......
export const statusColorMap: Record<string, string> = {
['待审核']: 'brown',
['审核通过']: 'green',
['审核拒绝']: 'red',
}
// 策略类型
export enum SLOT_TYPE {
/** 开屏 */
OPEN_SCREEN = 1,
/** 信息流 */
INFO = 2,
/** 插屏 */
INSERT_SCREEN = 3,
/** 激励视频 */
MOTIVATE = 4,
}
export const SLOT_TYPE_TEXT = {
[SLOT_TYPE.OPEN_SCREEN]: '开屏',
[SLOT_TYPE.INFO]: '信息流',
[SLOT_TYPE.INSERT_SCREEN]: '插屏',
[SLOT_TYPE.MOTIVATE]: '激励视频',
}
export const SLOT_TYPE_OPTIONS = [
{
label: SLOT_TYPE_TEXT[SLOT_TYPE.OPEN_SCREEN],
value: SLOT_TYPE.OPEN_SCREEN,
},
{
label: SLOT_TYPE_TEXT[SLOT_TYPE.INFO],
value: SLOT_TYPE.INFO,
},
{
label: SLOT_TYPE_TEXT[SLOT_TYPE.INSERT_SCREEN],
value: SLOT_TYPE.INSERT_SCREEN,
},
{
label: SLOT_TYPE_TEXT[SLOT_TYPE.MOTIVATE],
value: SLOT_TYPE.MOTIVATE,
},
]
export const enum MATERIAL_STYLE {
/** 竖图 */
VERTICAL_PHOTO = 1,
/** 横图 */
HORIZONTAL_PHOTO = 2,
/** 竖视频 */
VERTICAL_VIDEO = 3,
/** 横视频 */
HORIZONTAL_VIDEO = 4,
}
export const MATERIAL_STYLE_TEXT = {
[MATERIAL_STYLE.VERTICAL_PHOTO]: '竖图',
[MATERIAL_STYLE.HORIZONTAL_PHOTO]: '横图',
[MATERIAL_STYLE.VERTICAL_VIDEO]: '竖视频',
[MATERIAL_STYLE.HORIZONTAL_VIDEO]: '横视频',
}
export const MATERIAL_STYLE_OPTIONS = [
{
label: MATERIAL_STYLE_TEXT[MATERIAL_STYLE.VERTICAL_PHOTO],
value: MATERIAL_STYLE.VERTICAL_PHOTO,
},
{
label: MATERIAL_STYLE_TEXT[MATERIAL_STYLE.HORIZONTAL_PHOTO],
value: MATERIAL_STYLE.HORIZONTAL_PHOTO,
},
{
label: MATERIAL_STYLE_TEXT[MATERIAL_STYLE.VERTICAL_VIDEO],
value: MATERIAL_STYLE.VERTICAL_VIDEO,
},
{
label: MATERIAL_STYLE_TEXT[MATERIAL_STYLE.HORIZONTAL_VIDEO],
value: MATERIAL_STYLE.HORIZONTAL_VIDEO,
},
]
export const enum PARAMS_TYPE {
/** 媒体 */
MEDIA = 1,
/** DSP */
DSP = 2,
}
import type { TabsProps } from 'antd'
import { Tabs } from 'antd'
import Media from './media'
import Slot from './slot'
import store from './store'
const tabsItems: TabsProps['items'] = [
{
key: 'media',
label: '媒体',
children: <Media />,
},
{
key: 'slot',
label: '广告位',
children: <Slot />,
},
]
const MediaManage = observer(() => {
const { setTag, currentTag } = store
const onChange = (key: string) => {
setTag(key)
}
return (
<Space direction='vertical' style={{ display: 'flex' }} size='middle'>
<Tabs activeKey={currentTag} items={tabsItems} onChange={onChange} />
</Space>
)
})
export default MediaManage
import store from '../store/index.ts'
import List from './list.tsx'
import Search from './search.tsx'
const Media: React.FC = observer(() => {
const { mediaSearchParams } = store
const { data, run, loading } = useRequest(getMediaList, { defaultParams: [mediaSearchParams] })
return (
<Spin spinning={loading}>
<Search searchRun={run} />
<List data={data} searchRun={run} />
</Spin>
)
})
export default Media
import { type TableColumnsType } from 'antd'
import { statusColorMap } from '../common/const.ts'
import store from '../store/index.ts'
interface ListProp {
data: MediaInfoList | undefined
searchRun: (param: QueryMediaParams) => void
}
const List: React.FC<ListProp> = observer((prop: ListProp) => {
const { data, searchRun } = prop
const { mediaSearchParams, setTag, setSlotSearchParams, setModalOpen } = store
const columns: TableColumnsType<MediaInfo> = [
{
title: '流量开关',
dataIndex: 'status',
key: 'status',
render: (value: number) => <Switch checked={value === 1} />,
},
{
title: '媒体名称',
dataIndex: 'mediaName',
key: 'mediaName',
render: (text, record) => {
return (
<div className='flex flex-col items-center justify-center w-full h-[50px] group'>
<a
className='w-[120px] text-center'
onClick={() => {
setTag('slot')
setSlotSearchParams({ relId: record.id, pageSize: 10, pageNum: 1 })
}}>
{text}
</a>
<div className='max-h-0 overflow-hidden group-hover:max-h-[30px]'>
<a
onClick={() => {
setTag('slot')
setModalOpen(true, { relId: record.id, relName: text })
}}>
创建广告位
</a>
</div>
</div>
)
},
},
{
title: '媒体ID',
dataIndex: 'id',
key: 'id',
},
{
title: '审核状态',
dataIndex: 'auditStatusDesc',
key: 'auditStatusDesc',
render: (text: string) => {
const color = statusColorMap[text] || 'default'
return <span style={{ color }}>{text}</span>
},
},
{
title: '曝光',
dataIndex: 'exposePv',
key: 'exposePv',
render: (text) => {
return <div>{checkEmpty(text)}</div>
},
},
{
title: '点击',
dataIndex: 'clickPv',
key: 'clickPv',
render: (text) => {
return <div>{checkEmpty(text)}</div>
},
},
{
title: '点击率',
dataIndex: 'clickRate',
key: 'clickRate',
render: (text) => {
return <div>{checkEmpty(text) + '%'}</div>
},
},
{
title: '消耗',
dataIndex: 'consume',
key: 'consume',
render: (text) => {
return <div>{checkEmpty(text)}</div>
},
},
]
const handlePageChange = async (page: number, pageSize: number) => {
const param = {
...mediaSearchParams,
pageSize: pageSize,
currentPage: page,
}
searchRun(param)
}
return (
<Table<MediaInfo>
rowKey='id'
className='mt-5'
dataSource={data?.list}
columns={columns}
pagination={{
pageSizeOptions: [10, 20, 50],
showQuickJumper: true,
total: data?.total,
onChange: handlePageChange,
}}
/>
)
})
export default List
import { Form, DatePicker, ConfigProvider, Input, Button } from 'antd'
import locale from 'antd/es/locale/zh_CN' // Ant Design 的中文语言包
import { observer } from 'mobx-react-lite'
import store from '../store'
const { Item: FormItem } = Form
const { RangePicker } = DatePicker
interface SearchProp {
searchRun: (param: QueryMediaParams) => void
}
const Search: React.FC<SearchProp> = observer((prop: SearchProp) => {
const [form] = Form.useForm<QueryMediaParams>()
const { searchRun } = prop
const { setMediaSearchParams, mediaSearchParams } = store
useEffect(() => {
form.setFieldsValue(mediaSearchParams)
}, [form, mediaSearchParams])
const handleSearch = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {
e.preventDefault()
form.validateFields().then((values) => {
const [startDate, endDate] = values.date || []
const newParams = {
...mediaSearchParams,
...values,
startDate: startDate.format('YYYY-MM-DD'),
endDate: endDate.format('YYYY-MM-DD'),
id: Number(values.id),
}
setMediaSearchParams(newParams)
searchRun(newParams)
})
}
return (
<ConfigProvider locale={locale}>
<Form form={form} layout='inline'>
<FormItem name='date'>
<RangePicker format='YYYY-MM-DD' />
</FormItem>
<FormItem<QueryMediaParams> label='媒体ID' name='id' rules={[Rules.id]}>
<Input style={{ width: 200 }} placeholder='请输入媒体ID' />
</FormItem>
<FormItem<QueryMediaParams> label='媒体名称' name='mediaName' rules={[Rules.name]}>
<Input style={{ width: 200 }} placeholder='请输入媒体名称' />
</FormItem>
<FormItem>
<Button type='primary' onClick={handleSearch}>
搜索
</Button>
</FormItem>
</Form>
</ConfigProvider>
)
})
export default Search
import store from '../store/index.ts'
import List from './list'
import Search from './search'
import SlotModal from './slotModal.tsx'
const Media: React.FC = observer(() => {
const { slotSearchParams } = store
const { data, run, loading, refresh } = useRequest(getSlotList, { defaultParams: [slotSearchParams] })
return (
<Spin spinning={loading}>
<Search searchRun={run} />
<List data={data} searchRun={run} />
<SlotModal refresh={refresh} />
</Spin>
)
})
export default Media
import type { TableColumnsType } from 'antd'
import store from '../store/index.ts'
interface ListProp {
data: SlotInfoList | undefined
searchRun: (param: QuerySlotParams) => void
}
const List: React.FC<ListProp> = observer((prop: ListProp) => {
const { slotSearchParams, setModalOpen } = store
const { data, searchRun } = prop
const columns: TableColumnsType<SlotInfo> = [
{
title: '广告位状态',
dataIndex: 'status',
key: 'status',
render: (value: number) => <Switch checked={value === 1} />,
},
{
title: '推啊广告位ID',
dataIndex: 'id',
key: 'id',
},
{
title: '媒体样式ID',
dataIndex: 'thirdStyle',
key: 'thirdStyle',
},
{
title: '广告位名称',
dataIndex: 'thirdName',
key: 'thirdName',
render: (text, record) => {
return (
<div className='flex flex-col items-center justify-center w-full h-[50px] group'>
<a className='w-[120px] text-center'>{text}</a>
<div className='max-h-0 overflow-hidden group-hover:max-h-[30px]'>
<a
onClick={async () => {
const res = await getSlotDetail({ id: record.id })
setModalOpen(true, res)
}}>
编辑
</a>
</div>
</div>
)
},
},
{
title: '媒体ID',
dataIndex: 'relId',
key: 'relId',
render: (text) => {
return <div>{checkEmpty(text)}</div>
},
},
{
title: '媒体名称',
dataIndex: 'relName',
key: 'relName',
render: (text) => {
return <div>{checkEmpty(text)}</div>
},
},
{
title: '曝光',
dataIndex: 'exposePv',
key: 'exposePv',
render: (text) => {
return <div>{checkEmpty(text)}</div>
},
},
{
title: '点击',
dataIndex: 'clickPv',
key: 'clickPv',
render: (text) => {
return <div>{checkEmpty(text)}</div>
},
},
{
title: '点击率',
dataIndex: 'clickRate',
key: 'clickRate',
render: (text) => {
return <div>{checkEmpty(text) + '%'}</div>
},
},
{
title: 'CPC',
dataIndex: 'cpc',
key: 'cpc',
render: (text) => {
return <div>{checkEmpty(text)}</div>
},
},
]
const handlePageChange = async (page: number, pageSize: number) => {
const param = {
...slotSearchParams,
pageSize: pageSize,
currentPage: page,
}
searchRun(param)
}
return (
<Table<SlotInfo>
className='mt-5'
dataSource={data?.list}
columns={columns}
pagination={{
pageSizeOptions: [10, 20, 50],
showQuickJumper: true,
total: data?.total,
onChange: handlePageChange,
}}
/>
)
})
export default List
import { Form, DatePicker, Input, Button } from 'antd'
import { observer } from 'mobx-react-lite'
import { SLOT_TYPE_OPTIONS } from '../common/const'
import store from '../store'
const { Item: FormItem } = Form
const { RangePicker } = DatePicker
interface SearchProp {
searchRun: (param: QuerySlotParams) => void
}
const Search: React.FC<SearchProp> = observer((prop: SearchProp) => {
const [form] = Form.useForm<QuerySlotParams>()
const { searchRun } = prop
const { setSlotSearchParams, slotSearchParams } = store
useEffect(() => {
form.setFieldsValue(slotSearchParams)
}, [form, slotSearchParams])
const handleSearch = async (e: React.MouseEvent<HTMLElement, MouseEvent>) => {
e.preventDefault()
const values = await form.validateFields()
// 安全地处理日期,防止 values.date 未定义
const [startDate, endDate] = values.date && Array.isArray(values.date) ? values.date : [null, null]
// 构造新的搜索参数
const newParams = {
...slotSearchParams,
...values,
startDate: startDate ? startDate.format('YYYY-MM-DD') : undefined,
endDate: endDate ? endDate.format('YYYY-MM-DD') : undefined,
}
setSlotSearchParams(newParams) // 更新搜索参数
searchRun(newParams) // 执行搜索
}
return (
<Form form={form} layout='inline'>
<FormItem<QuerySlotParams> name='date'>
<RangePicker format='YYYY-MM-DD' />
</FormItem>
<FormItem<QuerySlotParams> label='媒体ID' name='relId' rules={[Rules.id]}>
<Input style={{ width: 200 }} placeholder='请输入媒体ID' />
</FormItem>
<FormItem<QuerySlotParams> label='媒体名称' name='relName' rules={[Rules.name]}>
<Input style={{ width: 200 }} placeholder='请输入媒体名称' />
</FormItem>
<FormItem<QuerySlotParams> label='推啊广告位ID' name='id' rules={[Rules.id]}>
<Input style={{ width: 200 }} placeholder='请输入推啊广告位ID' />
</FormItem>
<FormItem<QuerySlotParams> label='推啊广告位名称' name='thirdName' rules={[Rules.name]}>
<Input style={{ width: 200 }} placeholder='请输入推啊广告位名称' />
</FormItem>
<FormItem<QuerySlotParams> label='媒体广告位ID' name='thirdId' rules={[Rules.id]}>
<Input style={{ width: 200 }} placeholder='请输入媒体广告位ID' />
</FormItem>
<FormItem<QuerySlotParams> label='广告位类型' name='slotType'>
<Select style={{ width: 200 }} placeholder='请选择广告位类型' options={SLOT_TYPE_OPTIONS} />
</FormItem>
<FormItem>
<Button type='primary' onClick={handleSearch}>
搜索
</Button>
</FormItem>
</Form>
)
})
export default Search
import { Form, Input } from 'antd'
import { observer } from 'mobx-react-lite'
import { SLOT_TYPE_OPTIONS, MATERIAL_STYLE_OPTIONS, PARAMS_TYPE } from '../common/const'
import store from '../store'
const { Item: FormItem } = Form
interface ModalProp {
refresh: () => void
}
const SlotModal: React.FC<ModalProp> = observer(({ refresh }) => {
const [form] = Form.useForm<SlotModalData>()
const { modalOpen, setModalOpen, idEdit, modalData } = store
useEffect(() => {
form.setFieldsValue(modalData)
}, [form, modalData])
const submit = async (e: React.MouseEvent<HTMLElement, MouseEvent>) => {
e.preventDefault()
const values = await form.validateFields()
const params = { ...modalData, ...values, type: PARAMS_TYPE.MEDIA }
await saveSlot(params)
refresh()
close()
}
const close = () => {
setModalOpen(false, {})
form.resetFields()
}
return (
<Modal title={`${idEdit ? '修改' : '添加'}广告位`} open={modalOpen} okText='保存' onCancel={close} onOk={submit}>
<Form form={form}>
<FormItem<SlotModalData> label='媒体名称' name='relName' rules={[Rules.name]}>
<Input style={{ width: 200 }} disabled />
</FormItem>
<FormItem<SlotModalData> label='广告位类型' name='slotType' rules={[Rules.required]}>
<Select style={{ width: 200 }} placeholder='请选择广告位类型' options={SLOT_TYPE_OPTIONS} />
</FormItem>
<FormItem<SlotModalData> label='素材样式选择' name='materialStyle' rules={[Rules.required]}>
<Checkbox.Group options={MATERIAL_STYLE_OPTIONS} />
</FormItem>
<FormItem<SlotModalData> label='媒体广告位ID' name='thirdId' rules={[Rules.required, Rules.id]}>
<Input style={{ width: 200 }} placeholder='请输入媒体广告位ID' />
</FormItem>
<FormItem<SlotModalData> label='媒体样式ID' name='thirdStyle' rules={[Rules.required, Rules.id]}>
<Input style={{ width: 200 }} placeholder='请输入媒体样式ID' />
</FormItem>
</Form>
</Modal>
)
})
export default SlotModal
import dayjs from 'dayjs'
import { PARAMS_TYPE } from '../common/const'
class Store {
today = dayjs().format()
currentTag = 'media'
slotSearchParams: QuerySlotParams = {
startDate: this.today,
endDate: this.today,
date: [dayjs(this.today), dayjs(this.today)],
relName: '',
relId: void 0,
id: void 0,
thirdName: '',
thirdId: void 0,
slotType: void 0,
pageSize: 10,
pageNum: 1,
type: PARAMS_TYPE.MEDIA,
}
mediaSearchParams: QueryMediaParams = {
startDate: this.today,
endDate: this.today,
date: [dayjs(this.today), dayjs(this.today)],
mediaName: '',
id: void 0,
pageSize: 10,
pageNum: 1,
}
modalOpen = false
modalData: SlotModalData = {
materialStyle: void 0,
relName: '',
slotType: void 0,
thirdId: void 0,
thirdStyle: void 0,
type: PARAMS_TYPE.MEDIA,
}
constructor() {
makeAutoObservable(this) // 自动推断类型
}
setTag = (tag: string) => {
this.currentTag = tag
}
get idEdit() {
return !!this.modalData.thirdId
}
/**
* 设置媒体查询参数
*/
setMediaSearchParams = (value: QueryMediaParams) => {
this.mediaSearchParams = { ...this.mediaSearchParams, ...value }
}
/**
* 操作广告位弹窗
* @param openStatus 是否开启
* @param data 数据
*/
setModalOpen = (openStatus: boolean, data: SlotModalData) => {
this.modalOpen = openStatus
this.modalData = { ...this.modalData, ...data }
}
/**
* 设置广告位查询参数
*/
setSlotSearchParams = (value: QuerySlotParams) => {
this.slotSearchParams = { ...this.slotSearchParams, ...value }
}
}
const store = new Store()
export default store
import MediaManageIndex from '@components/Media/mediaManage/index.tsx'
const Index = observer(() => {
return <MediaManageIndex />
})
export default Index
export function isNothing(value: number | void | string | null | Array<string | number>) {
import { ReactNode } from 'react'
export function isNothing(value: number | void | string | null | undefined): boolean {
return (
value === '' ||
value === undefined ||
......@@ -6,3 +7,7 @@ export function isNothing(value: number | void | string | null | Array<string |
(typeof value === 'number' && (isNaN(value) || !isFinite(value)))
)
}
export function checkEmpty(data: number | string | null | undefined): ReactNode {
return isNothing(data) ? '-' : data
}
/**
* 常用字符串公用方法库
*/
......@@ -109,6 +109,7 @@ export default defineConfig(({ mode }) => ({
'@stores': '/src/stores',
'@apis': '/src/apis',
'@constants': '/src/constants',
'~react-pages': 'virtual:generated-pages-react',
},
},
}))
......@@ -78,14 +78,7 @@
resolved "http://npm.dui88.com:80/@ant-design%2fv5-patch-for-react-19/-/v5-patch-for-react-19-1.0.3.tgz#6f522be2dd3440952617590bde5a1237a848a416"
integrity sha512-iWfZuSUl5kuhqLUw7jJXUQFMMkM7XpW7apmKzQBQHU0cpifYW4A79xIBt9YVO5IBajKpPG5UKP87Ft7Yrw1p/w==
"@babel/code-frame@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "http://npm.dui88.com:80/@babel%2fcode-frame/-/code-frame-7.0.0-beta.44.tgz#2a02643368de80916162be70865c97774f3adbd9"
integrity sha1-KgJkM2jegJFhYr5whlyXd08629k=
dependencies:
"@babel/highlight" "7.0.0-beta.44"
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.26.0", "@babel/code-frame@^7.26.2":
"@babel/code-frame@^7.26.0", "@babel/code-frame@^7.26.2":
version "7.26.2"
resolved "http://npm.dui88.com:80/@babel%2fcode-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85"
integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==
......@@ -129,17 +122,6 @@
eslint-visitor-keys "^2.1.0"
semver "^6.3.1"
"@babel/generator@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "http://npm.dui88.com:80/@babel%2fgenerator/-/generator-7.0.0-beta.44.tgz#c7e67b9b5284afcf69b309b50d7d37f3e5033d42"
integrity sha1-x+Z7m1KEr89pswm1DX038+UDPUI=
dependencies:
"@babel/types" "7.0.0-beta.44"
jsesc "^2.5.1"
lodash "^4.2.0"
source-map "^0.5.0"
trim-right "^1.0.1"
"@babel/generator@^7.26.0", "@babel/generator@^7.27.0":
version "7.27.0"
resolved "http://npm.dui88.com:80/@babel%2fgenerator/-/generator-7.27.0.tgz#764382b5392e5b9aff93cadb190d0745866cbc2c"
......@@ -202,22 +184,6 @@
lodash.debounce "^4.0.8"
resolve "^1.14.2"
"@babel/helper-function-name@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "http://npm.dui88.com:80/@babel%2fhelper-function-name/-/helper-function-name-7.0.0-beta.44.tgz#e18552aaae2231100a6e485e03854bc3532d44dd"
integrity sha1-4YVSqq4iMRAKbkheA4VLw1MtRN0=
dependencies:
"@babel/helper-get-function-arity" "7.0.0-beta.44"
"@babel/template" "7.0.0-beta.44"
"@babel/types" "7.0.0-beta.44"
"@babel/helper-get-function-arity@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "http://npm.dui88.com:80/@babel%2fhelper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz#d03ca6dd2b9f7b0b1e6b32c56c72836140db3a15"
integrity sha1-0Dym3SufewseazLFbHKDYUDbOhU=
dependencies:
"@babel/types" "7.0.0-beta.44"
"@babel/helper-member-expression-to-functions@^7.25.9":
version "7.25.9"
resolved "http://npm.dui88.com:80/@babel%2fhelper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz#9dfffe46f727005a5ea29051ac835fb735e4c1a3"
......@@ -281,19 +247,12 @@
"@babel/traverse" "^7.25.9"
"@babel/types" "^7.25.9"
"@babel/helper-split-export-declaration@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "http://npm.dui88.com:80/@babel%2fhelper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz#c0b351735e0fbcb3822c8ad8db4e583b05ebd9dc"
integrity sha1-wLNRc14PvLOCLIrY205YOwXr2dw=
dependencies:
"@babel/types" "7.0.0-beta.44"
"@babel/helper-string-parser@^7.25.9":
version "7.25.9"
resolved "http://npm.dui88.com:80/@babel%2fhelper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c"
integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==
"@babel/helper-validator-identifier@^7.24.7", "@babel/helper-validator-identifier@^7.25.9":
"@babel/helper-validator-identifier@^7.25.9":
version "7.25.9"
resolved "http://npm.dui88.com:80/@babel%2fhelper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7"
integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==
......@@ -320,16 +279,7 @@
"@babel/template" "^7.27.0"
"@babel/types" "^7.27.0"
"@babel/highlight@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "http://npm.dui88.com:80/@babel%2fhighlight/-/highlight-7.0.0-beta.44.tgz#18c94ce543916a80553edcdcf681890b200747d5"
integrity sha1-GMlM5UORaoBVPtzc9oGJCyAHR9U=
dependencies:
chalk "^2.0.0"
esutils "^2.0.2"
js-tokens "^3.0.0"
"@babel/parser@^7.15.4", "@babel/parser@^7.26.0", "@babel/parser@^7.27.0":
"@babel/parser@^7.26.0", "@babel/parser@^7.27.0":
version "7.27.0"
resolved "http://npm.dui88.com:80/@babel%2fparser/-/parser-7.27.0.tgz#3d7d6ee268e41d2600091cbd4e145ffee85a44ec"
integrity sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==
......@@ -948,16 +898,6 @@
dependencies:
regenerator-runtime "^0.14.0"
"@babel/template@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "http://npm.dui88.com:80/@babel%2ftemplate/-/template-7.0.0-beta.44.tgz#f8832f4fdcee5d59bf515e595fc5106c529b394f"
integrity sha1-+IMvT9zuXVm/UV5ZX8UQbFKbOU8=
dependencies:
"@babel/code-frame" "7.0.0-beta.44"
"@babel/types" "7.0.0-beta.44"
babylon "7.0.0-beta.44"
lodash "^4.2.0"
"@babel/template@^7.25.9", "@babel/template@^7.27.0":
version "7.27.0"
resolved "http://npm.dui88.com:80/@babel%2ftemplate/-/template-7.27.0.tgz#b253e5406cc1df1c57dcd18f11760c2dbf40c0b4"
......@@ -967,22 +907,6 @@
"@babel/parser" "^7.27.0"
"@babel/types" "^7.27.0"
"@babel/traverse@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "http://npm.dui88.com:80/@babel%2ftraverse/-/traverse-7.0.0-beta.44.tgz#a970a2c45477ad18017e2e465a0606feee0d2966"
integrity sha1-qXCixFR3rRgBfi5GWgYG/u4NKWY=
dependencies:
"@babel/code-frame" "7.0.0-beta.44"
"@babel/generator" "7.0.0-beta.44"
"@babel/helper-function-name" "7.0.0-beta.44"
"@babel/helper-split-export-declaration" "7.0.0-beta.44"
"@babel/types" "7.0.0-beta.44"
babylon "7.0.0-beta.44"
debug "^3.1.0"
globals "^11.1.0"
invariant "^2.2.0"
lodash "^4.2.0"
"@babel/traverse@^7.25.9", "@babel/traverse@^7.26.5", "@babel/traverse@^7.26.8", "@babel/traverse@^7.27.0":
version "7.27.0"
resolved "http://npm.dui88.com:80/@babel%2ftraverse/-/traverse-7.27.0.tgz#11d7e644779e166c0442f9a07274d02cd91d4a70"
......@@ -996,15 +920,6 @@
debug "^4.3.1"
globals "^11.1.0"
"@babel/types@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "http://npm.dui88.com:80/@babel%2ftypes/-/types-7.0.0-beta.44.tgz#6b1b164591f77dec0a0342aca995f2d046b3a757"
integrity sha1-axsWRZH3fewKA0KsqZXy0Eazp1c=
dependencies:
esutils "^2.0.2"
lodash "^4.2.0"
to-fast-properties "^2.0.0"
"@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.27.0", "@babel/types@^7.4.4":
version "7.27.0"
resolved "http://npm.dui88.com:80/@babel%2ftypes/-/types-7.27.0.tgz#ef9acb6b06c3173f6632d993ecb6d4ae470b4559"
......@@ -1013,6 +928,28 @@
"@babel/helper-string-parser" "^7.25.9"
"@babel/helper-validator-identifier" "^7.25.9"
"@emnapi/core@^1.4.0":
version "1.4.1"
resolved "http://npm.dui88.com:80/@emnapi%2fcore/-/core-1.4.1.tgz#1841d87508c70d9f3008da52a4a50579e03e5728"
integrity sha512-4JFstCTaToCFrPqrGzgkF8N2NHjtsaY4uRh6brZQ5L9e4wbMieX8oDT8N7qfVFTQecHFEtkj4ve49VIZ3mKVqw==
dependencies:
"@emnapi/wasi-threads" "1.0.1"
tslib "^2.4.0"
"@emnapi/runtime@^1.4.0":
version "1.4.1"
resolved "http://npm.dui88.com:80/@emnapi%2fruntime/-/runtime-1.4.1.tgz#79e54e3cc7f1955b3080f6e1e0e111e06114e114"
integrity sha512-LMshMVP0ZhACNjQNYXiU1iZJ6QCcv0lUdPDPugqGvCGXt5xtRVBPdtA0qU12pEXZzpWAhWlZYptfdAFq10DOVQ==
dependencies:
tslib "^2.4.0"
"@emnapi/wasi-threads@1.0.1":
version "1.0.1"
resolved "http://npm.dui88.com:80/@emnapi%2fwasi-threads/-/wasi-threads-1.0.1.tgz#d7ae71fd2166b1c916c6cd2d0df2ef565a2e1a5b"
integrity sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==
dependencies:
tslib "^2.4.0"
"@emotion/hash@^0.8.0":
version "0.8.0"
resolved "http://npm.dui88.com:80/@emotion%2fhash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"
......@@ -1298,6 +1235,15 @@
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
"@napi-rs/wasm-runtime@^0.2.8":
version "0.2.8"
resolved "http://npm.dui88.com:80/@napi-rs%2fwasm-runtime/-/wasm-runtime-0.2.8.tgz#642e8390ee78ed21d6b79c467aa610e249224ed6"
integrity sha512-OBlgKdX7gin7OIq4fadsjpg+cp2ZphvAIKucHsNfTdJiqdOmOEwQd/bHi0VwNrcw5xpBJyUw6cK/QilCqy1BSg==
dependencies:
"@emnapi/core" "^1.4.0"
"@emnapi/runtime" "^1.4.0"
"@tybys/wasm-util" "^0.9.0"
"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1":
version "5.1.1-v1"
resolved "http://npm.dui88.com:80/@nicolo-ribaudo%2feslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129"
......@@ -1336,6 +1282,11 @@
resolved "http://npm.dui88.com:80/@pkgr%2fcore/-/core-0.2.0.tgz#8dff61038cb5884789d8b323d9869e5363b976f7"
integrity sha512-vsJDAkYR6qCPu+ioGScGiMYR7LvZYIXh/dlQeviqoTWNCVfKTLYD/LkNWH4Mxsv2a5vpIRc77FN5DnmK1eBggQ==
"@pkgr/core@^0.2.2":
version "0.2.3"
resolved "http://npm.dui88.com:80/@pkgr%2fcore/-/core-0.2.3.tgz#4946c50a8e1272a5529ebd4e2d5869db183a3cbe"
integrity sha512-yMV8bb9prWI21N6FsrnPCbhoYb8UUvYCDGoSvPHBloVC095Ef2ker43hzXkJ6TpJPw53S8FeFYkARa7GGIGwxg==
"@rc-component/async-validator@^5.0.3":
version "5.0.4"
resolved "http://npm.dui88.com:80/@rc-component%2fasync-validator/-/async-validator-5.0.4.tgz#5291ad92f00a14b6766fc81735c234277f83e948"
......@@ -1518,11 +1469,6 @@
resolved "http://npm.dui88.com:80/@rollup%2frollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.39.0.tgz#bfe0214e163f70c4fec1c8f7bb8ce266f4c05b7e"
integrity sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug==
"@rtsao/scc@^1.1.0":
version "1.1.0"
resolved "http://npm.dui88.com:80/@rtsao%2fscc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8"
integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==
"@swc/core-darwin-arm64@1.11.16":
version "1.11.16"
resolved "http://npm.dui88.com:80/@swc%2fcore-darwin-arm64/-/core-darwin-arm64-1.11.16.tgz#3001aaed6ec20e97a75064f09a391f1f2d811614"
......@@ -1695,10 +1641,10 @@
"@tailwindcss/oxide" "4.1.0"
tailwindcss "4.1.0"
"@tuia/eslint-config-common@3.0.1-beta.3":
version "3.0.1-beta.3"
resolved "http://npm.dui88.com:80/@tuia%2feslint-config-common/-/eslint-config-common-3.0.1-beta.3.tgz#8c1929e1acedf12d89d14b87beb70135beea3136"
integrity sha512-Ir92tVGQA8+lj7227wT2vyPlC6lStEvz4Ef+D7u8maD3NGVywF5jZXnRpL/vt5dhTxc8FbBBQSTNh9M/BMQCXA==
"@tuia/eslint-config-common@3.0.1-beta.4":
version "3.0.1-beta.4"
resolved "http://npm.dui88.com:80/@tuia%2feslint-config-common/-/eslint-config-common-3.0.1-beta.4.tgz#9dfbcb6a7b585927f022453949fe0cf1a7b0d816"
integrity sha512-1EXvT69dPKKcYLgb96jQ7+rwG6wnv4NonXAee2syP3OlxyvJIJY5b0ykyeyJNxP1dlt4gpohpdfZEjAXor+LhA==
dependencies:
"@babel/core" "7.26.0"
"@babel/eslint-parser" "^7.26.5"
......@@ -1711,19 +1657,24 @@
"@typescript-eslint/parser" "^8.19.1"
eslint "^9.17.0"
eslint-config-prettier "^9.1.0"
eslint-plugin-import "^2.31.0"
eslint-plugin-imports-sorter "^1.3.0"
eslint-plugin-import-x "^4.10.3"
eslint-plugin-perfectionist "^4.10.1"
eslint-plugin-prettier "^5.2.1"
eslint-plugin-react "^7.37.3"
eslint-plugin-react-hooks "^5.1.0"
eslint-plugin-unicorn "^56.0.1"
eslint-plugin-unused-imports "^4.1.4"
eslint-plugin-vue "^9.32.0"
globals "^15.14.0"
prettier "3.4.2"
vue-eslint-parser "^9.4.3"
"@tybys/wasm-util@^0.9.0":
version "0.9.0"
resolved "http://npm.dui88.com:80/@tybys%2fwasm-util/-/wasm-util-0.9.0.tgz#3e75eb00604c8d6db470bf18c37b7d984a0e3355"
integrity sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==
dependencies:
tslib "^2.4.0"
"@types/cookie@^0.6.0":
version "0.6.0"
resolved "http://npm.dui88.com:80/@types%2fcookie/-/cookie-0.6.0.tgz#eac397f28bf1d6ae0ae081363eca2f425bedf0d5"
......@@ -1736,6 +1687,11 @@
dependencies:
"@types/ms" "*"
"@types/doctrine@^0.0.9":
version "0.0.9"
resolved "http://npm.dui88.com:80/@types%2fdoctrine/-/doctrine-0.0.9.tgz#d86a5f452a15e3e3113b99e39616a9baa0f9863f"
integrity sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==
"@types/estree@1.0.7", "@types/estree@^1.0.0", "@types/estree@^1.0.6":
version "1.0.7"
resolved "http://npm.dui88.com:80/@types%2festree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8"
......@@ -1746,21 +1702,11 @@
resolved "http://npm.dui88.com:80/@types%2fjson-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
"@types/json5@^0.0.29":
version "0.0.29"
resolved "http://npm.dui88.com:80/@types%2fjson5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
"@types/ms@*":
version "2.1.0"
resolved "http://npm.dui88.com:80/@types%2fms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78"
integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==
"@types/normalize-package-data@^2.4.0":
version "2.4.4"
resolved "http://npm.dui88.com:80/@types%2fnormalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901"
integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==
"@types/numeral@^2.0.5":
version "2.0.5"
resolved "http://npm.dui88.com:80/@types%2fnumeral/-/numeral-2.0.5.tgz#388e5c4ff4b0e1787f130753cbbe83d3ba770858"
......@@ -1812,6 +1758,14 @@
"@typescript-eslint/types" "8.29.0"
"@typescript-eslint/visitor-keys" "8.29.0"
"@typescript-eslint/scope-manager@8.30.1":
version "8.30.1"
resolved "http://npm.dui88.com:80/@typescript-eslint%2fscope-manager/-/scope-manager-8.30.1.tgz#f99c7efd53b5ff9fb57e55be71eb855603fd80b7"
integrity sha512-+C0B6ChFXZkuaNDl73FJxRYT0G7ufVPOSQkqkpM/U198wUwUFOtgo1k/QzFh1KjpBitaK7R1tgjVz6o9HmsRPg==
dependencies:
"@typescript-eslint/types" "8.30.1"
"@typescript-eslint/visitor-keys" "8.30.1"
"@typescript-eslint/type-utils@8.29.0":
version "8.29.0"
resolved "http://npm.dui88.com:80/@typescript-eslint%2ftype-utils/-/type-utils-8.29.0.tgz#98dcfd1193cb4e2b2d0294a8656ce5eb58c443a9"
......@@ -1827,6 +1781,11 @@
resolved "http://npm.dui88.com:80/@typescript-eslint%2ftypes/-/types-8.29.0.tgz#65add70ab4ef66beaa42a5addf87dab2b05b1f33"
integrity sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==
"@typescript-eslint/types@8.30.1":
version "8.30.1"
resolved "http://npm.dui88.com:80/@typescript-eslint%2ftypes/-/types-8.30.1.tgz#20ff6d66ab3d8fe0533aeb7092a487393d53f925"
integrity sha512-81KawPfkuulyWo5QdyG/LOKbspyyiW+p4vpn4bYO7DM/hZImlVnFwrpCTnmNMOt8CvLRr5ojI9nU1Ekpw4RcEw==
"@typescript-eslint/typescript-estree@8.29.0":
version "8.29.0"
resolved "http://npm.dui88.com:80/@typescript-eslint%2ftypescript-estree/-/typescript-estree-8.29.0.tgz#d201a4f115327ec90496307c9958262285065b00"
......@@ -1841,6 +1800,20 @@
semver "^7.6.0"
ts-api-utils "^2.0.1"
"@typescript-eslint/typescript-estree@8.30.1":
version "8.30.1"
resolved "http://npm.dui88.com:80/@typescript-eslint%2ftypescript-estree/-/typescript-estree-8.30.1.tgz#f5c133e4a76a54d25607434f2c276409d7bec4ba"
integrity sha512-kQQnxymiUy9tTb1F2uep9W6aBiYODgq5EMSk6Nxh4Z+BDUoYUSa029ISs5zTzKBFnexQEh71KqwjKnRz58lusQ==
dependencies:
"@typescript-eslint/types" "8.30.1"
"@typescript-eslint/visitor-keys" "8.30.1"
debug "^4.3.4"
fast-glob "^3.3.2"
is-glob "^4.0.3"
minimatch "^9.0.4"
semver "^7.6.0"
ts-api-utils "^2.0.1"
"@typescript-eslint/utils@8.29.0", "@typescript-eslint/utils@^8.29.0":
version "8.29.0"
resolved "http://npm.dui88.com:80/@typescript-eslint%2futils/-/utils-8.29.0.tgz#d6d22b19c8c4812a874f00341f686b45b9fe895f"
......@@ -1851,6 +1824,16 @@
"@typescript-eslint/types" "8.29.0"
"@typescript-eslint/typescript-estree" "8.29.0"
"@typescript-eslint/utils@^8.29.1":
version "8.30.1"
resolved "http://npm.dui88.com:80/@typescript-eslint%2futils/-/utils-8.30.1.tgz#23d4824394765948fe73dc7113892f85fdc80efd"
integrity sha512-T/8q4R9En2tcEsWPQgB5BQ0XJVOtfARcUvOa8yJP3fh9M/mXraLxZrkCfGb6ChrO/V3W+Xbd04RacUEqk1CFEQ==
dependencies:
"@eslint-community/eslint-utils" "^4.4.0"
"@typescript-eslint/scope-manager" "8.30.1"
"@typescript-eslint/types" "8.30.1"
"@typescript-eslint/typescript-estree" "8.30.1"
"@typescript-eslint/visitor-keys@8.29.0":
version "8.29.0"
resolved "http://npm.dui88.com:80/@typescript-eslint%2fvisitor-keys/-/visitor-keys-8.29.0.tgz#2356336c9efdc3597ffcd2aa1ce95432852b743d"
......@@ -1859,6 +1842,96 @@
"@typescript-eslint/types" "8.29.0"
eslint-visitor-keys "^4.2.0"
"@typescript-eslint/visitor-keys@8.30.1":
version "8.30.1"
resolved "http://npm.dui88.com:80/@typescript-eslint%2fvisitor-keys/-/visitor-keys-8.30.1.tgz#510955ef1fb56e08da4b7953a3377258e5942e36"
integrity sha512-aEhgas7aJ6vZnNFC7K4/vMGDGyOiqWcYZPpIWrTKuTAlsvDNKy2GFDqh9smL+iq069ZvR0YzEeq0B8NJlLzjFA==
dependencies:
"@typescript-eslint/types" "8.30.1"
eslint-visitor-keys "^4.2.0"
"@unrs/resolver-binding-darwin-arm64@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.5.0.tgz#0c64ebe422a3d05ada91d8ba84e037383742c955"
integrity sha512-YmocNlEcX/AgJv8gI41bhjMOTcKcea4D2nRIbZj+MhRtSH5+vEU8r/pFuTuoF+JjVplLsBueU+CILfBPVISyGQ==
"@unrs/resolver-binding-darwin-x64@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.5.0.tgz#57210874eca22ec3a07039c97c028fb19c0c6d57"
integrity sha512-qpUrXgH4e/0xu1LOhPEdfgSY3vIXOxDQv370NEL8npN8h40HcQDA+Pl2r4HBW6tTXezWIjxUFcP7tj529RZtDw==
"@unrs/resolver-binding-freebsd-x64@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.5.0.tgz#4519371d0ad8e557a86623d8497e3abcdcb5ae43"
integrity sha512-3tX8r8vgjvZzaJZB4jvxUaaFCDCb3aWDCpZN3EjhGnnwhztslI05KSG5NY/jNjlcZ5QWZ7dEZZ/rNBFsmTaSPw==
"@unrs/resolver-binding-linux-arm-gnueabihf@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.5.0.tgz#4fc05aec9e65a6478003a0b9034a06ac0da886ab"
integrity sha512-FH+ixzBKaUU9fWOj3TYO+Yn/eO6kYvMLV9eNJlJlkU7OgrxkCmiMS6wUbyT0KA3FOZGxnEQ2z3/BHgYm2jqeLA==
"@unrs/resolver-binding-linux-arm-musleabihf@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.5.0.tgz#c24b35dd5818fcd25569425b1dc1a98a883e248b"
integrity sha512-pxCgXMgwB/4PfqFQg73lMhmWwcC0j5L+dNXhZoz/0ek0iS/oAWl65fxZeT/OnU7fVs52MgdP2q02EipqJJXHSg==
"@unrs/resolver-binding-linux-arm64-gnu@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.5.0.tgz#07dc8478a0a356d343790208dc557d6d053689af"
integrity sha512-FX2FV7vpLE/+Z0NZX9/1pwWud5Wocm/2PgpUXbT5aSV3QEB10kBPJAzssOQylvdj8mOHoKl5pVkXpbCwww/T2g==
"@unrs/resolver-binding-linux-arm64-musl@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.5.0.tgz#169e531731f7e462dffa410034a1d06a7a921aa8"
integrity sha512-+gF97xst1BZb28T3nwwzEtq2ewCoMDGKsenYsZuvpmNrW0019G1iUAunZN+FG55L21y+uP7zsGX06OXDQ/viKw==
"@unrs/resolver-binding-linux-ppc64-gnu@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.5.0.tgz#f6ad2ff47d74c8158b28a18536a71a8ecf84a17f"
integrity sha512-5bEmVcQw9js8JYM2LkUBw5SeELSIxX+qKf9bFrfFINKAp4noZ//hUxLpbF7u/3gTBN1GsER6xOzIZlw/VTdXtA==
"@unrs/resolver-binding-linux-riscv64-gnu@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.5.0.tgz#2f3986cb44f285f90d27e87cee8b4059de3ffbdd"
integrity sha512-GGk/8TPUsf1Q99F+lzMdjE6sGL26uJCwQ9TlvBs8zR3cLQNw/MIumPN7zrs3GFGySjnwXc8gA6J3HKbejywmqA==
"@unrs/resolver-binding-linux-s390x-gnu@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.5.0.tgz#813ea07833012bc34ecc59f023e422b421138761"
integrity sha512-5uRkFYYVNAeVaA4W/CwugjFN3iDOHCPqsBLCCOoJiMfFMMz4evBRsg+498OFa9w6VcTn2bD5aI+RRayaIgk2Sw==
"@unrs/resolver-binding-linux-x64-gnu@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.5.0.tgz#18b0d7553268fa490db92be578ac4b0fd8cae049"
integrity sha512-j905CZH3nehYy6NimNqC2B14pxn4Ltd7guKMyPTzKehbFXTUgihQS/ZfHQTdojkMzbSwBOSgq1dOrY+IpgxDsA==
"@unrs/resolver-binding-linux-x64-musl@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.5.0.tgz#04541e98d16e358c695393251e365bc3d802dfa4"
integrity sha512-dmLevQTuzQRwu5A+mvj54R5aye5I4PVKiWqGxg8tTaYP2k2oTs/3Mo8mgnhPk28VoYCi0fdFYpgzCd4AJndQvQ==
"@unrs/resolver-binding-wasm32-wasi@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.5.0.tgz#7a2ae7467c4c52d53c20ad7fc2bace1b23de8168"
integrity sha512-LtJMhwu7avhoi+kKfAZOKN773RtzLBVVF90YJbB0wyMpUj9yQPeA+mteVUI9P70OG/opH47FeV5AWeaNWWgqJg==
dependencies:
"@napi-rs/wasm-runtime" "^0.2.8"
"@unrs/resolver-binding-win32-arm64-msvc@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.5.0.tgz#11deb282b8ce73fab26f1d04df0fa4d6363752c2"
integrity sha512-FTZBxLL4SO1mgIM86KykzJmPeTPisBDHQV6xtfDXbTMrentuZ6SdQKJUV5BWaoUK3p8kIULlrCcucqdCnk8Npg==
"@unrs/resolver-binding-win32-ia32-msvc@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.5.0.tgz#2a5d414912379425bd395ea15901a5dd5febc7c1"
integrity sha512-i5bB7vJ1waUsFciU/FKLd4Zw0VnAkvhiJ4//jYQXyDUuiLKodmtQZVTcOPU7pp97RrNgCFtXfC1gnvj/DHPJTw==
"@unrs/resolver-binding-win32-x64-msvc@1.5.0":
version "1.5.0"
resolved "http://npm.dui88.com:80/@unrs%2fresolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.5.0.tgz#5768c6bba4a27833a48a8a77e50eb01b520d0962"
integrity sha512-wAvXp4k7jhioi4SebXW/yfzzYwsUCr9kIX4gCsUFKpCTUf8Mi7vScJXI3S+kupSUf0LbVHudR8qBbe2wFMSNUw==
"@vitejs/plugin-react-swc@^3.8.0":
version "3.8.1"
resolved "http://npm.dui88.com:80/@vitejs%2fplugin-react-swc/-/plugin-react-swc-3.8.1.tgz#663f14b72b1f42f6e61f412ea320e287b3065c41"
......@@ -1896,13 +1969,6 @@ ansi-regex@^6.0.1:
resolved "http://npm.dui88.com:80/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654"
integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==
ansi-styles@^3.2.1:
version "3.2.1"
resolved "http://npm.dui88.com:80/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=
dependencies:
color-convert "^1.9.0"
ansi-styles@^4.0.0, ansi-styles@^4.1.0:
version "4.3.0"
resolved "http://npm.dui88.com:80/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
......@@ -2007,20 +2073,7 @@ array.prototype.findlast@^1.2.5:
es-object-atoms "^1.0.0"
es-shim-unscopables "^1.0.2"
array.prototype.findlastindex@^1.2.5:
version "1.2.6"
resolved "http://npm.dui88.com:80/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz#cfa1065c81dcb64e34557c9b81d012f6a421c564"
integrity sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==
dependencies:
call-bind "^1.0.8"
call-bound "^1.0.4"
define-properties "^1.2.1"
es-abstract "^1.23.9"
es-errors "^1.3.0"
es-object-atoms "^1.1.1"
es-shim-unscopables "^1.1.0"
array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2:
array.prototype.flat@^1.3.1:
version "1.3.3"
resolved "http://npm.dui88.com:80/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5"
integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==
......@@ -2030,7 +2083,7 @@ array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2:
es-abstract "^1.23.5"
es-shim-unscopables "^1.0.2"
array.prototype.flatmap@^1.3.2, array.prototype.flatmap@^1.3.3:
array.prototype.flatmap@^1.3.3:
version "1.3.3"
resolved "http://npm.dui88.com:80/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b"
integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==
......@@ -2114,11 +2167,6 @@ babel-plugin-polyfill-regenerator@^0.6.1:
dependencies:
"@babel/helper-define-polyfill-provider" "^0.6.4"
babylon@7.0.0-beta.44:
version "7.0.0-beta.44"
resolved "http://npm.dui88.com:80/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d"
integrity sha1-iRWeFebjDFCW4i1zjYwK+KDoyh0=
balanced-match@^1.0.0:
version "1.0.2"
resolved "http://npm.dui88.com:80/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
......@@ -2161,11 +2209,6 @@ browserslist@^4.24.0, browserslist@^4.24.4:
node-releases "^2.0.19"
update-browserslist-db "^1.1.1"
builtin-modules@^3.3.0:
version "3.3.0"
resolved "http://npm.dui88.com:80/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6"
integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==
call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
version "1.0.2"
resolved "http://npm.dui88.com:80/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6"
......@@ -2202,15 +2245,6 @@ caniuse-lite@^1.0.30001688:
resolved "http://npm.dui88.com:80/caniuse-lite/-/caniuse-lite-1.0.30001707.tgz#c5e104d199e6f4355a898fcd995a066c7eb9bf41"
integrity sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==
chalk@^2.0.0:
version "2.4.2"
resolved "http://npm.dui88.com:80/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=
dependencies:
ansi-styles "^3.2.1"
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
chalk@^4.0.0:
version "4.1.2"
resolved "http://npm.dui88.com:80/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
......@@ -2219,30 +2253,11 @@ chalk@^4.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
ci-info@^4.0.0:
version "4.2.0"
resolved "http://npm.dui88.com:80/ci-info/-/ci-info-4.2.0.tgz#cbd21386152ebfe1d56f280a3b5feccbd96764c7"
integrity sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==
classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2, classnames@^2.5.1:
version "2.5.1"
resolved "http://npm.dui88.com:80/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b"
integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==
clean-regexp@^1.0.0:
version "1.0.0"
resolved "http://npm.dui88.com:80/clean-regexp/-/clean-regexp-1.0.0.tgz#8df7c7aae51fd36874e8f8d05b9180bc11a3fed7"
integrity sha1-jffHquUf02h06PjQW5GAvBGj/tc=
dependencies:
escape-string-regexp "^1.0.5"
color-convert@^1.9.0:
version "1.9.3"
resolved "http://npm.dui88.com:80/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=
dependencies:
color-name "1.1.3"
color-convert@^2.0.1:
version "2.0.1"
resolved "http://npm.dui88.com:80/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
......@@ -2250,11 +2265,6 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
color-name@1.1.3:
version "1.1.3"
resolved "http://npm.dui88.com:80/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
color-name@~1.1.4:
version "1.1.4"
resolved "http://npm.dui88.com:80/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
......@@ -2309,7 +2319,7 @@ copy-to-clipboard@^3.3.3:
dependencies:
toggle-selection "^1.0.6"
core-js-compat@^3.38.1, core-js-compat@^3.40.0:
core-js-compat@^3.40.0:
version "3.41.0"
resolved "http://npm.dui88.com:80/core-js-compat/-/core-js-compat-3.41.0.tgz#4cdfce95f39a8f27759b667cf693d96e5dda3d17"
integrity sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==
......@@ -2372,7 +2382,7 @@ dayjs@^1.11.11, dayjs@^1.11.13:
resolved "http://npm.dui88.com:80/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c"
integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==
debug@^3.1.0, debug@^3.2.7:
debug@^3.2.7:
version "3.2.7"
resolved "http://npm.dui88.com:80/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
integrity sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=
......@@ -2436,6 +2446,13 @@ doctrine@^2.1.0:
dependencies:
esutils "^2.0.2"
doctrine@^3.0.0:
version "3.0.0"
resolved "http://npm.dui88.com:80/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=
dependencies:
esutils "^2.0.2"
dunder-proto@^1.0.0, dunder-proto@^1.0.1:
version "1.0.1"
resolved "http://npm.dui88.com:80/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
......@@ -2473,13 +2490,6 @@ enhanced-resolve@^5.18.1:
graceful-fs "^4.2.4"
tapable "^2.2.0"
error-ex@^1.3.1:
version "1.3.2"
resolved "http://npm.dui88.com:80/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8=
dependencies:
is-arrayish "^0.2.1"
es-abstract@^1.17.5, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9:
version "1.23.9"
resolved "http://npm.dui88.com:80/es-abstract/-/es-abstract-1.23.9.tgz#5b45994b7de78dada5c1bebf1379646b32b9d606"
......@@ -2586,7 +2596,7 @@ es-set-tostringtag@^2.0.3, es-set-tostringtag@^2.1.0:
has-tostringtag "^1.0.2"
hasown "^2.0.2"
es-shim-unscopables@^1.0.2, es-shim-unscopables@^1.1.0:
es-shim-unscopables@^1.0.2:
version "1.1.0"
resolved "http://npm.dui88.com:80/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz#438df35520dac5d105f3943d927549ea3b00f4b5"
integrity sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==
......@@ -2643,11 +2653,6 @@ escape-latex@^1.2.0:
resolved "http://npm.dui88.com:80/escape-latex/-/escape-latex-1.2.0.tgz#07c03818cf7dac250cce517f4fda1b001ef2bca1"
integrity sha1-B8A4GM99rCUMzlF/T9obAB7yvKE=
escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "http://npm.dui88.com:80/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
escape-string-regexp@^4.0.0:
version "4.0.0"
resolved "http://npm.dui88.com:80/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
......@@ -2672,46 +2677,36 @@ eslint-import-resolver-node@^0.3.9:
is-core-module "^2.13.0"
resolve "^1.22.4"
eslint-module-utils@^2.12.0:
version "2.12.0"
resolved "http://npm.dui88.com:80/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b"
integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==
eslint-import-resolver-typescript@^4.3.2:
version "4.3.2"
resolved "http://npm.dui88.com:80/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-4.3.2.tgz#1d2371be6d073bade177ee04a4548dbacdc334c0"
integrity sha512-T2LqBXj87ndEC9t1LrDiPkzalSFzD4rrXr6BTzGdgMx1jdQM4T972guQvg7Ih+LNO51GURXI/qMHS5GF3h1ilw==
dependencies:
debug "^3.2.7"
debug "^4.4.0"
get-tsconfig "^4.10.0"
is-bun-module "^2.0.0"
stable-hash "^0.0.5"
tinyglobby "^0.2.12"
unrs-resolver "^1.4.1"
eslint-plugin-import@^2.31.0:
version "2.31.0"
resolved "http://npm.dui88.com:80/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7"
integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==
eslint-plugin-import-x@^4.10.3:
version "4.10.3"
resolved "http://npm.dui88.com:80/eslint-plugin-import-x/-/eslint-plugin-import-x-4.10.3.tgz#a1bc0fca513afb4508a012c453839a6fb6d74a2f"
integrity sha512-Q7yx76tlOfzLGtXDt/sppdYrGNcbr9CrRXqJXTNIpM/7hfX9lRp1noE+PkYgN+xvW47TEeGZ0pgy29hlX9Y7UQ==
dependencies:
"@rtsao/scc" "^1.1.0"
array-includes "^3.1.8"
array.prototype.findlastindex "^1.2.5"
array.prototype.flat "^1.3.2"
array.prototype.flatmap "^1.3.2"
debug "^3.2.7"
doctrine "^2.1.0"
"@pkgr/core" "^0.2.2"
"@types/doctrine" "^0.0.9"
"@typescript-eslint/utils" "^8.29.1"
debug "^4.4.0"
doctrine "^3.0.0"
eslint-import-resolver-node "^0.3.9"
eslint-module-utils "^2.12.0"
hasown "^2.0.2"
is-core-module "^2.15.1"
get-tsconfig "^4.10.0"
is-glob "^4.0.3"
minimatch "^3.1.2"
object.fromentries "^2.0.8"
object.groupby "^1.0.3"
object.values "^1.2.0"
semver "^6.3.1"
string.prototype.trimend "^1.0.8"
tsconfig-paths "^3.15.0"
eslint-plugin-imports-sorter@^1.3.0:
version "1.3.0"
resolved "http://npm.dui88.com:80/eslint-plugin-imports-sorter/-/eslint-plugin-imports-sorter-1.3.0.tgz#4875c3c3d56973fe9ba0b69b33a0d10f959e3b59"
integrity sha512-CHUHruqB4gaS/LaUZ8EJhoTsdamUVebd9+8TOgqFUH5pq0WBFBz9pZol9NviIvlrmdMPtFgFaUpqreidOUfpdQ==
dependencies:
"@babel/parser" "^7.15.4"
"@babel/traverse" "7.0.0-beta.44"
requireindex "~1.1.0"
minimatch "^9.0.3 || ^10.0.1"
semver "^7.7.1"
stable-hash "^0.0.5"
tslib "^2.8.1"
unrs-resolver "^1.5.0"
eslint-plugin-perfectionist@^4.10.1:
version "4.11.0"
......@@ -2764,28 +2759,6 @@ eslint-plugin-react@^7.37.3:
string.prototype.matchall "^4.0.12"
string.prototype.repeat "^1.0.0"
eslint-plugin-unicorn@^56.0.1:
version "56.0.1"
resolved "http://npm.dui88.com:80/eslint-plugin-unicorn/-/eslint-plugin-unicorn-56.0.1.tgz#d10a3df69ba885939075bdc95a65a0c872e940d4"
integrity sha512-FwVV0Uwf8XPfVnKSGpMg7NtlZh0G0gBarCaFcMUOoqPxXryxdYxTRRv4kH6B9TFCVIrjRXG+emcxIk2ayZilog==
dependencies:
"@babel/helper-validator-identifier" "^7.24.7"
"@eslint-community/eslint-utils" "^4.4.0"
ci-info "^4.0.0"
clean-regexp "^1.0.0"
core-js-compat "^3.38.1"
esquery "^1.6.0"
globals "^15.9.0"
indent-string "^4.0.0"
is-builtin-module "^3.2.1"
jsesc "^3.0.2"
pluralize "^8.0.0"
read-pkg-up "^7.0.1"
regexp-tree "^0.1.27"
regjsparser "^0.10.0"
semver "^7.6.3"
strip-indent "^3.0.0"
eslint-plugin-unused-imports@^4.1.4:
version "4.1.4"
resolved "http://npm.dui88.com:80/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-4.1.4.tgz#62ddc7446ccbf9aa7b6f1f0b00a980423cda2738"
......@@ -2915,7 +2888,7 @@ esprima@^4.0.0:
resolved "http://npm.dui88.com:80/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=
esquery@^1.4.0, esquery@^1.5.0, esquery@^1.6.0:
esquery@^1.4.0, esquery@^1.5.0:
version "1.6.0"
resolved "http://npm.dui88.com:80/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7"
integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
......@@ -3029,14 +3002,6 @@ fill-range@^7.1.1:
dependencies:
to-regex-range "^5.0.1"
find-up@^4.1.0:
version "4.1.0"
resolved "http://npm.dui88.com:80/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=
dependencies:
locate-path "^5.0.0"
path-exists "^4.0.0"
find-up@^5.0.0:
version "5.0.0"
resolved "http://npm.dui88.com:80/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
......@@ -3174,6 +3139,13 @@ get-symbol-description@^1.1.0:
es-errors "^1.3.0"
get-intrinsic "^1.2.6"
get-tsconfig@^4.10.0:
version "4.10.0"
resolved "http://npm.dui88.com:80/get-tsconfig/-/get-tsconfig-4.10.0.tgz#403a682b373a823612475a4c2928c7326fc0f6bb"
integrity sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==
dependencies:
resolve-pkg-maps "^1.0.0"
glob-parent@^5.1.2:
version "5.1.2"
resolved "http://npm.dui88.com:80/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
......@@ -3217,7 +3189,7 @@ globals@^14.0.0:
resolved "http://npm.dui88.com:80/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e"
integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==
globals@^15.14.0, globals@^15.15.0, globals@^15.9.0:
globals@^15.14.0, globals@^15.15.0:
version "15.15.0"
resolved "http://npm.dui88.com:80/globals/-/globals-15.15.0.tgz#7c4761299d41c32b075715a4ce1ede7897ff72a8"
integrity sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==
......@@ -3250,11 +3222,6 @@ has-bigints@^1.0.2:
resolved "http://npm.dui88.com:80/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe"
integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==
has-flag@^3.0.0:
version "3.0.0"
resolved "http://npm.dui88.com:80/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
has-flag@^4.0.0:
version "4.0.0"
resolved "http://npm.dui88.com:80/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
......@@ -3293,11 +3260,6 @@ hasown@^2.0.2:
dependencies:
function-bind "^1.1.2"
hosted-git-info@^2.1.4:
version "2.8.9"
resolved "http://npm.dui88.com:80/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
integrity sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=
ignore@^5.2.0, ignore@^5.3.1:
version "5.3.2"
resolved "http://npm.dui88.com:80/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
......@@ -3316,11 +3278,6 @@ imurmurhash@^0.1.4:
resolved "http://npm.dui88.com:80/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
indent-string@^4.0.0:
version "4.0.0"
resolved "http://npm.dui88.com:80/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
integrity sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE=
internal-slot@^1.1.0:
version "1.1.0"
resolved "http://npm.dui88.com:80/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961"
......@@ -3330,13 +3287,6 @@ internal-slot@^1.1.0:
hasown "^2.0.2"
side-channel "^1.1.0"
invariant@^2.2.0:
version "2.2.4"
resolved "http://npm.dui88.com:80/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=
dependencies:
loose-envify "^1.0.0"
is-array-buffer@^3.0.4, is-array-buffer@^3.0.5:
version "3.0.5"
resolved "http://npm.dui88.com:80/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280"
......@@ -3346,11 +3296,6 @@ is-array-buffer@^3.0.4, is-array-buffer@^3.0.5:
call-bound "^1.0.3"
get-intrinsic "^1.2.6"
is-arrayish@^0.2.1:
version "0.2.1"
resolved "http://npm.dui88.com:80/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
is-async-function@^2.0.0:
version "2.1.1"
resolved "http://npm.dui88.com:80/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523"
......@@ -3377,19 +3322,19 @@ is-boolean-object@^1.2.1:
call-bound "^1.0.3"
has-tostringtag "^1.0.2"
is-builtin-module@^3.2.1:
version "3.2.1"
resolved "http://npm.dui88.com:80/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169"
integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==
is-bun-module@^2.0.0:
version "2.0.0"
resolved "http://npm.dui88.com:80/is-bun-module/-/is-bun-module-2.0.0.tgz#4d7859a87c0fcac950c95e666730e745eae8bddd"
integrity sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==
dependencies:
builtin-modules "^3.3.0"
semver "^7.7.1"
is-callable@^1.2.7:
version "1.2.7"
resolved "http://npm.dui88.com:80/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.16.0:
is-core-module@^2.13.0, is-core-module@^2.16.0:
version "2.16.1"
resolved "http://npm.dui88.com:80/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4"
integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==
......@@ -3572,11 +3517,6 @@ jiti@^2.4.2:
resolved "http://npm.dui88.com:80/jiti/-/jiti-2.4.2.tgz#d19b7732ebb6116b06e2038da74a55366faef560"
integrity sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==
js-tokens@^3.0.0:
version "3.0.2"
resolved "http://npm.dui88.com:80/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "http://npm.dui88.com:80/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
......@@ -3594,21 +3534,11 @@ js-yaml@^4.1.0:
dependencies:
argparse "^2.0.1"
jsesc@^2.5.1:
version "2.5.2"
resolved "http://npm.dui88.com:80/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=
jsesc@^3.0.2:
version "3.1.0"
resolved "http://npm.dui88.com:80/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d"
integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
jsesc@~0.5.0:
version "0.5.0"
resolved "http://npm.dui88.com:80/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
jsesc@~3.0.2:
version "3.0.2"
resolved "http://npm.dui88.com:80/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e"
......@@ -3619,11 +3549,6 @@ json-buffer@3.0.1:
resolved "http://npm.dui88.com:80/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
integrity sha1-kziAKjDTtmBfvgYT4JQAjKjAWhM=
json-parse-even-better-errors@^2.3.0:
version "2.3.1"
resolved "http://npm.dui88.com:80/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
integrity sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "http://npm.dui88.com:80/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
......@@ -3641,13 +3566,6 @@ json2mq@^0.2.0:
dependencies:
string-convert "^0.2.0"
json5@^1.0.2:
version "1.0.2"
resolved "http://npm.dui88.com:80/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593"
integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==
dependencies:
minimist "^1.2.0"
json5@^2.2.3:
version "2.2.3"
resolved "http://npm.dui88.com:80/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
......@@ -3755,11 +3673,6 @@ lightningcss@1.29.2:
lightningcss-win32-arm64-msvc "1.29.2"
lightningcss-win32-x64-msvc "1.29.2"
lines-and-columns@^1.1.6:
version "1.2.4"
resolved "http://npm.dui88.com:80/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
integrity sha1-7KKE910pZQeTCdwK2SVauy68FjI=
local-pkg@^1.0.0, local-pkg@^1.1.1:
version "1.1.1"
resolved "http://npm.dui88.com:80/local-pkg/-/local-pkg-1.1.1.tgz#f5fe74a97a3bd3c165788ee08ca9fbe998dc58dd"
......@@ -3769,13 +3682,6 @@ local-pkg@^1.0.0, local-pkg@^1.1.1:
pkg-types "^2.0.1"
quansync "^0.2.8"
locate-path@^5.0.0:
version "5.0.0"
resolved "http://npm.dui88.com:80/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
integrity sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=
dependencies:
p-locate "^4.1.0"
locate-path@^6.0.0:
version "6.0.0"
resolved "http://npm.dui88.com:80/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
......@@ -3793,12 +3699,12 @@ lodash.merge@^4.6.2:
resolved "http://npm.dui88.com:80/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
integrity sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo=
lodash@^4.17.21, lodash@^4.2.0:
lodash@^4.17.21:
version "4.17.21"
resolved "http://npm.dui88.com:80/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=
loose-envify@^1.0.0, loose-envify@^1.4.0:
loose-envify@^1.4.0:
version "1.4.0"
resolved "http://npm.dui88.com:80/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=
......@@ -3869,11 +3775,6 @@ mime-types@^2.1.12:
dependencies:
mime-db "1.52.0"
min-indent@^1.0.0:
version "1.0.1"
resolved "http://npm.dui88.com:80/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
integrity sha1-pj9oFnOzBXH76LwlaGrnRu76mGk=
minimatch@^3.1.2:
version "3.1.2"
resolved "http://npm.dui88.com:80/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
......@@ -3881,6 +3782,13 @@ minimatch@^3.1.2:
dependencies:
brace-expansion "^1.1.7"
"minimatch@^9.0.3 || ^10.0.1":
version "10.0.1"
resolved "http://npm.dui88.com:80/minimatch/-/minimatch-10.0.1.tgz#ce0521856b453c86e25f2c4c0d03e6ff7ddc440b"
integrity sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==
dependencies:
brace-expansion "^2.0.1"
minimatch@^9.0.4:
version "9.0.5"
resolved "http://npm.dui88.com:80/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5"
......@@ -3888,11 +3796,6 @@ minimatch@^9.0.4:
dependencies:
brace-expansion "^2.0.1"
minimist@^1.2.0, minimist@^1.2.6:
version "1.2.8"
resolved "http://npm.dui88.com:80/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2:
version "7.1.2"
resolved "http://npm.dui88.com:80/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707"
......@@ -3959,16 +3862,6 @@ node-releases@^2.0.19:
resolved "http://npm.dui88.com:80/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314"
integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==
normalize-package-data@^2.5.0:
version "2.5.0"
resolved "http://npm.dui88.com:80/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=
dependencies:
hosted-git-info "^2.1.4"
resolve "^1.10.0"
semver "2 || 3 || 4 || 5"
validate-npm-package-license "^3.0.1"
nth-check@^2.1.1:
version "2.1.1"
resolved "http://npm.dui88.com:80/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
......@@ -4028,16 +3921,7 @@ object.fromentries@^2.0.8:
es-abstract "^1.23.2"
es-object-atoms "^1.0.0"
object.groupby@^1.0.3:
version "1.0.3"
resolved "http://npm.dui88.com:80/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e"
integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==
dependencies:
call-bind "^1.0.7"
define-properties "^1.2.1"
es-abstract "^1.23.2"
object.values@^1.1.6, object.values@^1.2.0, object.values@^1.2.1:
object.values@^1.1.6, object.values@^1.2.1:
version "1.2.1"
resolved "http://npm.dui88.com:80/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216"
integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==
......@@ -4068,13 +3952,6 @@ own-keys@^1.0.1:
object-keys "^1.1.1"
safe-push-apply "^1.0.0"
p-limit@^2.2.0:
version "2.3.0"
resolved "http://npm.dui88.com:80/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=
dependencies:
p-try "^2.0.0"
p-limit@^3.0.2:
version "3.1.0"
resolved "http://npm.dui88.com:80/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
......@@ -4082,13 +3959,6 @@ p-limit@^3.0.2:
dependencies:
yocto-queue "^0.1.0"
p-locate@^4.1.0:
version "4.1.0"
resolved "http://npm.dui88.com:80/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
integrity sha1-o0KLtwiLOmApL2aRkni3wpetTwc=
dependencies:
p-limit "^2.2.0"
p-locate@^5.0.0:
version "5.0.0"
resolved "http://npm.dui88.com:80/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
......@@ -4096,11 +3966,6 @@ p-locate@^5.0.0:
dependencies:
p-limit "^3.0.2"
p-try@^2.0.0:
version "2.2.0"
resolved "http://npm.dui88.com:80/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=
package-json-from-dist@^1.0.0:
version "1.0.1"
resolved "http://npm.dui88.com:80/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505"
......@@ -4118,16 +3983,6 @@ parse-code-context@^1.0.0:
resolved "http://npm.dui88.com:80/parse-code-context/-/parse-code-context-1.0.0.tgz#718c295c593d0d19a37f898473268cc75e98de1e"
integrity sha512-OZQaqKaQnR21iqhlnPfVisFjBWjhnMl5J9MgbP8xC+EwoVqbXrq78lp+9Zb3ahmLzrIX5Us/qbvBnaS3hkH6OA==
parse-json@^5.0.0:
version "5.2.0"
resolved "http://npm.dui88.com:80/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
integrity sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=
dependencies:
"@babel/code-frame" "^7.0.0"
error-ex "^1.3.1"
json-parse-even-better-errors "^2.3.0"
lines-and-columns "^1.1.6"
path-exists@^4.0.0:
version "4.0.0"
resolved "http://npm.dui88.com:80/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
......@@ -4196,11 +4051,6 @@ pkg-types@^2.0.1, pkg-types@^2.1.0:
exsolve "^1.0.1"
pathe "^2.0.3"
pluralize@^8.0.0:
version "8.0.0"
resolved "http://npm.dui88.com:80/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1"
integrity sha1-Gm+hajjRKhkB4DIPoBcFHFOc47E=
possible-typed-array-names@^1.0.0:
version "1.1.0"
resolved "http://npm.dui88.com:80/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae"
......@@ -4659,25 +4509,6 @@ react@^19.0.0:
resolved "http://npm.dui88.com:80/react/-/react-19.1.0.tgz#926864b6c48da7627f004795d6cce50e90793b75"
integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==
read-pkg-up@^7.0.1:
version "7.0.1"
resolved "http://npm.dui88.com:80/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507"
integrity sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=
dependencies:
find-up "^4.1.0"
read-pkg "^5.2.0"
type-fest "^0.8.1"
read-pkg@^5.2.0:
version "5.2.0"
resolved "http://npm.dui88.com:80/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc"
integrity sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=
dependencies:
"@types/normalize-package-data" "^2.4.0"
normalize-package-data "^2.5.0"
parse-json "^5.0.0"
type-fest "^0.6.0"
reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9:
version "1.0.10"
resolved "http://npm.dui88.com:80/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9"
......@@ -4716,11 +4547,6 @@ regenerator-transform@^0.15.2:
dependencies:
"@babel/runtime" "^7.8.4"
regexp-tree@^0.1.27:
version "0.1.27"
resolved "http://npm.dui88.com:80/regexp-tree/-/regexp-tree-0.1.27.tgz#2198f0ef54518ffa743fe74d983b56ffd631b6cd"
integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==
regexp.prototype.flags@^1.5.3:
version "1.5.4"
resolved "http://npm.dui88.com:80/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19"
......@@ -4750,13 +4576,6 @@ regjsgen@^0.8.0:
resolved "http://npm.dui88.com:80/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab"
integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==
regjsparser@^0.10.0:
version "0.10.0"
resolved "http://npm.dui88.com:80/regjsparser/-/regjsparser-0.10.0.tgz#b1ed26051736b436f22fdec1c8f72635f9f44892"
integrity sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==
dependencies:
jsesc "~0.5.0"
regjsparser@^0.12.0:
version "0.12.0"
resolved "http://npm.dui88.com:80/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc"
......@@ -4764,11 +4583,6 @@ regjsparser@^0.12.0:
dependencies:
jsesc "~3.0.2"
requireindex@~1.1.0:
version "1.1.0"
resolved "http://npm.dui88.com:80/requireindex/-/requireindex-1.1.0.tgz#e5404b81557ef75db6e49c5a72004893fe03e162"
integrity sha1-5UBLgVV+91225JxacgBIk/4D4WI=
resize-observer-polyfill@^1.5.1:
version "1.5.1"
resolved "http://npm.dui88.com:80/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
......@@ -4779,7 +4593,12 @@ resolve-from@^4.0.0:
resolved "http://npm.dui88.com:80/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=
resolve@^1.10.0, resolve@^1.14.2, resolve@^1.22.4:
resolve-pkg-maps@^1.0.0:
version "1.0.0"
resolved "http://npm.dui88.com:80/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f"
integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==
resolve@^1.14.2, resolve@^1.22.4:
version "1.22.10"
resolved "http://npm.dui88.com:80/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39"
integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==
......@@ -4888,17 +4707,12 @@ seedrandom@^3.0.5:
resolved "http://npm.dui88.com:80/seedrandom/-/seedrandom-3.0.5.tgz#54edc85c95222525b0c7a6f6b3543d8e0b3aa0a7"
integrity sha1-VO3IXJUiJSWwx6b2s1Q9jgs6oKc=
"semver@2 || 3 || 4 || 5":
version "5.7.2"
resolved "http://npm.dui88.com:80/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
semver@^6.3.1:
version "6.3.1"
resolved "http://npm.dui88.com:80/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
semver@^7.3.6, semver@^7.6.0, semver@^7.6.3:
semver@^7.3.6, semver@^7.6.0, semver@^7.6.3, semver@^7.7.1:
version "7.7.1"
resolved "http://npm.dui88.com:80/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f"
integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==
......@@ -5001,43 +4815,26 @@ source-map-js@^1.2.1:
resolved "http://npm.dui88.com:80/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
source-map@^0.5.0:
version "0.5.7"
resolved "http://npm.dui88.com:80/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
spdx-correct@^3.0.0:
version "3.2.0"
resolved "http://npm.dui88.com:80/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c"
integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==
dependencies:
spdx-expression-parse "^3.0.0"
spdx-license-ids "^3.0.0"
spdx-exceptions@^2.1.0:
version "2.5.0"
resolved "http://npm.dui88.com:80/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66"
integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==
spdx-expression-parse@^3.0.0:
version "3.0.1"
resolved "http://npm.dui88.com:80/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
integrity sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=
dependencies:
spdx-exceptions "^2.1.0"
spdx-license-ids "^3.0.0"
spdx-license-ids@^3.0.0:
version "3.0.21"
resolved "http://npm.dui88.com:80/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz#6d6e980c9df2b6fc905343a3b2d702a6239536c3"
integrity sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==
stable-hash@^0.0.5:
version "0.0.5"
resolved "http://npm.dui88.com:80/stable-hash/-/stable-hash-0.0.5.tgz#94e8837aaeac5b4d0f631d2972adef2924b40269"
integrity sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==
string-convert@^0.2.0:
version "0.2.1"
resolved "http://npm.dui88.com:80/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97"
integrity sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=
"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0:
"string-width-cjs@npm:string-width@^4.2.0":
version "4.2.3"
resolved "http://npm.dui88.com:80/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=
dependencies:
emoji-regex "^8.0.0"
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
string-width@^4.1.0:
version "4.2.3"
resolved "http://npm.dui88.com:80/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=
......@@ -5095,7 +4892,7 @@ string.prototype.trim@^1.2.10:
es-object-atoms "^1.0.0"
has-property-descriptors "^1.0.2"
string.prototype.trimend@^1.0.8, string.prototype.trimend@^1.0.9:
string.prototype.trimend@^1.0.9:
version "1.0.9"
resolved "http://npm.dui88.com:80/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942"
integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==
......@@ -5114,7 +4911,14 @@ string.prototype.trimstart@^1.0.8:
define-properties "^1.2.1"
es-object-atoms "^1.0.0"
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
version "6.0.1"
resolved "http://npm.dui88.com:80/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=
dependencies:
ansi-regex "^5.0.1"
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "http://npm.dui88.com:80/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=
......@@ -5128,18 +4932,6 @@ strip-ansi@^7.0.1:
dependencies:
ansi-regex "^6.0.1"
strip-bom@^3.0.0:
version "3.0.0"
resolved "http://npm.dui88.com:80/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
strip-indent@^3.0.0:
version "3.0.0"
resolved "http://npm.dui88.com:80/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
integrity sha1-wy4c7pQLazQyx3G8LFS8znPNMAE=
dependencies:
min-indent "^1.0.0"
strip-json-comments@^3.1.1:
version "3.1.1"
resolved "http://npm.dui88.com:80/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
......@@ -5157,13 +4949,6 @@ stylis@^4.3.4:
resolved "http://npm.dui88.com:80/stylis/-/stylis-4.3.6.tgz#7c7b97191cb4f195f03ecab7d52f7902ed378320"
integrity sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==
supports-color@^5.3.0:
version "5.5.0"
resolved "http://npm.dui88.com:80/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=
dependencies:
has-flag "^3.0.0"
supports-color@^7.1.0:
version "7.2.0"
resolved "http://npm.dui88.com:80/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
......@@ -5212,11 +4997,6 @@ tinyglobby@^0.2.12:
fdir "^6.4.3"
picomatch "^4.0.2"
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "http://npm.dui88.com:80/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
to-regex-range@^5.0.1:
version "5.0.1"
resolved "http://npm.dui88.com:80/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
......@@ -5229,27 +5009,12 @@ toggle-selection@^1.0.6:
resolved "http://npm.dui88.com:80/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI=
trim-right@^1.0.1:
version "1.0.1"
resolved "http://npm.dui88.com:80/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
ts-api-utils@^2.0.1:
version "2.1.0"
resolved "http://npm.dui88.com:80/ts-api-utils/-/ts-api-utils-2.1.0.tgz#595f7094e46eed364c13fd23e75f9513d29baf91"
integrity sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==
tsconfig-paths@^3.15.0:
version "3.15.0"
resolved "http://npm.dui88.com:80/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4"
integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==
dependencies:
"@types/json5" "^0.0.29"
json5 "^1.0.2"
minimist "^1.2.6"
strip-bom "^3.0.0"
tslib@^2.8.1:
tslib@^2.4.0, tslib@^2.8.1:
version "2.8.1"
resolved "http://npm.dui88.com:80/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
......@@ -5271,16 +5036,6 @@ type-fest@^0.20.2:
resolved "http://npm.dui88.com:80/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
integrity sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=
type-fest@^0.6.0:
version "0.6.0"
resolved "http://npm.dui88.com:80/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
integrity sha1-jSojcNPfiG61yQraHFv2GIrPg4s=
type-fest@^0.8.1:
version "0.8.1"
resolved "http://npm.dui88.com:80/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=
typed-array-buffer@^1.0.3:
version "1.0.3"
resolved "http://npm.dui88.com:80/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536"
......@@ -5427,6 +5182,28 @@ unplugin@^2.2.2:
acorn "^8.14.1"
webpack-virtual-modules "^0.6.2"
unrs-resolver@^1.4.1, unrs-resolver@^1.5.0:
version "1.5.0"
resolved "http://npm.dui88.com:80/unrs-resolver/-/unrs-resolver-1.5.0.tgz#d0a608f08321d8e90ba8eb10a3240e7995997275"
integrity sha512-6aia3Oy7SEe0MuUGQm2nsyob0L2+g57w178K5SE/3pvSGAIp28BB2O921fKx424Ahc/gQ6v0DXFbhcpyhGZdOA==
optionalDependencies:
"@unrs/resolver-binding-darwin-arm64" "1.5.0"
"@unrs/resolver-binding-darwin-x64" "1.5.0"
"@unrs/resolver-binding-freebsd-x64" "1.5.0"
"@unrs/resolver-binding-linux-arm-gnueabihf" "1.5.0"
"@unrs/resolver-binding-linux-arm-musleabihf" "1.5.0"
"@unrs/resolver-binding-linux-arm64-gnu" "1.5.0"
"@unrs/resolver-binding-linux-arm64-musl" "1.5.0"
"@unrs/resolver-binding-linux-ppc64-gnu" "1.5.0"
"@unrs/resolver-binding-linux-riscv64-gnu" "1.5.0"
"@unrs/resolver-binding-linux-s390x-gnu" "1.5.0"
"@unrs/resolver-binding-linux-x64-gnu" "1.5.0"
"@unrs/resolver-binding-linux-x64-musl" "1.5.0"
"@unrs/resolver-binding-wasm32-wasi" "1.5.0"
"@unrs/resolver-binding-win32-arm64-msvc" "1.5.0"
"@unrs/resolver-binding-win32-ia32-msvc" "1.5.0"
"@unrs/resolver-binding-win32-x64-msvc" "1.5.0"
update-browserslist-db@^1.1.1:
version "1.1.3"
resolved "http://npm.dui88.com:80/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420"
......@@ -5452,14 +5229,6 @@ util-deprecate@^1.0.2:
resolved "http://npm.dui88.com:80/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
validate-npm-package-license@^3.0.1:
version "3.0.4"
resolved "http://npm.dui88.com:80/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo=
dependencies:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
vite-plugin-assets-sync@^0.0.4:
version "0.0.4"
resolved "http://npm.dui88.com:80/vite-plugin-assets-sync/-/vite-plugin-assets-sync-0.0.4.tgz#5afdd4f8e828a7a5d0f1eadc30eab3c1c77cd39f"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment