Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
db758aa0
U
uni-app
项目概览
DCloud
/
uni-app
3 天 前同步成功
通知
814
Star
38709
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
8
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
8
Issue
8
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
db758aa0
编写于
11月 24, 2022
作者:
DCloud-WZF
💬
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(vue-devtools): add cli debug page
上级
762dca60
变更
24
展开全部
隐藏空白更改
内联
并排
Showing
24 changed file
with
118929 addition
and
82 deletion
+118929
-82
packages/uni-vue-devtools/dist/uni.compiler.js
packages/uni-vue-devtools/dist/uni.compiler.js
+74
-36
packages/uni-vue-devtools/lib/front/devtools.js
packages/uni-vue-devtools/lib/front/devtools.js
+118049
-0
packages/uni-vue-devtools/lib/front/icons/128.png
packages/uni-vue-devtools/lib/front/icons/128.png
+0
-0
packages/uni-vue-devtools/lib/front/icons/favicon.ico
packages/uni-vue-devtools/lib/front/icons/favicon.ico
+0
-0
packages/uni-vue-devtools/lib/front/mp-alipay/app.html
packages/uni-vue-devtools/lib/front/mp-alipay/app.html
+57
-0
packages/uni-vue-devtools/lib/front/mp-alipay/network.js
packages/uni-vue-devtools/lib/front/mp-alipay/network.js
+8
-0
packages/uni-vue-devtools/lib/front/mp-baidu/app.html
packages/uni-vue-devtools/lib/front/mp-baidu/app.html
+57
-0
packages/uni-vue-devtools/lib/front/mp-baidu/network.js
packages/uni-vue-devtools/lib/front/mp-baidu/network.js
+8
-0
packages/uni-vue-devtools/lib/front/mp-kuaishou/app.html
packages/uni-vue-devtools/lib/front/mp-kuaishou/app.html
+57
-0
packages/uni-vue-devtools/lib/front/mp-kuaishou/network.js
packages/uni-vue-devtools/lib/front/mp-kuaishou/network.js
+8
-0
packages/uni-vue-devtools/lib/front/mp-lark/app.html
packages/uni-vue-devtools/lib/front/mp-lark/app.html
+57
-0
packages/uni-vue-devtools/lib/front/mp-lark/network.js
packages/uni-vue-devtools/lib/front/mp-lark/network.js
+8
-0
packages/uni-vue-devtools/lib/front/mp-qq/app.html
packages/uni-vue-devtools/lib/front/mp-qq/app.html
+57
-0
packages/uni-vue-devtools/lib/front/mp-qq/network.js
packages/uni-vue-devtools/lib/front/mp-qq/network.js
+8
-0
packages/uni-vue-devtools/lib/front/mp-toutiao/app.html
packages/uni-vue-devtools/lib/front/mp-toutiao/app.html
+57
-0
packages/uni-vue-devtools/lib/front/mp-toutiao/network.js
packages/uni-vue-devtools/lib/front/mp-toutiao/network.js
+8
-0
packages/uni-vue-devtools/lib/front/mp-weixin/app.html
packages/uni-vue-devtools/lib/front/mp-weixin/app.html
+57
-0
packages/uni-vue-devtools/lib/front/mp-weixin/network.js
packages/uni-vue-devtools/lib/front/mp-weixin/network.js
+8
-0
packages/uni-vue-devtools/lib/front/server.js
packages/uni-vue-devtools/lib/front/server.js
+132
-0
packages/uni-vue-devtools/package.json
packages/uni-vue-devtools/package.json
+8
-2
packages/uni-vue-devtools/src/compiler/index.ts
packages/uni-vue-devtools/src/compiler/index.ts
+50
-39
packages/uni-vue-devtools/src/runtime.ts
packages/uni-vue-devtools/src/runtime.ts
+1
-0
packages/uni-vue-devtools/tsconfig.json
packages/uni-vue-devtools/tsconfig.json
+5
-1
pnpm-lock.yaml
pnpm-lock.yaml
+155
-4
未找到文件。
packages/uni-vue-devtools/dist/uni.compiler.js
浏览文件 @
db758aa0
...
@@ -9,18 +9,54 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
...
@@ -9,18 +9,54 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
var
fs__default
=
/*#__PURE__*/
_interopDefaultLegacy
(
fs
);
var
fs__default
=
/*#__PURE__*/
_interopDefaultLegacy
(
fs
);
var
path__default
=
/*#__PURE__*/
_interopDefaultLegacy
(
path
);
var
path__default
=
/*#__PURE__*/
_interopDefaultLegacy
(
path
);
/******************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
function
__awaiter
(
thisArg
,
_arguments
,
P
,
generator
)
{
function
adopt
(
value
)
{
return
value
instanceof
P
?
value
:
new
P
(
function
(
resolve
)
{
resolve
(
value
);
});
}
return
new
(
P
||
(
P
=
Promise
))(
function
(
resolve
,
reject
)
{
function
fulfilled
(
value
)
{
try
{
step
(
generator
.
next
(
value
));
}
catch
(
e
)
{
reject
(
e
);
}
}
function
rejected
(
value
)
{
try
{
step
(
generator
[
"
throw
"
](
value
));
}
catch
(
e
)
{
reject
(
e
);
}
}
function
step
(
result
)
{
result
.
done
?
resolve
(
result
.
value
)
:
adopt
(
result
.
value
).
then
(
fulfilled
,
rejected
);
}
step
((
generator
=
generator
.
apply
(
thisArg
,
_arguments
||
[])).
next
());
});
}
// eslint-disable-next-line no-restricted-globals
const
{
initDevtoolsServer
}
=
require
(
'
../lib/front/server.js
'
);
const
uniVueDevtoolsPlugin
=
()
=>
{
const
uniVueDevtoolsPlugin
=
()
=>
{
let
copied
=
false
;
let
copied
=
false
;
return
{
return
{
name
:
'
uni:vue-devtools
'
,
name
:
'
uni:vue-devtools
'
,
config
()
{
config
()
{
return
{
return
new
Promise
((
resolve
)
=>
__awaiter
(
this
,
void
0
,
void
0
,
function
*
()
{
define
:
{
let
__VUE_DEVTOOLS_HOST__
=
'
localhost
'
;
__VUE_PROD_DEVTOOLS__
:
process
.
env
.
__VUE_PROD_DEVTOOLS__
===
'
true
'
,
let
__VUE_DEVTOOLS_PORT__
=
8098
;
__VUE_DEVTOOLS_HOST__
:
JSON
.
stringify
(
process
.
env
.
__VUE_DEVTOOLS_HOST__
||
'
localhost
'
),
if
(
process
.
env
.
__VUE_PROD_DEVTOOLS__
)
{
__VUE_DEVTOOLS_PORT__
:
JSON
.
stringify
(
process
.
env
.
__VUE_DEVTOOLS_PORT__
||
'
8098
'
),
const
{
socketHost
,
socketPort
}
=
yield
initDevtoolsServer
();
},
__VUE_DEVTOOLS_HOST__
=
socketHost
;
};
__VUE_DEVTOOLS_PORT__
=
socketPort
;
}
resolve
({
define
:
{
__VUE_PROD_DEVTOOLS__
:
process
.
env
.
__VUE_PROD_DEVTOOLS__
===
'
true
'
,
__VUE_DEVTOOLS_HOST__
:
JSON
.
stringify
(
`
${
__VUE_DEVTOOLS_HOST__
}
`
),
__VUE_DEVTOOLS_PORT__
:
JSON
.
stringify
(
`
${
__VUE_DEVTOOLS_PORT__
}
`
),
},
});
}));
},
},
generateBundle
()
{
generateBundle
()
{
// 仅处理小程序
// 仅处理小程序
...
@@ -40,34 +76,36 @@ const uniVueDevtoolsPlugin = () => {
...
@@ -40,34 +76,36 @@ const uniVueDevtoolsPlugin = () => {
},
},
};
};
};
};
var
index
=
()
=>
[
var
index
=
()
=>
{
uniVueDevtoolsPlugin
(),
return
[
uniCliShared
.
defineUniMainJsPlugin
((
opts
)
=>
{
uniVueDevtoolsPlugin
(),
let
devtoolsCode
=
`;import '@dcloudio/uni-vue-devtools';`
;
uniCliShared
.
defineUniMainJsPlugin
((
opts
)
=>
{
if
(
uniCliShared
.
isMiniProgramPlatform
())
{
let
devtoolsCode
=
`;import '@dcloudio/uni-vue-devtools';`
;
devtoolsCode
+=
`require('./vue-devtools/hook.js');require('./vue-devtools/backend.js');`
;
if
(
uniCliShared
.
isMiniProgramPlatform
())
{
}
devtoolsCode
+=
`require('./vue-devtools/hook.js');require('./vue-devtools/backend.js');`
;
else
{
}
const
dir
=
process
.
env
.
UNI_PLATFORM
===
'
app
'
?
'
app
'
:
'
web
'
;
else
{
devtoolsCode
+=
`import '@dcloudio/uni-vue-devtools/lib/
${
dir
}
/hook.js';import '@dcloudio/uni-vue-devtools/lib/
${
dir
}
/backend.js';`
;
const
dir
=
process
.
env
.
UNI_PLATFORM
===
'
app
'
?
'
app
'
:
'
web
'
;
}
devtoolsCode
+=
`import '@dcloudio/uni-vue-devtools/lib/
${
dir
}
/hook.js';import '@dcloudio/uni-vue-devtools/lib/
${
dir
}
/backend.js';`
;
return
{
}
name
:
'
uni:vue-devtools-main-js
'
,
return
{
enforce
:
'
post
'
,
name
:
'
uni:vue-devtools-main-js
'
,
transform
(
code
,
id
)
{
enforce
:
'
post
'
,
if
(
process
.
env
.
__VUE_PROD_DEVTOOLS__
!==
'
true
'
)
{
transform
(
code
,
id
)
{
return
;
if
(
process
.
env
.
__VUE_PROD_DEVTOOLS__
!==
'
true
'
)
{
}
return
;
if
(
!
opts
.
filter
(
id
))
{
}
return
;
if
(
!
opts
.
filter
(
id
))
{
}
return
;
return
{
}
code
:
devtoolsCode
+
code
,
return
{
map
:
null
,
code
:
devtoolsCode
+
code
,
};
map
:
null
,
},
};
};
},
}),
};
];
}),
];
};
module
.
exports
=
index
;
module
.
exports
=
index
;
packages/uni-vue-devtools/lib/front/devtools.js
0 → 100644
浏览文件 @
db758aa0
此差异已折叠。
点击以展开。
packages/uni-vue-devtools/lib/front/icons/128.png
0 → 100644
浏览文件 @
db758aa0
5.1 KB
packages/uni-vue-devtools/lib/front/icons/favicon.ico
0 → 100644
浏览文件 @
db758aa0
3.9 KB
packages/uni-vue-devtools/lib/front/mp-alipay/app.html
0 → 100644
浏览文件 @
db758aa0
<!doctype html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<link
rel=
"shortcut icon"
href=
"../icons/favicon.ico"
>
<title>
uni-dev-tools
</title>
<style>
#app
,
#intro
{
display
:
flex
;
flex-direction
:
column
;
position
:
absolute
;
top
:
0
;
left
:
0
;
right
:
0
;
bottom
:
0
;
margin
:
0
;
padding
:
0
;
}
#intro
{
z-index
:
100000
;
justify-content
:
center
;
align-items
:
center
;
background-color
:
#fff
;
text-align
:
center
;
font-family
:
Roboto
,
sans-serif
;
color
:
#484848
;
}
#intro
.hidden
{
display
:
none
;
}
#intro
#logo
{
width
:
120px
;
}
#intro
.title
{
margin
:
30px
0
;
font-size
:
26px
;
}
</style>
</head>
<body>
<div
id=
"intro"
>
<img
src=
"./icons/128.png"
alt=
""
id=
"logo"
/>
<h2
class=
"title"
>
Waiting for connection...
</h2>
</div>
<div
id=
"app"
>
</div>
<script
src=
'./mp-alipay/network.js'
></script>
<script
src=
'./devtools.js'
></script>
</body>
</html>
\ No newline at end of file
packages/uni-vue-devtools/lib/front/mp-alipay/network.js
0 → 100644
浏览文件 @
db758aa0
window
.
process
=
{
env
:
{
HOST
:
'
192.168.12.130
'
,
PORT
:
'
8099
'
,
}
}
\ No newline at end of file
packages/uni-vue-devtools/lib/front/mp-baidu/app.html
0 → 100644
浏览文件 @
db758aa0
<!doctype html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<link
rel=
"shortcut icon"
href=
"../icons/favicon.ico"
>
<title>
uni-dev-tools
</title>
<style>
#app
,
#intro
{
display
:
flex
;
flex-direction
:
column
;
position
:
absolute
;
top
:
0
;
left
:
0
;
right
:
0
;
bottom
:
0
;
margin
:
0
;
padding
:
0
;
}
#intro
{
z-index
:
100000
;
justify-content
:
center
;
align-items
:
center
;
background-color
:
#fff
;
text-align
:
center
;
font-family
:
Roboto
,
sans-serif
;
color
:
#484848
;
}
#intro
.hidden
{
display
:
none
;
}
#intro
#logo
{
width
:
120px
;
}
#intro
.title
{
margin
:
30px
0
;
font-size
:
26px
;
}
</style>
</head>
<body>
<div
id=
"intro"
>
<img
src=
"./icons/128.png"
alt=
""
id=
"logo"
/>
<h2
class=
"title"
>
Waiting for connection...
</h2>
</div>
<div
id=
"app"
>
</div>
<script
src=
'./mp-baidu/network.js'
></script>
<script
src=
'./devtools.js'
></script>
</body>
</html>
\ No newline at end of file
packages/uni-vue-devtools/lib/front/mp-baidu/network.js
0 → 100644
浏览文件 @
db758aa0
window
.
process
=
{
env
:
{
HOST
:
'
192.168.12.130
'
,
PORT
:
'
8100
'
,
}
}
\ No newline at end of file
packages/uni-vue-devtools/lib/front/mp-kuaishou/app.html
0 → 100644
浏览文件 @
db758aa0
<!doctype html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<link
rel=
"shortcut icon"
href=
"../icons/favicon.ico"
>
<title>
uni-dev-tools
</title>
<style>
#app
,
#intro
{
display
:
flex
;
flex-direction
:
column
;
position
:
absolute
;
top
:
0
;
left
:
0
;
right
:
0
;
bottom
:
0
;
margin
:
0
;
padding
:
0
;
}
#intro
{
z-index
:
100000
;
justify-content
:
center
;
align-items
:
center
;
background-color
:
#fff
;
text-align
:
center
;
font-family
:
Roboto
,
sans-serif
;
color
:
#484848
;
}
#intro
.hidden
{
display
:
none
;
}
#intro
#logo
{
width
:
120px
;
}
#intro
.title
{
margin
:
30px
0
;
font-size
:
26px
;
}
</style>
</head>
<body>
<div
id=
"intro"
>
<img
src=
"./icons/128.png"
alt=
""
id=
"logo"
/>
<h2
class=
"title"
>
Waiting for connection...
</h2>
</div>
<div
id=
"app"
>
</div>
<script
src=
'./mp-kuaishou/network.js'
></script>
<script
src=
'./devtools.js'
></script>
</body>
</html>
\ No newline at end of file
packages/uni-vue-devtools/lib/front/mp-kuaishou/network.js
0 → 100644
浏览文件 @
db758aa0
window
.
process
=
{
env
:
{
HOST
:
'
192.168.12.130
'
,
PORT
:
'
8098
'
,
}
}
\ No newline at end of file
packages/uni-vue-devtools/lib/front/mp-lark/app.html
0 → 100644
浏览文件 @
db758aa0
<!doctype html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<link
rel=
"shortcut icon"
href=
"../icons/favicon.ico"
>
<title>
uni-dev-tools
</title>
<style>
#app
,
#intro
{
display
:
flex
;
flex-direction
:
column
;
position
:
absolute
;
top
:
0
;
left
:
0
;
right
:
0
;
bottom
:
0
;
margin
:
0
;
padding
:
0
;
}
#intro
{
z-index
:
100000
;
justify-content
:
center
;
align-items
:
center
;
background-color
:
#fff
;
text-align
:
center
;
font-family
:
Roboto
,
sans-serif
;
color
:
#484848
;
}
#intro
.hidden
{
display
:
none
;
}
#intro
#logo
{
width
:
120px
;
}
#intro
.title
{
margin
:
30px
0
;
font-size
:
26px
;
}
</style>
</head>
<body>
<div
id=
"intro"
>
<img
src=
"./icons/128.png"
alt=
""
id=
"logo"
/>
<h2
class=
"title"
>
Waiting for connection...
</h2>
</div>
<div
id=
"app"
>
</div>
<script
src=
'./mp-lark/network.js'
></script>
<script
src=
'./devtools.js'
></script>
</body>
</html>
\ No newline at end of file
packages/uni-vue-devtools/lib/front/mp-lark/network.js
0 → 100644
浏览文件 @
db758aa0
window
.
process
=
{
env
:
{
HOST
:
'
192.168.12.130
'
,
PORT
:
'
8098
'
,
}
}
\ No newline at end of file
packages/uni-vue-devtools/lib/front/mp-qq/app.html
0 → 100644
浏览文件 @
db758aa0
<!doctype html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<link
rel=
"shortcut icon"
href=
"../icons/favicon.ico"
>
<title>
uni-dev-tools
</title>
<style>
#app
,
#intro
{
display
:
flex
;
flex-direction
:
column
;
position
:
absolute
;
top
:
0
;
left
:
0
;
right
:
0
;
bottom
:
0
;
margin
:
0
;
padding
:
0
;
}
#intro
{
z-index
:
100000
;
justify-content
:
center
;
align-items
:
center
;
background-color
:
#fff
;
text-align
:
center
;
font-family
:
Roboto
,
sans-serif
;
color
:
#484848
;
}
#intro
.hidden
{
display
:
none
;
}
#intro
#logo
{
width
:
120px
;
}
#intro
.title
{
margin
:
30px
0
;
font-size
:
26px
;
}
</style>
</head>
<body>
<div
id=
"intro"
>
<img
src=
"./icons/128.png"
alt=
""
id=
"logo"
/>
<h2
class=
"title"
>
Waiting for connection...
</h2>
</div>
<div
id=
"app"
>
</div>
<script
src=
'./mp-qq/network.js'
></script>
<script
src=
'./devtools.js'
></script>
</body>
</html>
\ No newline at end of file
packages/uni-vue-devtools/lib/front/mp-qq/network.js
0 → 100644
浏览文件 @
db758aa0
window
.
process
=
{
env
:
{
HOST
:
'
192.168.12.130
'
,
PORT
:
'
8100
'
,
}
}
\ No newline at end of file
packages/uni-vue-devtools/lib/front/mp-toutiao/app.html
0 → 100644
浏览文件 @
db758aa0
<!doctype html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<link
rel=
"shortcut icon"
href=
"../icons/favicon.ico"
>
<title>
uni-dev-tools
</title>
<style>
#app
,
#intro
{
display
:
flex
;
flex-direction
:
column
;
position
:
absolute
;
top
:
0
;
left
:
0
;
right
:
0
;
bottom
:
0
;
margin
:
0
;
padding
:
0
;
}
#intro
{
z-index
:
100000
;
justify-content
:
center
;
align-items
:
center
;
background-color
:
#fff
;
text-align
:
center
;
font-family
:
Roboto
,
sans-serif
;
color
:
#484848
;
}
#intro
.hidden
{
display
:
none
;
}
#intro
#logo
{
width
:
120px
;
}
#intro
.title
{
margin
:
30px
0
;
font-size
:
26px
;
}
</style>
</head>
<body>
<div
id=
"intro"
>
<img
src=
"./icons/128.png"
alt=
""
id=
"logo"
/>
<h2
class=
"title"
>
Waiting for connection...
</h2>
</div>
<div
id=
"app"
>
</div>
<script
src=
'./mp-toutiao/network.js'
></script>
<script
src=
'./devtools.js'
></script>
</body>
</html>
\ No newline at end of file
packages/uni-vue-devtools/lib/front/mp-toutiao/network.js
0 → 100644
浏览文件 @
db758aa0
window
.
process
=
{
env
:
{
HOST
:
'
192.168.12.130
'
,
PORT
:
'
8099
'
,
}
}
\ No newline at end of file
packages/uni-vue-devtools/lib/front/mp-weixin/app.html
0 → 100644
浏览文件 @
db758aa0
<!doctype html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<link
rel=
"shortcut icon"
href=
"../icons/favicon.ico"
>
<title>
uni-dev-tools
</title>
<style>
#app
,
#intro
{
display
:
flex
;
flex-direction
:
column
;
position
:
absolute
;
top
:
0
;
left
:
0
;
right
:
0
;
bottom
:
0
;
margin
:
0
;
padding
:
0
;
}
#intro
{
z-index
:
100000
;
justify-content
:
center
;
align-items
:
center
;
background-color
:
#fff
;
text-align
:
center
;
font-family
:
Roboto
,
sans-serif
;
color
:
#484848
;
}
#intro
.hidden
{
display
:
none
;
}
#intro
#logo
{
width
:
120px
;
}
#intro
.title
{
margin
:
30px
0
;
font-size
:
26px
;
}
</style>
</head>
<body>
<div
id=
"intro"
>
<img
src=
"./icons/128.png"
alt=
""
id=
"logo"
/>
<h2
class=
"title"
>
Waiting for connection...
</h2>
</div>
<div
id=
"app"
>
</div>
<script
src=
'./mp-weixin/network.js'
></script>
<script
src=
'./devtools.js'
></script>
</body>
</html>
\ No newline at end of file
packages/uni-vue-devtools/lib/front/mp-weixin/network.js
0 → 100644
浏览文件 @
db758aa0
window
.
process
=
{
env
:
{
HOST
:
'
192.168.12.130
'
,
PORT
:
'
8098
'
,
}
}
\ No newline at end of file
packages/uni-vue-devtools/lib/front/server.js
0 → 100644
浏览文件 @
db758aa0
const
_detectPort
=
require
(
'
detect-port
'
);
const
os
=
require
(
'
os
'
)
const
{
createServer
}
=
require
(
'
http
'
)
const
{
Server
}
=
require
(
'
socket.io
'
)
const
express
=
require
(
'
express
'
)
const
app
=
express
()
const
path
=
require
(
'
path
'
)
const
fs
=
require
(
'
fs
'
)
const
colors
=
require
(
'
picocolors
'
)
const
open
=
require
(
'
open
'
)
exports
.
initDevtoolsServer
=
async
()
=>
{
const
network
=
getNetwork
()
const
socketHost
=
process
.
env
.
__VUE_DEVTOOLS_HOST__
||
network
const
socketPort
=
await
detectPort
(
process
.
env
.
__VUE_DEVTOOLS_PORT__
||
8098
)
initSocketServer
(
socketHost
,
socketPort
)
const
devtoolsPort
=
await
detectPort
(
9098
)
initFrontServer
(
socketHost
,
socketPort
,
network
,
devtoolsPort
)
return
{
socketHost
,
socketPort
}
}
function
getNetwork
()
{
const
networks
=
Object
.
values
(
os
.
networkInterfaces
())
.
flatMap
((
nInterface
)
=>
nInterface
??
[])
.
filter
(
(
detail
)
=>
detail
&&
detail
.
address
&&
// Node < v18
((
typeof
detail
.
family
===
'
string
'
&&
detail
.
family
===
'
IPv4
'
)
||
// Node >= v18
(
typeof
detail
.
family
===
'
number
'
&&
detail
.
family
===
4
))
)
for
(
let
network
of
networks
)
{
if
(
!
network
.
address
.
includes
(
'
127.0.0.1
'
))
{
return
network
.
address
}
}
}
function
detectPort
(
port
)
{
return
_detectPort
(
port
)
.
then
(
_port
=>
{
return
port
==
_port
?
port
:
detectPort
(
_port
)
})
.
catch
(
err
=>
{
console
.
log
(
colors
.
red
(
err
))
})
}
function
initFrontServer
(
socketHost
,
socketPort
,
network
,
devtoolsPort
)
{
const
platform
=
process
.
env
.
UNI_PLATFORM
app
.
use
(
express
.
static
(
__dirname
))
app
.
get
(
'
/
'
,
(
_
,
res
)
=>
{
res
.
send
(
fs
.
readFileSync
(
path
.
resolve
(
__dirname
,
`./
${
platform
}
/app.html`
)).
toString
())
})
writeNetworkFile
(
platform
,
socketHost
,
socketPort
)
app
.
listen
(
devtoolsPort
,
'
localhost
'
,
()
=>
{
const
colorUrl
=
(
url
)
=>
colors
.
cyan
(
url
.
replace
(
/:
(\d
+
)\/
/
,
(
_
,
port
)
=>
`:
${
colors
.
bold
(
port
)}
/`
))
const
networkUrl
=
`http://
${
network
}
:
${
devtoolsPort
}
`
console
.
log
(
`\n
${
colors
.
cyan
(
'
uni-vue-devtools
'
)}
${
colors
.
green
(
'
server running at:
'
)}
\n
${
colors
.
green
(
'
➜
'
)}
${
colorUrl
(
networkUrl
)}
\n`
)
open
(
`http:localhost:
${
devtoolsPort
}
`
)
})
}
function
writeNetworkFile
(
platform
,
HOST
,
PORT
)
{
fs
.
open
(
path
.
resolve
(
__dirname
,
`./
${
platform
}
/network.js`
),
'
w
'
,
(
err
,
fd
)
=>
{
if
(
err
)
{
console
.
log
(
colors
.
red
(
err
))
return
}
fs
.
write
(
fd
,
`
window.process = {
env: {
HOST: '
${
HOST
}
',
PORT: '
${
PORT
}
',
}
}
`
,
(
err
)
=>
{
if
(
err
)
{
console
.
log
(
colors
.
red
(
err
))
}
}
)
}
)
}
function
initSocketServer
(
host
,
port
)
{
const
httpServer
=
createServer
(
app
)
const
io
=
new
Server
(
httpServer
,
{
cors
:
{
origin
:
true
,
},
})
// Middleman
io
.
on
(
'
connection
'
,
function
(
socket
)
{
// Disconnect any previously connected apps
socket
.
broadcast
.
emit
(
'
vue-devtools-disconnect-backend
'
)
socket
.
on
(
'
vue-devtools-init
'
,
()
=>
{
socket
.
broadcast
.
emit
(
'
vue-devtools-init
'
)
})
socket
.
on
(
'
disconnect
'
,
(
reason
)
=>
{
if
(
reason
.
indexOf
(
'
client
'
))
{
socket
.
broadcast
.
emit
(
'
vue-devtools-disconnect-devtools
'
)
}
})
socket
.
on
(
'
vue-message
'
,
data
=>
{
socket
.
broadcast
.
emit
(
'
vue-message
'
,
data
)
})
})
httpServer
.
listen
(
port
,
host
)
}
packages/uni-vue-devtools/package.json
浏览文件 @
db758aa0
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
"name"
:
"@dcloudio/uni-vue-devtools"
,
"name"
:
"@dcloudio/uni-vue-devtools"
,
"version"
:
"3.0.0-alpha-3060920221117001"
,
"version"
:
"3.0.0-alpha-3060920221117001"
,
"description"
:
"uni-vue-devtools"
,
"description"
:
"uni-vue-devtools"
,
"m
ain
"
:
"dist/runtime.es.js"
,
"m
odule
"
:
"dist/runtime.es.js"
,
"files"
:
[
"files"
:
[
"dist"
"dist"
],
],
...
@@ -21,6 +21,12 @@
...
@@ -21,6 +21,12 @@
"main"
:
"dist/uni.compiler.js"
"main"
:
"dist/uni.compiler.js"
},
},
"dependencies"
:
{
"dependencies"
:
{
"@dcloudio/uni-cli-shared"
:
"3.0.0-alpha-3060920221117001"
"@dcloudio/uni-cli-shared"
:
"3.0.0-alpha-3060920221117001"
,
"detect-port"
:
"^1.5.1"
,
"express"
:
"^4.17.1"
,
"open"
:
"^8.4.0"
,
"picocolors"
:
"^1.0.0"
,
"socket.io"
:
"^4.4.0"
,
"tslib"
:
"^2.4.1"
}
}
}
}
packages/uni-vue-devtools/src/compiler/index.ts
浏览文件 @
db758aa0
...
@@ -5,23 +5,32 @@ import {
...
@@ -5,23 +5,32 @@ import {
defineUniMainJsPlugin
,
defineUniMainJsPlugin
,
isMiniProgramPlatform
,
isMiniProgramPlatform
,
}
from
'
@dcloudio/uni-cli-shared
'
}
from
'
@dcloudio/uni-cli-shared
'
// eslint-disable-next-line no-restricted-globals
const
{
initDevtoolsServer
}
=
require
(
'
../lib/front/server.js
'
)
const
uniVueDevtoolsPlugin
=
():
Plugin
=>
{
const
uniVueDevtoolsPlugin
=
():
Plugin
=>
{
let
copied
=
false
let
copied
=
false
return
{
return
{
name
:
'
uni:vue-devtools
'
,
name
:
'
uni:vue-devtools
'
,
config
()
{
config
()
{
return
{
return
new
Promise
(
async
(
resolve
)
=>
{
define
:
{
let
__VUE_DEVTOOLS_HOST__
=
'
localhost
'
__VUE_PROD_DEVTOOLS__
:
process
.
env
.
__VUE_PROD_DEVTOOLS__
===
'
true
'
,
let
__VUE_DEVTOOLS_PORT__
=
8098
__VUE_DEVTOOLS_HOST__
:
JSON
.
stringify
(
process
.
env
.
__VUE_DEVTOOLS_HOST__
||
'
localhost
'
if
(
process
.
env
.
__VUE_PROD_DEVTOOLS__
)
{
),
const
{
socketHost
,
socketPort
}
=
await
initDevtoolsServer
()
__VUE_DEVTOOLS_PORT__
:
JSON
.
stringify
(
__VUE_DEVTOOLS_HOST__
=
socketHost
process
.
env
.
__VUE_DEVTOOLS_PORT__
||
'
8098
'
__VUE_DEVTOOLS_PORT__
=
socketPort
),
}
},
}
resolve
({
define
:
{
__VUE_PROD_DEVTOOLS__
:
process
.
env
.
__VUE_PROD_DEVTOOLS__
===
'
true
'
,
__VUE_DEVTOOLS_HOST__
:
JSON
.
stringify
(
`
${
__VUE_DEVTOOLS_HOST__
}
`
),
__VUE_DEVTOOLS_PORT__
:
JSON
.
stringify
(
`
${
__VUE_DEVTOOLS_PORT__
}
`
),
},
})
})
},
},
generateBundle
()
{
generateBundle
()
{
// 仅处理小程序
// 仅处理小程序
...
@@ -51,32 +60,34 @@ const uniVueDevtoolsPlugin = (): Plugin => {
...
@@ -51,32 +60,34 @@ const uniVueDevtoolsPlugin = (): Plugin => {
}
}
}
}
export
default
()
=>
[
export
default
()
=>
{
uniVueDevtoolsPlugin
(),
return
[
defineUniMainJsPlugin
((
opts
)
=>
{
uniVueDevtoolsPlugin
(),
let
devtoolsCode
=
`;import '@dcloudio/uni-vue-devtools';`
defineUniMainJsPlugin
((
opts
)
=>
{
if
(
isMiniProgramPlatform
())
{
let
devtoolsCode
=
`;import '@dcloudio/uni-vue-devtools';`
devtoolsCode
+=
`require('./vue-devtools/hook.js');require('./vue-devtools/backend.js');`
if
(
isMiniProgramPlatform
())
{
}
else
{
devtoolsCode
+=
`require('./vue-devtools/hook.js');require('./vue-devtools/backend.js');`
const
dir
=
process
.
env
.
UNI_PLATFORM
===
'
app
'
?
'
app
'
:
'
web
'
}
else
{
devtoolsCode
+=
`import '@dcloudio/uni-vue-devtools/lib/
${
dir
}
/hook.js';import '@dcloudio/uni-vue-devtools/lib/
${
dir
}
/backend.js';`
const
dir
=
process
.
env
.
UNI_PLATFORM
===
'
app
'
?
'
app
'
:
'
web
'
}
devtoolsCode
+=
`import '@dcloudio/uni-vue-devtools/lib/
${
dir
}
/hook.js';import '@dcloudio/uni-vue-devtools/lib/
${
dir
}
/backend.js';`
}
return
{
return
{
name
:
'
uni:vue-devtools-main-js
'
,
name
:
'
uni:vue-devtools-main-js
'
,
enforce
:
'
post
'
,
enforce
:
'
post
'
,
transform
(
code
:
string
,
id
:
string
)
{
transform
(
code
:
string
,
id
:
string
)
{
if
(
process
.
env
.
__VUE_PROD_DEVTOOLS__
!==
'
true
'
)
{
if
(
process
.
env
.
__VUE_PROD_DEVTOOLS__
!==
'
true
'
)
{
return
return
}
}
if
(
!
opts
.
filter
(
id
))
{
if
(
!
opts
.
filter
(
id
))
{
return
return
}
}
return
{
return
{
code
:
devtoolsCode
+
code
,
code
:
devtoolsCode
+
code
,
map
:
null
,
map
:
null
,
}
}
},
},
}
}
}),
}),
]
]
}
packages/uni-vue-devtools/src/runtime.ts
浏览文件 @
db758aa0
declare
const
__VUE_DEVTOOLS_HOST__
:
string
declare
const
__VUE_DEVTOOLS_HOST__
:
string
declare
const
__VUE_DEVTOOLS_PORT__
:
string
declare
const
__VUE_DEVTOOLS_PORT__
:
string
declare
const
my
:
any
type
Callback
=
(
data
:
unknown
)
=>
void
type
Callback
=
(
data
:
unknown
)
=>
void
...
...
packages/uni-vue-devtools/tsconfig.json
浏览文件 @
db758aa0
...
@@ -10,5 +10,9 @@
...
@@ -10,5 +10,9 @@
"../global.d.ts"
,
"../global.d.ts"
,
"../shims-node.d.ts"
,
"../shims-node.d.ts"
,
"../shims-uni-app.d.ts"
"../shims-uni-app.d.ts"
]
],
"baseUrl"
:
"."
,
"paths"
:
{
"tslib"
:
[
"node_modules/tslib/tslib.d.ts"
]
}
}
}
pnpm-lock.yaml
浏览文件 @
db758aa0
...
@@ -836,8 +836,20 @@ importers:
...
@@ -836,8 +836,20 @@ importers:
packages/uni-vue-devtools
:
packages/uni-vue-devtools
:
specifiers
:
specifiers
:
'
@dcloudio/uni-cli-shared'
:
3.0.0-alpha-3060920221117001
'
@dcloudio/uni-cli-shared'
:
3.0.0-alpha-3060920221117001
detect-port
:
^1.5.1
express
:
^4.17.1
open
:
^8.4.0
picocolors
:
^1.0.0
socket.io
:
^4.4.0
tslib
:
^2.4.1
dependencies
:
dependencies
:
'
@dcloudio/uni-cli-shared'
:
link:../uni-cli-shared
'
@dcloudio/uni-cli-shared'
:
link:../uni-cli-shared
detect-port
:
1.5.1
express
:
4.18.2
open
:
8.4.0
picocolors
:
1.0.0
socket.io
:
4.5.4
tslib
:
2.4.1
packages/uts
:
packages/uts
:
specifiers
:
specifiers
:
...
@@ -2756,6 +2768,10 @@ packages:
...
@@ -2756,6 +2768,10 @@ packages:
'
@sinonjs/commons'
:
1.8.3
'
@sinonjs/commons'
:
1.8.3
dev
:
true
dev
:
true
/@socket.io/component-emitter/3.1.0
:
resolution
:
{
integrity
:
sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==
}
dev
:
false
/@types/adm-zip/0.5.0
:
/@types/adm-zip/0.5.0
:
resolution
:
{
integrity
:
sha512-FCJBJq9ODsQZUNURo5ILAQueuA8WJhRvuihS3ke2iI25mJlfV2LK8jG2Qj2z2AWg8U0FtWWqBHVRetceLskSaw==
}
resolution
:
{
integrity
:
sha512-FCJBJq9ODsQZUNURo5ILAQueuA8WJhRvuihS3ke2iI25mJlfV2LK8jG2Qj2z2AWg8U0FtWWqBHVRetceLskSaw==
}
dependencies
:
dependencies
:
...
@@ -2808,6 +2824,14 @@ packages:
...
@@ -2808,6 +2824,14 @@ packages:
'
@types/node'
:
18.11.9
'
@types/node'
:
18.11.9
dev
:
true
dev
:
true
/@types/cookie/0.4.1
:
resolution
:
{
integrity
:
sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==
}
dev
:
false
/@types/cors/2.8.12
:
resolution
:
{
integrity
:
sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==
}
dev
:
false
/@types/debug/4.1.7
:
/@types/debug/4.1.7
:
resolution
:
{
integrity
:
sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==
}
resolution
:
{
integrity
:
sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==
}
dependencies
:
dependencies
:
...
@@ -3596,6 +3620,11 @@ packages:
...
@@ -3596,6 +3620,11 @@ packages:
resolution
:
{
integrity
:
sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
}
resolution
:
{
integrity
:
sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
}
dev
:
true
dev
:
true
/base64id/2.0.0
:
resolution
:
{
integrity
:
sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==
}
engines
:
{
node
:
^4.5.0 || >= 5.9
}
dev
:
false
/base64url/3.0.1
:
/base64url/3.0.1
:
resolution
:
{
integrity
:
sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==
}
resolution
:
{
integrity
:
sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==
}
engines
:
{
node
:
'
>=6.0.0'
}
engines
:
{
node
:
'
>=6.0.0'
}
...
@@ -4055,6 +4084,11 @@ packages:
...
@@ -4055,6 +4084,11 @@ packages:
resolution
:
{
integrity
:
sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
}
resolution
:
{
integrity
:
sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
}
dev
:
false
dev
:
false
/cookie/0.4.2
:
resolution
:
{
integrity
:
sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
}
engines
:
{
node
:
'
>=
0.6'
}
dev
:
false
/cookie/0.5.0
:
/cookie/0.5.0
:
resolution
:
{
integrity
:
sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
}
resolution
:
{
integrity
:
sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
}
engines
:
{
node
:
'
>=
0.6'
}
engines
:
{
node
:
'
>=
0.6'
}
...
@@ -4085,6 +4119,14 @@ packages:
...
@@ -4085,6 +4119,14 @@ packages:
resolution
:
{
integrity
:
sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
}
resolution
:
{
integrity
:
sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
}
dev
:
true
dev
:
true
/cors/2.8.5
:
resolution
:
{
integrity
:
sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
}
engines
:
{
node
:
'
>=
0.10'
}
dependencies
:
object-assign
:
4.1.1
vary
:
1.1.2
dev
:
false
/cosmiconfig/7.0.1
:
/cosmiconfig/7.0.1
:
resolution
:
{
integrity
:
sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==
}
resolution
:
{
integrity
:
sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==
}
engines
:
{
node
:
'
>=10'
}
engines
:
{
node
:
'
>=10'
}
...
@@ -4330,6 +4372,11 @@ packages:
...
@@ -4330,6 +4372,11 @@ packages:
abstract-leveldown
:
0.12.4
abstract-leveldown
:
0.12.4
dev
:
true
dev
:
true
/define-lazy-prop/2.0.0
:
resolution
:
{
integrity
:
sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==
}
engines
:
{
node
:
'
>=8'
}
dev
:
false
/delayed-stream/1.0.0
:
/delayed-stream/1.0.0
:
resolution
:
{
integrity
:
sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
}
resolution
:
{
integrity
:
sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
}
engines
:
{
node
:
'
>=0.4.0'
}
engines
:
{
node
:
'
>=0.4.0'
}
...
@@ -4355,6 +4402,16 @@ packages:
...
@@ -4355,6 +4402,16 @@ packages:
engines
:
{
node
:
'
>=8'
}
engines
:
{
node
:
'
>=8'
}
dev
:
true
dev
:
true
/detect-port/1.5.1
:
resolution
:
{
integrity
:
sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==
}
hasBin
:
true
dependencies
:
address
:
1.2.1
debug
:
4.3.4
transitivePeerDependencies
:
-
supports-color
dev
:
false
/diff-sequences/29.3.1
:
/diff-sequences/29.3.1
:
resolution
:
{
integrity
:
sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==
}
resolution
:
{
integrity
:
sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==
}
engines
:
{
node
:
^14.15.0 || ^16.10.0 || >=18.0.0
}
engines
:
{
node
:
^14.15.0 || ^16.10.0 || >=18.0.0
}
...
@@ -4426,6 +4483,31 @@ packages:
...
@@ -4426,6 +4483,31 @@ packages:
once
:
1.4.0
once
:
1.4.0
dev
:
true
dev
:
true
/engine.io-parser/5.0.4
:
resolution
:
{
integrity
:
sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==
}
engines
:
{
node
:
'
>=10.0.0'
}
dev
:
false
/engine.io/6.2.1
:
resolution
:
{
integrity
:
sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==
}
engines
:
{
node
:
'
>=10.0.0'
}
dependencies
:
'
@types/cookie'
:
0.4.1
'
@types/cors'
:
2.8.12
'
@types/node'
:
18.11.9
accepts
:
1.3.8
base64id
:
2.0.0
cookie
:
0.4.2
cors
:
2.8.5
debug
:
4.3.4
engine.io-parser
:
5.0.4
ws
:
8.2.3
transitivePeerDependencies
:
-
bufferutil
-
supports-color
-
utf-8-validate
dev
:
false
/enquirer/2.3.6
:
/enquirer/2.3.6
:
resolution
:
{
integrity
:
sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
}
resolution
:
{
integrity
:
sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
}
engines
:
{
node
:
'
>=8.6'
}
engines
:
{
node
:
'
>=8.6'
}
...
@@ -5455,6 +5537,12 @@ packages:
...
@@ -5455,6 +5537,12 @@ packages:
dependencies
:
dependencies
:
has
:
1.0.3
has
:
1.0.3
/is-docker/2.2.1
:
resolution
:
{
integrity
:
sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
}
engines
:
{
node
:
'
>=8'
}
hasBin
:
true
dev
:
false
/is-extglob/2.1.1
:
/is-extglob/2.1.1
:
resolution
:
{
integrity
:
sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
}
resolution
:
{
integrity
:
sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
}
engines
:
{
node
:
'
>=0.10.0'
}
engines
:
{
node
:
'
>=0.10.0'
}
...
@@ -5534,6 +5622,13 @@ packages:
...
@@ -5534,6 +5622,13 @@ packages:
engines
:
{
node
:
'
>=10'
}
engines
:
{
node
:
'
>=10'
}
dev
:
true
dev
:
true
/is-wsl/2.2.0
:
resolution
:
{
integrity
:
sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
}
engines
:
{
node
:
'
>=8'
}
dependencies
:
is-docker
:
2.2.1
dev
:
false
/is/0.2.7
:
/is/0.2.7
:
resolution
:
{
integrity
:
sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ==
}
resolution
:
{
integrity
:
sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ==
}
dev
:
true
dev
:
true
...
@@ -6577,6 +6672,11 @@ packages:
...
@@ -6577,6 +6672,11 @@ packages:
dependencies
:
dependencies
:
path-key
:
3.1.1
path-key
:
3.1.1
/object-assign/4.1.1
:
resolution
:
{
integrity
:
sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
}
engines
:
{
node
:
'
>=0.10.0'
}
dev
:
false
/object-inspect/1.12.2
:
/object-inspect/1.12.2
:
resolution
:
{
integrity
:
sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
}
resolution
:
{
integrity
:
sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
}
dev
:
false
dev
:
false
...
@@ -6621,6 +6721,15 @@ packages:
...
@@ -6621,6 +6721,15 @@ packages:
dependencies
:
dependencies
:
mimic-fn
:
2.1.0
mimic-fn
:
2.1.0
/open/8.4.0
:
resolution
:
{
integrity
:
sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==
}
engines
:
{
node
:
'
>=12'
}
dependencies
:
define-lazy-prop
:
2.0.0
is-docker
:
2.2.1
is-wsl
:
2.2.0
dev
:
false
/optionator/0.9.1
:
/optionator/0.9.1
:
resolution
:
{
integrity
:
sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
}
resolution
:
{
integrity
:
sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
}
engines
:
{
node
:
'
>=
0.8.0'
}
engines
:
{
node
:
'
>=
0.8.0'
}
...
@@ -7352,7 +7461,7 @@ packages:
...
@@ -7352,7 +7461,7 @@ packages:
/rxjs/7.5.7
:
/rxjs/7.5.7
:
resolution
:
{
integrity
:
sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==
}
resolution
:
{
integrity
:
sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==
}
dependencies
:
dependencies
:
tslib
:
2.4.
0
tslib
:
2.4.
1
dev
:
true
dev
:
true
/safe-area-insets/1.4.1
:
/safe-area-insets/1.4.1
:
...
@@ -7508,6 +7617,36 @@ packages:
...
@@ -7508,6 +7617,36 @@ packages:
is-fullwidth-code-point
:
3.0.0
is-fullwidth-code-point
:
3.0.0
dev
:
true
dev
:
true
/socket.io-adapter/2.4.0
:
resolution
:
{
integrity
:
sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==
}
dev
:
false
/socket.io-parser/4.2.1
:
resolution
:
{
integrity
:
sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==
}
engines
:
{
node
:
'
>=10.0.0'
}
dependencies
:
'
@socket.io/component-emitter'
:
3.1.0
debug
:
4.3.4
transitivePeerDependencies
:
-
supports-color
dev
:
false
/socket.io/4.5.4
:
resolution
:
{
integrity
:
sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ==
}
engines
:
{
node
:
'
>=10.0.0'
}
dependencies
:
accepts
:
1.3.8
base64id
:
2.0.0
debug
:
4.3.4
engine.io
:
6.2.1
socket.io-adapter
:
2.4.0
socket.io-parser
:
4.2.1
transitivePeerDependencies
:
-
bufferutil
-
supports-color
-
utf-8-validate
dev
:
false
/source-map-js/1.0.2
:
/source-map-js/1.0.2
:
resolution
:
{
integrity
:
sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
}
resolution
:
{
integrity
:
sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
}
engines
:
{
node
:
'
>=0.10.0'
}
engines
:
{
node
:
'
>=0.10.0'
}
...
@@ -7797,9 +7936,8 @@ packages:
...
@@ -7797,9 +7936,8 @@ packages:
resolution
:
{
integrity
:
sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==
}
resolution
:
{
integrity
:
sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==
}
dev
:
true
dev
:
true
/tslib/2.4.0
:
/tslib/2.4.1
:
resolution
:
{
integrity
:
sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
}
resolution
:
{
integrity
:
sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==
}
dev
:
true
/tsutils/3.21.0_typescript@4.9.3
:
/tsutils/3.21.0_typescript@4.9.3
:
resolution
:
{
integrity
:
sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
}
resolution
:
{
integrity
:
sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
}
...
@@ -8203,6 +8341,19 @@ packages:
...
@@ -8203,6 +8341,19 @@ packages:
optional
:
true
optional
:
true
dev
:
false
dev
:
false
/ws/8.2.3
:
resolution
:
{
integrity
:
sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==
}
engines
:
{
node
:
'
>=10.0.0'
}
peerDependencies
:
bufferutil
:
^4.0.1
utf-8-validate
:
^5.0.2
peerDependenciesMeta
:
bufferutil
:
optional
:
true
utf-8-validate
:
optional
:
true
dev
:
false
/xmlhttprequest/1.8.0
:
/xmlhttprequest/1.8.0
:
resolution
:
{
integrity
:
sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==
}
resolution
:
{
integrity
:
sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==
}
engines
:
{
node
:
'
>=0.4.0'
}
engines
:
{
node
:
'
>=0.4.0'
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录