Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
bf764f1c
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
bf764f1c
编写于
1月 15, 2021
作者:
J
João Moreno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
wip: sync-extensions dev script
上级
4af3c1c0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
52 addition
and
0 deletion
+52
-0
build/dev/sync-extensions.js
build/dev/sync-extensions.js
+52
-0
未找到文件。
build/dev/sync-extensions.js
0 → 100644
浏览文件 @
bf764f1c
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
const
fs
=
require
(
'
fs
'
).
promises
;
const
path
=
require
(
'
path
'
);
const
cp
=
require
(
'
child_process
'
);
const
product
=
require
(
'
../../product.json
'
);
const
root
=
path
.
resolve
(
path
.
join
(
__dirname
,
'
..
'
,
'
..
'
,
'
..
'
));
async
function
exists
(
path
)
{
try
{
await
fs
.
stat
(
path
);
return
true
;
}
catch
{
return
false
;
}
}
async
function
exec
(
cmd
,
opts
=
{})
{
return
new
Promise
((
c
,
e
)
=>
{
const
child
=
cp
.
spawn
(
cmd
,
{
shell
:
true
,
stdio
:
'
inherit
'
,
...
opts
});
child
.
on
(
'
close
'
,
code
=>
code
===
0
?
c
()
:
e
(
`Returned
${
code
}
`
));
});
}
async
function
cloneOrPull
(
ext
)
{
const
folderName
=
ext
.
repo
.
replace
(
/.*
\/
/
,
''
);
const
folder
=
path
.
join
(
root
,
folderName
);
if
(
!
await
exists
(
folder
))
{
const
url
=
`
${
ext
.
repo
}
.git`
;
await
exec
(
`git clone
${
url
}
`
,
{
cwd
:
root
});
}
else
{
await
exec
(
`git pull`
,
{
cwd
:
folder
});
}
}
async
function
main
()
{
for
(
const
ext
of
product
.
builtInExtensions
)
{
console
.
log
(
`👉
${
ext
.
name
}
`
);
await
cloneOrPull
(
ext
);
}
}
if
(
require
.
main
===
module
)
{
main
().
catch
(
err
=>
{
console
.
error
(
err
);
process
.
exit
(
1
);
});
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录