Commit 90ce8abf authored by James Danger Hycner's avatar James Danger Hycner Committed by Dan Abramov
Browse files

#765 - Work on removing publish feature flags. Removing copying files in cra.sh & release.sh (#861)

parent ad57c457
Showing with 20 additions and 69 deletions
+20 -69
...@@ -70,17 +70,18 @@ module.exports = { ...@@ -70,17 +70,18 @@ module.exports = {
}; };
// @remove-on-eject-end // @remove-on-eject-end
// @remove-on-publish-begin // config before publish: we're in ./packages/react-scripts/config/
module.exports = { if (__dirname.indexOf(path.join('packages', 'react-scripts', 'config')) !== -1) {
appBuild: resolveOwn('../../../build'), module.exports = {
appPublic: resolveOwn('../template/public'), appBuild: resolveOwn('../../../build'),
appHtml: resolveOwn('../template/public/index.html'), appPublic: resolveOwn('../template/public'),
appIndexJs: resolveOwn('../template/src/index.js'), appHtml: resolveOwn('../template/public/index.html'),
appPackageJson: resolveOwn('../package.json'), appIndexJs: resolveOwn('../template/src/index.js'),
appSrc: resolveOwn('../template/src'), appPackageJson: resolveOwn('../package.json'),
testsSetup: resolveOwn('../template/src/setupTests.js'), appSrc: resolveOwn('../template/src'),
appNodeModules: resolveOwn('../node_modules'), testsSetup: resolveOwn('../template/src/setupTests.js'),
ownNodeModules: resolveOwn('../node_modules'), appNodeModules: resolveOwn('../node_modules'),
nodePaths: nodePaths ownNodeModules: resolveOwn('../node_modules'),
}; nodePaths: nodePaths
// @remove-on-publish-end };
}
...@@ -16,10 +16,8 @@ cd "$(dirname "$0")" ...@@ -16,10 +16,8 @@ cd "$(dirname "$0")"
function cleanup { function cleanup {
echo 'Cleaning up.' echo 'Cleaning up.'
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 $clean_path
} }
# Error messages are redirected to stderr # Error messages are redirected to stderr
...@@ -53,41 +51,17 @@ root_path=$PWD ...@@ -53,41 +51,17 @@ root_path=$PWD
# Pack react-scripts so we can verify they work. # 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 react-scripts 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/packages/react-scripts
# 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
# Install all our packages # Install all our packages
cd $clean_path
$root_path/node_modules/.bin/lerna bootstrap $root_path/node_modules/.bin/lerna bootstrap
cd $clean_path/packages/react-scripts cd packages/react-scripts
# Like bundle-deps, this script modifies packages/react-scripts/package.json, # Like bundle-deps, this script modifies packages/react-scripts/package.json,
# copying own dependencies (those in the `packages` dir) to bundledDependencies # copying own dependencies (those in the `packages` dir) to bundledDependencies
node $clean_path/tasks/bundle-own-deps.js node $root_path/tasks/bundle-own-deps.js
# Finally, pack react-scripts # Finally, pack react-scripts
scripts_path=$clean_path/packages/react-scripts/`npm pack` scripts_path=$root_path/packages/react-scripts/`npm pack`
# ****************************************************************************** # ******************************************************************************
# Now that we have packed them, call the global CLI. # Now that we have packed them, call the global CLI.
......
...@@ -39,25 +39,6 @@ if [ -n "$(git status --porcelain)" ]; then ...@@ -39,25 +39,6 @@ if [ -n "$(git status --porcelain)" ]; then
exit 1; exit 1;
fi fi
# 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, and publish from it.
rsync -av --exclude=$clean_path\
--exclude='node_modules' --exclude='build'\
'./' $clean_path >/dev/null
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
# Update deps # Update deps
rm -rf node_modules rm -rf node_modules
rm -rf ~/.npm rm -rf ~/.npm
...@@ -72,14 +53,9 @@ npm dedupe ...@@ -72,14 +53,9 @@ npm dedupe
# Since it's in optionalDependencies, it will attempt install outside bundle # Since it's in optionalDependencies, it will attempt install outside bundle
rm -rf node_modules/fsevents rm -rf node_modules/fsevents
# This modifies $clean_path/package.json to copy all dependencies to bundledDependencies # This modifies package.json to copy all dependencies to bundledDependencies
node ./node_modules/.bin/bundle-deps node ./node_modules/.bin/bundle-deps
cd $clean_path cd $root_path
# Go! # Go!
./node_modules/.bin/lerna publish --independent "$@" ./node_modules/.bin/lerna publish --independent "$@"
# cleanup
cd ..
rm -rf $clean_path
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment