File tree Expand file tree Collapse file tree 2 files changed +13
-9
lines changed Expand file tree Collapse file tree 2 files changed +13
-9
lines changed Original file line number Diff line number Diff line change @@ -114,7 +114,8 @@ module.exports = {
114114 ownNodeModules : resolveOwn ( 'node_modules' ) , // This is empty on npm 3
115115} ;
116116
117- var reactScriptsPath = path . resolve ( 'node_modules/react-scripts' ) ;
117+ var ownPackageJson = require ( '../package.json' ) ;
118+ var reactScriptsPath = resolveApp ( `node_modules/${ ownPackageJson . name } ` ) ;
118119var reactScriptsLinked = fs . existsSync ( reactScriptsPath ) && fs . lstatSync ( reactScriptsPath ) . isSymbolicLink ( ) ;
119120
120121// config before publish: we're in ./packages/react-scripts/config/
Original file line number Diff line number Diff line change @@ -152,14 +152,17 @@ prompt(
152152 ) ;
153153 console . log ( ) ;
154154
155- try {
156- // remove react-scripts and react-scripts binaries from app node_modules
157- Object . keys ( ownPackage . bin ) . forEach ( function ( binKey ) {
158- fs . removeSync ( path . join ( appPath , 'node_modules' , '.bin' , binKey ) ) ;
159- } ) ;
160- fs . removeSync ( ownPath ) ;
161- } catch ( e ) {
162- // It's not essential that this succeeds
155+ // "Don't destroy what isn't ours"
156+ if ( ownPath . indexOf ( appPath ) === 0 ) {
157+ try {
158+ // remove react-scripts and react-scripts binaries from app node_modules
159+ Object . keys ( ownPackage . bin ) . forEach ( function ( binKey ) {
160+ fs . removeSync ( path . join ( appPath , 'node_modules' , '.bin' , binKey ) ) ;
161+ } ) ;
162+ fs . removeSync ( ownPath ) ;
163+ } catch ( e ) {
164+ // It's not essential that this succeeds
165+ }
163166 }
164167
165168 if ( fs . existsSync ( paths . yarnLockFile ) ) {
You can’t perform that action at this time.
0 commit comments