Commit eeb7db42 authored by 杨贺晨吉's avatar 杨贺晨吉

feat: 开发

parent 15c8858f
# Tuia-Manager-System-Demo
# adx-manager-node
此工程为推啊后台管理系统DEMO,基于React + TypeScript + Vite + Mobx搭建。
此工程为推啊ADX后台管理系统,通用项目结构tuia-manager-system-demo,基于React + TypeScript + Vite + Mobx搭建。
[TOC]
......@@ -8,7 +8,7 @@
**工程目录结构**
```
tuia-manager-system-demo
adx-manager-node
├── dist # 构建目录
├── mock # 模拟数据
├── server # 部署脚本
......@@ -32,7 +32,7 @@ tuia-manager-system-demo
### Yapi-MOCK助手插件
1. 安装YAPI-MOCK助手(https://marketplace.visualstudio.com/items?itemName=Hidetoxic.yapi-mock-helper)
2. 在yapi-mock.config.json中指定项目代理服务器端口
3. 在vite.config.ts的server.proxy指定代理地址为本地指定端口(demo端口为10089,建议fork后修改)
3. 在vite.config.ts的server.proxy指定代理地址为本地指定端口(adx-manager-node端口为10089,建议fork后修改)
4. 启动项目后,从资源管理器,启动YAPI-MOCK助手
![alt text](https://yun.dui88.com/jjq/images/d2skfpns6sl6jgf1rylpd.png)
5. 通过VSCode状态栏,以切换代理地址
......
......@@ -8,22 +8,31 @@ export {}
declare global {
const Button: typeof import('antd')['Button']
const Card: typeof import('antd')['Card']
const Checkbox: typeof import('antd')['Checkbox']
const DatePicker: typeof import('antd')['DatePicker']
const Form: typeof import('antd')['Form']
const Input: typeof import('antd')['Input']
const Layout: typeof import('antd')['Layout']
const Link: typeof import('react-router-dom')['Link']
const Menu: typeof import('antd')['Menu']
const Modal: typeof import('antd')['Modal']
const NavLink: typeof import('react-router-dom')['NavLink']
const Navigate: typeof import('react-router-dom')['Navigate']
const Observer: typeof import('mobx-react-lite')['Observer']
const Outlet: typeof import('react-router-dom')['Outlet']
const REGEX: typeof import('pixiu-number-toolkit')['REGEX']
const Radio: typeof import('antd')['Radio']
const Result: typeof import('antd')['Result']
const Role: typeof import('./src/constants/enums/index')['Role']
const Route: typeof import('react-router-dom')['Route']
const Routes: typeof import('react-router-dom')['Routes']
const Rules: typeof import('./src/utils/REG')['Rules']
const Select: typeof import('antd')['Select']
const Space: typeof import('antd')['Space']
const Spin: typeof import('antd')['Spin']
const Switch: typeof import('antd')['Switch']
const Table: typeof import('antd')['Table']
const Upload: typeof import('antd')['Upload']
const UserList: typeof import('./src/constants/userList')['UserList']
const action: typeof import('mobx')['action']
const autorun: typeof import('mobx')['autorun']
......
......@@ -2,4 +2,15 @@ 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 reactRefresh from 'eslint-plugin-react-refresh'
export default [...jsConfig, ...reactConfig, ...tsConfig, { ignores: ['dist'] }, reactRefresh.configs.vite]
export default [
...jsConfig,
...reactConfig,
...tsConfig,
{ ignores: ['dist'] },
reactRefresh.configs.vite,
{
rules: {
'import/no-unresolved': 'off',
},
},
]
......@@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="https://yun.tuisnake.com/tuia/payment/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + React + TS</title>
<title>ADX管理平台</title>
</head>
<body>
<div id="root"></div>
......
{
"name": "demo",
"name": "adx-manager-node",
"private": true,
"version": "0.0.0",
"type": "module",
......
......@@ -4,7 +4,7 @@ import { StyleProvider } from '@ant-design/cssinjs'
import routes from '~react-pages'
import { ConfigProvider } from 'antd'
import Layouts from './layouts'
import Layouts from './layouts/index.tsx'
const App: React.FC = () => {
return (
......
import { UserOutlined, SettingOutlined } from '@ant-design/icons'
import { UserOutlined, SettingOutlined, UserAddOutlined } from '@ant-design/icons'
const { Header, Content, Sider } = Layout
......@@ -23,6 +23,23 @@ const menuItems = [
icon: <SettingOutlined />,
label: '系统管理',
},
{
key: '/media',
icon: <UserAddOutlined />,
label: '媒体管理',
children: [
{
key: '/media/mediaAccount',
label: '媒体管理',
icon: <UserAddOutlined />,
},
{
key: '/media/mediaManage',
label: '媒体流量管理',
icon: <UserAddOutlined />,
},
],
},
]
const BasicLayout: React.FC<React.PropsWithChildren> = ({ children }) => {
......
......@@ -2,7 +2,7 @@ import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import { HashRouter } from 'react-router-dom'
import App from './App'
import App from './App.tsx'
import './index.css'
import '@ant-design/v5-patch-for-react-19'
......
interface AddAccountProps {
open: boolean
handleClose: () => void
}
const AddModal: React.FC<AddAccountProps> = observer((prop: AddAccountProps) => {
const { handleClose, open } = prop
const handleOk = () => {
handleClose()
}
const handleCancel = () => {
handleClose()
}
return (
<Modal title='Basic Modal' open={open} onOk={handleOk} onCancel={handleCancel}>
<p>Some contents...</p>
<p>Some contents...</p>
<p>Some contents...</p>
</Modal>
)
})
export default AddModal
import List from './list.tsx'
import Search from './search.tsx'
const StatementTypeIn = observer(() => {
return (
<Space direction='vertical' style={{ display: 'flex' }} size='middle'>
<Search />
<List />
</Space>
)
})
export default StatementTypeIn
import type { TableProps } from 'antd'
import AddModal from './addAccount.tsx'
interface DataType {
key: string
name: string
age: number
address: string
}
const List: React.FC = observer(() => {
const [isModalOpen, setIsModalOpen] = useState(false)
const handleShowAddModal = () => {
setIsModalOpen(true)
}
const columns: TableProps<DataType>['columns'] = [
{
title: '姓名',
dataIndex: 'name',
key: 'name',
},
{
title: '年龄',
dataIndex: 'age',
key: 'age',
},
{
title: '住址',
dataIndex: 'address',
key: 'address',
},
{
title: 'Action',
key: 'action',
render: () => (
<Space size='middle'>
<a onClick={handleShowAddModal}>查看</a>
</Space>
),
},
]
const dataSource: DataType[] = [
{
key: '1',
name: '胡彦斌',
age: 32,
address: '西湖区湖底公园1号',
},
{
key: '2',
name: '胡彦祖',
age: 42,
address: '西湖区湖底公园1号',
},
]
return (
<>
<Table dataSource={dataSource} columns={columns} />
<AddModal open={isModalOpen} handleClose={() => setIsModalOpen(false)} />
</>
)
})
export default List
const { Item: FormItem } = Form
const Search: React.FC = observer(() => {
const [form] = Form.useForm()
function handleSearch(e: React.MouseEvent<HTMLElement, MouseEvent>) {
e.preventDefault()
form
.validateFields()
.then((values) => {
values.dealIdList = values.dealIdList?.split(',')
console.log('Received values of form: ', values)
})
.catch((err) => {
console.error('Validation Failed:', err)
})
}
return (
<Form layout='inline' form={form}>
<FormItem name='dealIdList' rules={[Rules.ids]}>
<Input style={{ width: 200 }} placeholder='请输入排期单ID间隔用,隔开' />
</FormItem>
<FormItem name='dealName' rules={[Rules.name]}>
<Input style={{ width: 200 }} placeholder='请输入排期单名称' />
</FormItem>
<FormItem>
<Button
type='primary'
htmlType='submit'
onClick={(e: React.MouseEvent<HTMLElement, MouseEvent>) => handleSearch(e)}>
搜索
</Button>
</FormItem>
</Form>
)
})
export default Search
const About = () => <div>About</div>
const About = () => <div>About2</div>
export default About
const UtilsExample: React.FC = () => {
// 金额对于后端来说只能是number & string & 空 & null & undefined
const a = prefixYuan(yuanToLi('300000', 2))
const b = smartFenToYuan('0', 3)
const c = liToYuan('0')
const d = digitUppercase('0')
// 正则
const e = buildREG(REGEX.INTEGER, 'undefined')
const f = precentAddSuffix(35)
return (
<div>
<p>1: {a}</p>
<p>2: {b}</p>
<p>3: {c}</p>
<p>4: {d}</p>
<p>5: {e}</p>
<p>6: {f}</p>
</div>
)
}
export default UtilsExample
......@@ -42,7 +42,27 @@ export default defineConfig(({ mode }) => ({
],
imports: [
{
antd: ['message', 'Spin', 'Layout', 'Menu', 'theme', 'Button', 'Form', 'Input', 'Card', 'Result'],
antd: [
'Space',
'message',
'Spin',
'Layout',
'Menu',
'theme',
'Button',
'Form',
'Input',
'Card',
'Result',
'Table',
'Select',
'DatePicker',
'Modal',
'Checkbox',
'Radio',
'Switch',
'Upload',
],
axios: [['default', 'axios']],
'pixiu-number-toolkit': ['REGEX'],
},
......
......@@ -1518,6 +1518,11 @@
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"
......@@ -1690,10 +1695,10 @@
"@tailwindcss/oxide" "4.1.0"
tailwindcss "4.1.0"
"@tuia/eslint-config-common@3.0.1-beta.2":
version "3.0.1-beta.2"
resolved "http://npm.dui88.com:80/@tuia%2feslint-config-common/-/eslint-config-common-3.0.1-beta.2.tgz#9e597b841d74fab28ce43a2be71376824e25ae25"
integrity sha512-KRL0vEPxuiEb4gd14mez/9bIuRF9ktr/wsAivksSPFGKsHecfWN8sX6lf0h9q+ErwhW8abgdSZm65W7MVVvW9A==
"@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==
dependencies:
"@babel/core" "7.26.0"
"@babel/eslint-parser" "^7.26.5"
......@@ -1706,6 +1711,7 @@
"@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-perfectionist "^4.10.1"
eslint-plugin-prettier "^5.2.1"
......@@ -1740,6 +1746,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"
......@@ -1996,7 +2007,20 @@ array.prototype.findlast@^1.2.5:
es-object-atoms "^1.0.0"
es-shim-unscopables "^1.0.2"
array.prototype.flat@^1.3.1:
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:
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==
......@@ -2006,7 +2030,7 @@ array.prototype.flat@^1.3.1:
es-abstract "^1.23.5"
es-shim-unscopables "^1.0.2"
array.prototype.flatmap@^1.3.3:
array.prototype.flatmap@^1.3.2, 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==
......@@ -2348,7 +2372,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.1.0, 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=
......@@ -2562,7 +2586,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.0.2, es-shim-unscopables@^1.1.0:
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==
......@@ -2639,6 +2663,47 @@ eslint-config-prettier@^9.1.0:
resolved "http://npm.dui88.com:80/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f"
integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==
eslint-import-resolver-node@^0.3.9:
version "0.3.9"
resolved "http://npm.dui88.com:80/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac"
integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==
dependencies:
debug "^3.2.7"
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==
dependencies:
debug "^3.2.7"
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==
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"
eslint-import-resolver-node "^0.3.9"
eslint-module-utils "^2.12.0"
hasown "^2.0.2"
is-core-module "^2.15.1"
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"
......@@ -3324,7 +3389,7 @@ is-callable@^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.16.0:
is-core-module@^2.13.0, is-core-module@^2.15.1, 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==
......@@ -3576,6 +3641,13 @@ 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"
......@@ -3816,6 +3888,11 @@ 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"
......@@ -3951,7 +4028,16 @@ object.fromentries@^2.0.8:
es-abstract "^1.23.2"
es-object-atoms "^1.0.0"
object.values@^1.1.6, object.values@^1.2.1:
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:
version "1.2.1"
resolved "http://npm.dui88.com:80/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216"
integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==
......@@ -4693,7 +4779,7 @@ 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.10.0, 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==
......@@ -4951,16 +5037,7 @@ string-convert@^0.2.0:
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":
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:
"string-width-cjs@npm:string-width@^4.2.0", 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=
......@@ -5018,7 +5095,7 @@ string.prototype.trim@^1.2.10:
es-object-atoms "^1.0.0"
has-property-descriptors "^1.0.2"
string.prototype.trimend@^1.0.9:
string.prototype.trimend@^1.0.8, 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==
......@@ -5037,14 +5114,7 @@ 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":
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:
"strip-ansi-cjs@npm:strip-ansi@^6.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=
......@@ -5058,6 +5128,11 @@ 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"
......@@ -5164,6 +5239,16 @@ ts-api-utils@^2.0.1:
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:
version "2.8.1"
resolved "http://npm.dui88.com:80/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
......
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