Skip to content
GitLab
Explore
Projects
Groups
Snippets
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
dc6edce9
Commit
dc6edce9
authored
8 years ago
by
Adam Stankiewicz
Committed by
Ville Immonen
8 years ago
Browse files
Options
Download
Email Patches
Plain Diff
Add support for non-interactive terminal (#1032)
parent
ce918191
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
packages/react-scripts/scripts/start.js
+39
-16
packages/react-scripts/scripts/start.js
with
39 additions
and
16 deletions
+39
-16
packages/react-scripts/scripts/start.js
+
39
-
16
View file @
dc6edce9
...
...
@@ -35,6 +35,7 @@ var paths = require('../config/paths');
var
useYarn
=
pathExists
.
sync
(
paths
.
yarnLockFile
);
var
cli
=
useYarn
?
'
yarn
'
:
'
npm
'
;
var
isInteractive
=
process
.
stdout
.
isTTY
;
// Warn and crash if required files are missing
if
(
!
checkRequiredFiles
([
paths
.
appHtml
,
paths
.
appIndexJs
]))
{
...
...
@@ -69,21 +70,33 @@ function setupCompiler(host, port, protocol) {
// bundle, so if you refresh, it'll wait instead of serving the old one.
// "invalid" is short for "bundle invalidated", it doesn't imply any errors.
compiler
.
plugin
(
'
invalid
'
,
function
()
{
clearConsole
();
if
(
isInteractive
)
{
clearConsole
();
}
console
.
log
(
'
Compiling...
'
);
});
var
isFirstCompile
=
true
;
// "done" event fires when Webpack has finished recompiling the bundle.
// Whether or not you have warnings or errors, you will get this event.
compiler
.
plugin
(
'
done
'
,
function
(
stats
)
{
clearConsole
();
if
(
isInteractive
)
{
clearConsole
();
}
// We have switched off the default Webpack output in WebpackDevServer
// options so we are going to "massage" the warnings and errors and present
// them in a readable focused way.
var
messages
=
formatWebpackMessages
(
stats
.
toJson
({},
true
));
if
(
!
messages
.
errors
.
length
&&
!
messages
.
warnings
.
length
)
{
var
isSuccessful
=
!
messages
.
errors
.
length
&&
!
messages
.
warnings
.
length
;
var
showInstructions
=
isSuccessful
&&
(
isInteractive
||
isFirstCompile
);
if
(
isSuccessful
)
{
console
.
log
(
chalk
.
green
(
'
Compiled successfully!
'
));
}
if
(
showInstructions
)
{
console
.
log
();
console
.
log
(
'
The app is running at:
'
);
console
.
log
();
...
...
@@ -92,6 +105,7 @@ function setupCompiler(host, port, protocol) {
console
.
log
(
'
Note that the development build is not optimized.
'
);
console
.
log
(
'
To create a production build, use
'
+
chalk
.
cyan
(
cli
+
'
run build
'
)
+
'
.
'
);
console
.
log
();
isFirstCompile
=
false
;
}
// If errors exist, only show errors.
...
...
@@ -258,10 +272,15 @@ function runDevServer(host, port, protocol) {
return
console
.
log
(
err
);
}
clearConsole
();
if
(
isInteractive
)
{
clearConsole
();
}
console
.
log
(
chalk
.
cyan
(
'
Starting the development server...
'
));
console
.
log
();
openBrowser
(
protocol
+
'
://
'
+
host
+
'
:
'
+
port
+
'
/
'
);
if
(
isInteractive
)
{
openBrowser
(
protocol
+
'
://
'
+
host
+
'
:
'
+
port
+
'
/
'
);
}
});
}
...
...
@@ -280,16 +299,20 @@ detect(DEFAULT_PORT).then(port => {
return
;
}
clearConsole
();
var
existingProcess
=
getProcessForPort
(
DEFAULT_PORT
);
var
question
=
chalk
.
yellow
(
'
Something is already running on port
'
+
DEFAULT_PORT
+
'
.
'
+
((
existingProcess
)
?
'
Probably:
\n
'
+
existingProcess
:
''
))
+
'
\n\n
Would you like to run the app on another port instead?
'
;
if
(
isInteractive
)
{
clearConsole
();
var
existingProcess
=
getProcessForPort
(
DEFAULT_PORT
);
var
question
=
chalk
.
yellow
(
'
Something is already running on port
'
+
DEFAULT_PORT
+
'
.
'
+
((
existingProcess
)
?
'
Probably:
\n
'
+
existingProcess
:
''
))
+
'
\n\n
Would you like to run the app on another port instead?
'
;
prompt
(
question
,
true
).
then
(
shouldChangePort
=>
{
if
(
shouldChangePort
)
{
run
(
port
);
}
});
prompt
(
question
,
true
).
then
(
shouldChangePort
=>
{
if
(
shouldChangePort
)
{
run
(
port
);
}
});
}
else
{
console
.
log
(
chalk
.
red
(
'
Something is already running on port
'
+
DEFAULT_PORT
+
'
.
'
));
}
});
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
Menu
Explore
Projects
Groups
Snippets