From 90ce8abfa6285ae802fa9d2446066a5b38684ccb Mon Sep 17 00:00:00 2001 From: James Danger Hycner <hycner@users.noreply.github.com> Date: Fri, 7 Oct 2016 03:24:59 -0700 Subject: [PATCH] #765 - Work on removing publish feature flags. Removing copying files in cra.sh & release.sh (#861) --- packages/react-scripts/config/paths.js | 29 ++++++++++++----------- tasks/cra.sh | 32 +++----------------------- tasks/release.sh | 28 ++-------------------- 3 files changed, 20 insertions(+), 69 deletions(-) diff --git a/packages/react-scripts/config/paths.js b/packages/react-scripts/config/paths.js index 1d50c38b9..1c154c361 100644 --- a/packages/react-scripts/config/paths.js +++ b/packages/react-scripts/config/paths.js @@ -70,17 +70,18 @@ module.exports = { }; // @remove-on-eject-end -// @remove-on-publish-begin -module.exports = { - appBuild: resolveOwn('../../../build'), - appPublic: resolveOwn('../template/public'), - appHtml: resolveOwn('../template/public/index.html'), - appIndexJs: resolveOwn('../template/src/index.js'), - appPackageJson: resolveOwn('../package.json'), - appSrc: resolveOwn('../template/src'), - testsSetup: resolveOwn('../template/src/setupTests.js'), - appNodeModules: resolveOwn('../node_modules'), - ownNodeModules: resolveOwn('../node_modules'), - nodePaths: nodePaths -}; -// @remove-on-publish-end +// config before publish: we're in ./packages/react-scripts/config/ +if (__dirname.indexOf(path.join('packages', 'react-scripts', 'config')) !== -1) { + module.exports = { + appBuild: resolveOwn('../../../build'), + appPublic: resolveOwn('../template/public'), + appHtml: resolveOwn('../template/public/index.html'), + appIndexJs: resolveOwn('../template/src/index.js'), + appPackageJson: resolveOwn('../package.json'), + appSrc: resolveOwn('../template/src'), + testsSetup: resolveOwn('../template/src/setupTests.js'), + appNodeModules: resolveOwn('../node_modules'), + ownNodeModules: resolveOwn('../node_modules'), + nodePaths: nodePaths + }; +} diff --git a/tasks/cra.sh b/tasks/cra.sh index 9b2588545..c4d9e42bd 100755 --- a/tasks/cra.sh +++ b/tasks/cra.sh @@ -16,10 +16,8 @@ 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 @@ -53,41 +51,17 @@ 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 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 -cd $clean_path $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, # 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 -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. diff --git a/tasks/release.sh b/tasks/release.sh index 8177688c4..14b5cb77b 100755 --- a/tasks/release.sh +++ b/tasks/release.sh @@ -39,25 +39,6 @@ if [ -n "$(git status --porcelain)" ]; then exit 1; 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 rm -rf node_modules rm -rf ~/.npm @@ -72,14 +53,9 @@ npm dedupe # Since it's in optionalDependencies, it will attempt install outside bundle 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 -cd $clean_path - +cd $root_path # Go! ./node_modules/.bin/lerna publish --independent "$@" - -# cleanup -cd .. -rm -rf $clean_path -- GitLab