Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Meta
create-react-app
Commits
f93e02e6
Commit
f93e02e6
authored
8 years ago
by
Dan Abramov
Browse files
Options
Download
Email Patches
Plain Diff
Minor style tweaks
parent
6b6d7ee3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
scripts/build.js
+11
-10
scripts/build.js
with
11 additions
and
10 deletions
+11
-10
scripts/build.js
+
11
-
10
View file @
f93e02e6
...
@@ -22,13 +22,12 @@ var recursive = require('recursive-readdir');
...
@@ -22,13 +22,12 @@ var recursive = require('recursive-readdir');
var
stripAnsi
=
require
(
'
strip-ansi
'
);
var
stripAnsi
=
require
(
'
strip-ansi
'
);
function
removeFileNameHash
(
fileName
)
{
function
removeFileNameHash
(
fileName
)
{
return
fileName
.
replace
(
paths
.
appBuild
,
''
)
return
fileName
.
replace
(
/
\/?(
.*
)(\.\w
+
)(\.
js|
\.
css
)
/
,
function
(
match
,
p1
,
p2
,
p3
)
{
.
replace
(
paths
.
appBuild
,
''
)
return
p1
+
p3
;
.
replace
(
/
\/?(
.*
)(\.\w
+
)(\.
js|
\.
css
)
/
,
(
match
,
p1
,
p2
,
p3
)
=>
p1
+
p3
);
});
}
}
function
size
Differen
ce
(
currentSize
,
previousSize
)
{
function
get
Differen
tLabel
(
currentSize
,
previousSize
)
{
var
FIFTY_KILOBYTES
=
1024
*
50
;
var
FIFTY_KILOBYTES
=
1024
*
50
;
var
difference
=
currentSize
-
previousSize
;
var
difference
=
currentSize
-
previousSize
;
var
fileSize
=
!
Number
.
isNaN
(
difference
)
?
filesize
(
difference
)
:
0
;
var
fileSize
=
!
Number
.
isNaN
(
difference
)
?
filesize
(
difference
)
:
0
;
...
@@ -43,15 +42,17 @@ function sizeDifference(currentSize, previousSize) {
...
@@ -43,15 +42,17 @@ function sizeDifference(currentSize, previousSize) {
}
}
}
}
recursive
(
paths
.
appBuild
,
function
(
err
,
fileNames
)
{
recursive
(
paths
.
appBuild
,
(
err
,
fileNames
)
=>
{
fileNames
=
fileNames
||
[];
fileNames
=
fileNames
||
[];
var
previousSizeMap
=
fileNames
.
filter
(
fileName
=>
/
\.(
js|css
)
$/
.
test
(
fileName
))
var
previousSizeMap
=
fileNames
.
filter
(
fileName
=>
/
\.(
js|css
)
$/
.
test
(
fileName
))
.
reduce
((
memo
,
fileName
)
=>
{
.
reduce
((
memo
,
fileName
)
=>
{
var
contents
=
fs
.
readFileSync
(
fileName
);
var
contents
=
fs
.
readFileSync
(
fileName
);
var
key
=
removeFileNameHash
(
fileName
);
var
key
=
removeFileNameHash
(
fileName
);
memo
[
key
]
=
gzipSize
(
contents
);
memo
[
key
]
=
gzipSize
(
contents
);
return
memo
;
return
memo
;
},
{}
);
},
{});
// Remove all content but keep the directory so that
// Remove all content but keep the directory so that
// if you're in it, you don't end up in Trash
// if you're in it, you don't end up in Trash
...
@@ -62,7 +63,7 @@ recursive(paths.appBuild, function (err, fileNames) {
...
@@ -62,7 +63,7 @@ recursive(paths.appBuild, function (err, fileNames) {
function
build
(
previousSizeMap
)
{
function
build
(
previousSizeMap
)
{
console
.
log
(
'
Creating an optimized production build...
'
);
console
.
log
(
'
Creating an optimized production build...
'
);
webpack
(
config
).
run
(
function
(
err
,
stats
)
{
webpack
(
config
).
run
((
err
,
stats
)
=>
{
if
(
err
)
{
if
(
err
)
{
console
.
error
(
'
Failed to create a production build. Reason:
'
);
console
.
error
(
'
Failed to create a production build. Reason:
'
);
console
.
error
(
err
.
message
||
err
);
console
.
error
(
err
.
message
||
err
);
...
@@ -80,7 +81,7 @@ function build(previousSizeMap) {
...
@@ -80,7 +81,7 @@ function build(previousSizeMap) {
var
fileContents
=
fs
.
readFileSync
(
paths
.
appBuild
+
'
/
'
+
asset
.
name
);
var
fileContents
=
fs
.
readFileSync
(
paths
.
appBuild
+
'
/
'
+
asset
.
name
);
var
size
=
gzipSize
(
fileContents
);
var
size
=
gzipSize
(
fileContents
);
var
previousSize
=
previousSizeMap
[
removeFileNameHash
(
asset
.
name
)];
var
previousSize
=
previousSizeMap
[
removeFileNameHash
(
asset
.
name
)];
var
difference
=
size
Differen
ce
(
size
,
previousSize
);
var
difference
=
get
Differen
tLabel
(
size
,
previousSize
);
return
{
return
{
folder
:
path
.
join
(
'
build
'
,
path
.
dirname
(
asset
.
name
)),
folder
:
path
.
join
(
'
build
'
,
path
.
dirname
(
asset
.
name
)),
name
:
path
.
basename
(
asset
.
name
),
name
:
path
.
basename
(
asset
.
name
),
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment