File tree 2 files changed +13
-9
lines changed
2 files changed +13
-9
lines changed Original file line number Diff line number Diff line change @@ -117,7 +117,8 @@ module.exports = {
117
117
ownNodeModules : resolveOwn ( 'node_modules' ) , // This is empty on npm 3
118
118
} ;
119
119
120
- var reactScriptsPath = path . resolve ( 'node_modules/react-scripts' ) ;
120
+ var ownPackageJson = require ( '../package.json' ) ;
121
+ var reactScriptsPath = resolveApp ( `node_modules/${ ownPackageJson . name } ` ) ;
121
122
var reactScriptsLinked = fs . existsSync ( reactScriptsPath ) && fs . lstatSync ( reactScriptsPath ) . isSymbolicLink ( ) ;
122
123
123
124
// 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(
152
152
) ;
153
153
console . log ( ) ;
154
154
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
+ }
163
166
}
164
167
165
168
if ( fs . existsSync ( paths . yarnLockFile ) ) {
You can’t perform that action at this time.
0 commit comments