Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
165bb1aa
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,发现更多精彩内容 >>
提交
165bb1aa
编写于
8月 31, 2018
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tweaks, add the stream to the bundle step
上级
14596e94
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
68 addition
and
46 deletion
+68
-46
build/lib/extensions.js
build/lib/extensions.js
+1
-1
build/lib/extensions.ts
build/lib/extensions.ts
+1
-1
build/lib/optimize.js
build/lib/optimize.js
+12
-10
build/lib/optimize.ts
build/lib/optimize.ts
+14
-12
build/lib/stats.js
build/lib/stats.js
+20
-10
build/lib/stats.ts
build/lib/stats.ts
+20
-12
未找到文件。
build/lib/extensions.js
浏览文件 @
165bb1aa
...
...
@@ -115,7 +115,7 @@ function fromLocal(extensionPath, sourceMappingURLBase) {
filesStream
.
pipe
(
result
);
}
}).
catch
(
function
(
err
)
{
return
result
.
emit
(
'
error
'
,
err
);
});
return
stats_1
.
createStatsStream
(
path
.
basename
(
extensionPath
),
result
,
true
);
return
result
.
pipe
(
stats_1
.
createStatsStream
(
path
.
basename
(
extensionPath
),
true
)
);
}
exports
.
fromLocal
=
fromLocal
;
function
error
(
err
)
{
...
...
build/lib/extensions.ts
浏览文件 @
165bb1aa
...
...
@@ -132,7 +132,7 @@ export function fromLocal(extensionPath: string, sourceMappingURLBase?: string):
}).
catch
(
err
=>
result
.
emit
(
'
error
'
,
err
));
return
createStatsStream
(
path
.
basename
(
extensionPath
),
result
,
true
);
return
result
.
pipe
(
createStatsStream
(
path
.
basename
(
extensionPath
),
true
)
);
}
function
error
(
err
:
any
):
Stream
{
...
...
build/lib/optimize.js
浏览文件 @
165bb1aa
...
...
@@ -4,23 +4,24 @@
*--------------------------------------------------------------------------------------------*/
'
use strict
'
;
Object
.
defineProperty
(
exports
,
"
__esModule
"
,
{
value
:
true
});
var
path
=
require
(
"
path
"
);
var
es
=
require
(
"
event-stream
"
);
var
gulp
=
require
(
"
gulp
"
);
var
sourcemaps
=
require
(
"
gulp-sourcemaps
"
);
var
filter
=
require
(
"
gulp-filter
"
);
var
concat
=
require
(
"
gulp-concat
"
);
var
minifyCSS
=
require
(
"
gulp-cssnano
"
);
var
filter
=
require
(
"
gulp-filter
"
);
var
flatmap
=
require
(
"
gulp-flatmap
"
);
var
sourcemaps
=
require
(
"
gulp-sourcemaps
"
);
var
uglify
=
require
(
"
gulp-uglify
"
);
var
composer
=
require
(
"
gulp-uglify/composer
"
);
var
gulpUtil
=
require
(
"
gulp-util
"
);
var
path
=
require
(
"
path
"
);
var
pump
=
require
(
"
pump
"
);
var
uglifyes
=
require
(
"
uglify-es
"
);
var
es
=
require
(
"
event-stream
"
);
var
concat
=
require
(
"
gulp-concat
"
);
var
VinylFile
=
require
(
"
vinyl
"
);
var
bundle
=
require
(
"
./bundle
"
);
var
util
=
require
(
"
./util
"
);
var
gulpUtil
=
require
(
"
gulp-util
"
);
var
flatmap
=
require
(
"
gulp-flatmap
"
);
var
pump
=
require
(
"
pump
"
);
var
i18n_1
=
require
(
"
./i18n
"
);
var
stats_1
=
require
(
"
./stats
"
);
var
util
=
require
(
"
./util
"
);
var
REPO_ROOT_PATH
=
path
.
join
(
__dirname
,
'
../..
'
);
function
log
(
prefix
,
message
)
{
gulpUtil
.
log
(
gulpUtil
.
colors
.
cyan
(
'
[
'
+
prefix
+
'
]
'
),
message
);
...
...
@@ -101,7 +102,8 @@ function toConcatStream(src, bundledFileHeader, sources, dest) {
});
return
es
.
readArray
(
treatedSources
)
.
pipe
(
useSourcemaps
?
util
.
loadSourcemaps
()
:
es
.
through
())
.
pipe
(
concat
(
dest
));
.
pipe
(
concat
(
dest
))
.
pipe
(
stats_1
.
createStatsStream
(
dest
,
true
));
}
function
toBundleStream
(
src
,
bundledFileHeader
,
bundles
)
{
return
es
.
merge
(
bundles
.
map
(
function
(
bundle
)
{
...
...
build/lib/optimize.ts
浏览文件 @
165bb1aa
...
...
@@ -5,24 +5,25 @@
'
use strict
'
;
import
*
as
path
from
'
path
'
;
import
*
as
es
from
'
event-stream
'
;
import
*
as
gulp
from
'
gulp
'
;
import
*
as
sourcemaps
from
'
gulp-sourcemaps
'
;
import
*
as
filter
from
'
gulp-filter
'
;
import
*
as
concat
from
'
gulp-concat
'
;
import
*
as
minifyCSS
from
'
gulp-cssnano
'
;
import
*
as
filter
from
'
gulp-filter
'
;
import
*
as
flatmap
from
'
gulp-flatmap
'
;
import
*
as
sourcemaps
from
'
gulp-sourcemaps
'
;
import
*
as
uglify
from
'
gulp-uglify
'
;
import
*
as
composer
from
'
gulp-uglify/composer
'
;
import
*
as
gulpUtil
from
'
gulp-util
'
;
import
*
as
path
from
'
path
'
;
import
*
as
pump
from
'
pump
'
;
import
*
as
sm
from
'
source-map
'
;
import
*
as
uglifyes
from
'
uglify-es
'
;
import
*
as
es
from
'
event-stream
'
;
import
*
as
concat
from
'
gulp-concat
'
;
import
*
as
VinylFile
from
'
vinyl
'
;
import
*
as
bundle
from
'
./bundle
'
;
import
{
Language
,
processNlsFiles
}
from
'
./i18n
'
;
import
{
createStatsStream
}
from
'
./stats
'
;
import
*
as
util
from
'
./util
'
;
import
*
as
gulpUtil
from
'
gulp-util
'
;
import
*
as
flatmap
from
'
gulp-flatmap
'
;
import
*
as
pump
from
'
pump
'
;
import
*
as
sm
from
'
source-map
'
;
import
{
processNlsFiles
,
Language
}
from
'
./i18n
'
;
const
REPO_ROOT_PATH
=
path
.
join
(
__dirname
,
'
../..
'
);
...
...
@@ -121,10 +122,11 @@ function toConcatStream(src: string, bundledFileHeader: string, sources: bundle.
return
es
.
readArray
(
treatedSources
)
.
pipe
(
useSourcemaps
?
util
.
loadSourcemaps
()
:
es
.
through
())
.
pipe
(
concat
(
dest
));
.
pipe
(
concat
(
dest
))
.
pipe
(
createStatsStream
(
dest
,
true
));
}
function
toBundleStream
(
src
:
string
,
bundledFileHeader
:
string
,
bundles
:
bundle
.
IConcatFile
[]):
NodeJS
.
ReadWriteStream
{
function
toBundleStream
(
src
:
string
,
bundledFileHeader
:
string
,
bundles
:
bundle
.
IConcatFile
[]):
NodeJS
.
ReadWriteStream
{
return
es
.
merge
(
bundles
.
map
(
function
(
bundle
)
{
return
toConcatStream
(
src
,
bundledFileHeader
,
bundle
.
sources
,
bundle
.
dest
);
}));
...
...
build/lib/stats.js
浏览文件 @
165bb1aa
...
...
@@ -18,27 +18,37 @@ var Entry = /** @class */ (function () {
return
Entry
;
}());
var
_entries
=
new
Map
();
function
createStatsStream
(
group
,
stream
,
log
)
{
function
createStatsStream
(
group
,
log
)
{
var
entry
=
new
Entry
(
group
,
0
,
0
);
_entries
.
set
(
entry
.
name
,
entry
);
return
stream
.
pipe
(
es
.
through
(
function
(
data
)
{
return
es
.
through
(
function
(
data
)
{
var
file
=
data
;
if
(
typeof
file
.
path
===
'
string
'
)
{
entry
.
totalCount
+=
1
;
if
(
typeof
file
.
stat
===
'
object
'
&&
typeof
file
.
stat
.
size
===
'
number
'
)
{
if
(
Buffer
.
isBuffer
(
file
.
contents
))
{
entry
.
totalSize
+=
file
.
contents
.
length
;
}
else
if
(
file
.
stat
&&
typeof
file
.
stat
.
size
===
'
number
'
)
{
entry
.
totalSize
+=
file
.
stat
.
size
;
// } else {
// console.warn(`${file.path} looks like a file but has no stat`);
}
else
{
// funky file...
}
}
this
.
emit
(
'
data
'
,
data
);
},
function
()
{
if
(
log
)
{
var
count
=
entry
.
totalCount
<
100
?
util
.
colors
.
green
(
entry
.
totalCount
.
toString
())
:
util
.
colors
.
red
(
entry
.
totalCount
.
toString
());
util
.
log
(
"
Stats for
"
+
group
+
"
:
"
+
count
+
"
files with approx.
"
+
Math
.
round
(
entry
.
totalSize
/
1204
)
+
"
KB
"
);
if
(
entry
.
totalCount
===
1
)
{
util
.
log
(
"
Stats for '
"
+
util
.
colors
.
grey
(
entry
.
name
)
+
"
':
"
+
Math
.
round
(
entry
.
totalSize
/
1204
)
+
"
KB
"
);
}
else
{
var
count
=
entry
.
totalCount
<
100
?
util
.
colors
.
green
(
entry
.
totalCount
.
toString
())
:
util
.
colors
.
red
(
entry
.
totalCount
.
toString
());
util
.
log
(
"
Stats for '
"
+
util
.
colors
.
grey
(
entry
.
name
)
+
"
':
"
+
count
+
"
files,
"
+
Math
.
round
(
entry
.
totalSize
/
1204
)
+
"
KB
"
);
}
}
}));
this
.
emit
(
'
end
'
);
});
}
exports
.
createStatsStream
=
createStatsStream
;
build/lib/stats.ts
浏览文件 @
165bb1aa
...
...
@@ -7,7 +7,6 @@
import
*
as
es
from
'
event-stream
'
;
import
*
as
util
from
'
gulp-util
'
;
import
{
Stream
}
from
'
stream
'
;
import
*
as
File
from
'
vinyl
'
;
class
Entry
{
...
...
@@ -20,29 +19,38 @@ class Entry {
const
_entries
=
new
Map
<
string
,
Entry
>
();
export
function
createStatsStream
(
group
:
string
,
stream
:
Stream
,
log
?:
boolean
):
Stream
{
export
function
createStatsStream
(
group
:
string
,
log
?:
boolean
):
es
.
Through
Stream
{
const
entry
=
new
Entry
(
group
,
0
,
0
);
_entries
.
set
(
entry
.
name
,
entry
);
return
stream
.
pipe
(
es
.
through
(
function
(
data
)
{
return
es
.
through
(
function
(
data
)
{
let
file
=
data
as
File
;
if
(
typeof
file
.
path
===
'
string
'
)
{
entry
.
totalCount
+=
1
;
if
(
typeof
file
.
stat
===
'
object
'
&&
typeof
file
.
stat
.
size
===
'
number
'
)
{
if
(
Buffer
.
isBuffer
(
file
.
contents
))
{
entry
.
totalSize
+=
file
.
contents
.
length
;
}
else
if
(
file
.
stat
&&
typeof
file
.
stat
.
size
===
'
number
'
)
{
entry
.
totalSize
+=
file
.
stat
.
size
;
//
} else {
//
console.warn(`${file.path} looks like a file but has no stat`);
}
else
{
//
funky file...
}
}
this
.
emit
(
'
data
'
,
data
);
},
()
=>
{
},
function
()
{
if
(
log
)
{
let
count
=
entry
.
totalCount
<
100
?
util
.
colors
.
green
(
entry
.
totalCount
.
toString
())
:
util
.
colors
.
red
(
entry
.
totalCount
.
toString
());
if
(
entry
.
totalCount
===
1
)
{
util
.
log
(
`Stats for '
${
util
.
colors
.
grey
(
entry
.
name
)}
':
${
Math
.
round
(
entry
.
totalSize
/
1204
)}
KB`
);
util
.
log
(
`Stats for
${
group
}
:
${
count
}
files with approx.
${
Math
.
round
(
entry
.
totalSize
/
1204
)}
KB`
);
}
else
{
let
count
=
entry
.
totalCount
<
100
?
util
.
colors
.
green
(
entry
.
totalCount
.
toString
())
:
util
.
colors
.
red
(
entry
.
totalCount
.
toString
());
util
.
log
(
`Stats for '
${
util
.
colors
.
grey
(
entry
.
name
)}
':
${
count
}
files,
${
Math
.
round
(
entry
.
totalSize
/
1204
)}
KB`
);
}
}
}));
this
.
emit
(
'
end
'
);
});
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录