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
ab1f74fc
Commit
ab1f74fc
authored
8 years ago
by
Dan Abramov
Committed by
GitHub
8 years ago
Browse files
Options
Download
Email Patches
Plain Diff
Fix local end-to-end testing flow (#566)
parent
49e4f646
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
package.json
+1
-1
package.json
tasks/cra.sh
+91
-0
tasks/cra.sh
tasks/e2e.sh
+6
-5
tasks/e2e.sh
tasks/release.sh
+7
-0
tasks/release.sh
with
105 additions
and
6 deletions
+105
-6
package.json
+
1
-
1
View file @
ab1f74fc
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
},
},
"scripts"
:
{
"scripts"
:
{
"build"
:
"node scripts/build.js"
,
"build"
:
"node scripts/build.js"
,
"create-react-app"
:
"
node global-cli/index.js --scripts-version
\"
$PWD/`tasks/clean_pack.sh`
\"
"
,
"create-react-app"
:
"
tasks/cra.sh
"
,
"e2e"
:
"tasks/e2e.sh"
,
"e2e"
:
"tasks/e2e.sh"
,
"start"
:
"node scripts/start.js"
,
"start"
:
"node scripts/start.js"
,
"test"
:
"node scripts/test.js --env=jsdom"
"test"
:
"node scripts/test.js --env=jsdom"
...
...
This diff is collapsed.
Click to expand it.
tasks/cra.sh
0 → 100755
+
91
-
0
View file @
ab1f74fc
#!/bin/bash
# Copyright (c) 2015-present, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree. An additional grant
# of patent rights can be found in the PATENTS file in the same directory.
# ******************************************************************************
# This creates an app with the global CLI and `react-scripts` from the source.
# It is useful for testing the end-to-end flow locally.
# ******************************************************************************
# Start in tasks/ even if run from root directory
cd
"
$(
dirname
"
$0
"
)
"
function
cleanup
{
echo
'Cleaning up.'
cd
$root_path
# Uncomment when snapshot testing is enabled by default:
# rm ./template/src/__snapshots__/App.test.js.snap
rm
-rf
$clean_path
}
# Error messages are redirected to stderr
function
handle_error
{
echo
"
$(
basename
$0
)
: ERROR! An error was encountered executing line
$1
."
1>&2
;
cleanup
echo
'Exiting with error.'
1>&2
;
exit
1
}
function
handle_exit
{
cleanup
echo
'Exiting without error.'
1>&2
;
exit
}
# Exit the script with a helpful error message when any error is encountered
trap
'set +x; handle_error $LINENO $BASH_COMMAND'
ERR
# Cleanup before exit on any termination signal
trap
'set +x; handle_exit'
SIGQUIT SIGTERM SIGINT SIGKILL SIGHUP
# Echo every command being executed
set
-x
# Go to root
cd
..
root_path
=
$PWD
# ******************************************************************************
# Pack react-scripts so we can verify they work.
# ******************************************************************************
# Packing react-scripts takes some work because we want to clean it up first.
# Create a temporary clean folder that contains production only code.
# Do not overwrite any files in the current folder.
clean_path
=
`
mktemp
-d
2>/dev/null
||
mktemp
-d
-t
'clean_path'
`
# Copy some of the project files to the temporary folder.
# Exclude folders that definitely won’t be part of the package from processing.
# We will strip the dev-only code there, `npm pack`, and copy the package back.
cd
$root_path
rsync
-av
--exclude
=
'.git'
--exclude
=
$clean_path
\
--exclude
=
'node_modules'
--exclude
=
'build'
\
'./'
$clean_path
>
/dev/null
# Open the clean folder
cd
$clean_path
# Now remove all the code relevant to development of Create React App.
files
=
"
$(
find
-L
.
-name
"*.js"
-type
f
)
"
for
file
in
$files
;
do
sed
-i
.bak
'/\/\/ @remove-on-publish-begin/,/\/\/ @remove-on-publish-end/d'
$file
rm
$file
.bak
done
# Finally, pack react-scripts
cp
-rf
$root_path
/node_modules
$clean_path
scripts_path
=
$clean_path
/
`
npm pack
`
# ******************************************************************************
# Now that we have packed them, call the global CLI.
# ******************************************************************************
# Go back to the root directory and run the command from here
cd
$root_path
node global-cli/index.js
--scripts-version
=
$scripts_path
"
$@
"
# Cleanup
cleanup
This diff is collapsed.
Click to expand it.
tasks/e2e.sh
+
6
-
5
View file @
ab1f74fc
...
@@ -6,6 +6,11 @@
...
@@ -6,6 +6,11 @@
# LICENSE file in the root directory of this source tree. An additional grant
# LICENSE file in the root directory of this source tree. An additional grant
# of patent rights can be found in the PATENTS file in the same directory.
# of patent rights can be found in the PATENTS file in the same directory.
# ******************************************************************************
# This is an end-to-end test intended to run on CI.
# You can also run it locally but it's slow.
# ******************************************************************************
# Start in tasks/ even if run from root directory
# Start in tasks/ even if run from root directory
cd
"
$(
dirname
"
$0
"
)
"
cd
"
$(
dirname
"
$0
"
)
"
...
@@ -14,7 +19,7 @@ function cleanup {
...
@@ -14,7 +19,7 @@ function cleanup {
cd
$root_path
cd
$root_path
# Uncomment when snapshot testing is enabled by default:
# Uncomment when snapshot testing is enabled by default:
# rm ./template/src/__snapshots__/App.test.js.snap
# rm ./template/src/__snapshots__/App.test.js.snap
rm
-rf
$temp_cli_path
$temp_app_path
rm
-rf
$temp_cli_path
$temp_app_path
$clean_path
}
}
# Error messages are redirected to stderr
# Error messages are redirected to stderr
...
@@ -102,10 +107,6 @@ for file in $files; do
...
@@ -102,10 +107,6 @@ for file in $files; do
rm
$file
.bak
rm
$file
.bak
done
done
# A hacky way to avoid bundling dependencies.
# Packing with them enabled takes too much memory, and Travis crashes.
perl
-i
-p0e
's/bundledDependencies.*?]/bundledDependencies": []/s'
package.json
# Finally, pack react-scripts
# Finally, pack react-scripts
npm
install
npm
install
scripts_path
=
$clean_path
/
`
npm pack
`
scripts_path
=
$clean_path
/
`
npm pack
`
...
...
This diff is collapsed.
Click to expand it.
tasks/release.sh
+
7
-
0
View file @
ab1f74fc
...
@@ -6,6 +6,13 @@
...
@@ -6,6 +6,13 @@
# LICENSE file in the root directory of this source tree. An additional grant
# LICENSE file in the root directory of this source tree. An additional grant
# of patent rights can be found in the PATENTS file in the same directory.
# of patent rights can be found in the PATENTS file in the same directory.
# ******************************************************************************
# This releases an update to the `react-scripts` package.
# Don't use `npm publish` for it.
# Read the release instructions:
# https://github.com/facebookincubator/create-react-app/blob/master/CONTRIBUTING.md#cutting-a-release
# ******************************************************************************
# Start in tasks/ even if run from root directory
# Start in tasks/ even if run from root directory
cd
"
$(
dirname
"
$0
"
)
"
cd
"
$(
dirname
"
$0
"
)
"
...
...
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