Skip to content

Commit eaed104

Browse files
gaearonfeiqitian
authored andcommitted
Don't hardcode react-scripts package name (facebook#728)
* Don't hardcode react-scripts package name Fixes issue described in facebook#682 (comment). * Update eject.js
1 parent 9b978be commit eaed104

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

packages/react-scripts/scripts/eject.js

+7-3
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,9 @@ prompt(
7777
var ownPackage = require(path.join(ownPath, 'package.json'));
7878
var appPackage = require(path.join(appPath, 'package.json'));
7979

80-
console.log('Removing dependency: react-scripts');
81-
delete appPackage.devDependencies['react-scripts'];
80+
var ownPackageName = ownPackage.name;
81+
console.log('Removing dependency: ' + ownPackageName);
82+
delete appPackage.devDependencies[ownPackageName];
8283

8384
Object.keys(ownPackage.dependencies).forEach(function (key) {
8485
// For some reason optionalDependencies end up in dependencies after install
@@ -93,7 +94,10 @@ prompt(
9394
delete appPackage.scripts['eject'];
9495
Object.keys(appPackage.scripts).forEach(function (key) {
9596
appPackage.scripts[key] = appPackage.scripts[key]
96-
.replace(/react-scripts (\w+)/g, 'node scripts/$1.js');
97+
.replace(
98+
new RegExp(ownPackageName + ' (\w+)', 'g'),
99+
'node scripts/$1.js'
100+
);
97101
});
98102

99103
// Add Jest config

packages/react-scripts/scripts/init.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ var pathExists = require('path-exists');
1414
var chalk = require('chalk');
1515

1616
module.exports = function(appPath, appName, verbose, originalDirectory) {
17-
var ownPath = path.join(appPath, 'node_modules', 'react-scripts');
18-
17+
var ownPackageName = require(path.join(__dirname, '..', 'package.json')).name;
18+
var ownPath = path.join(appPath, 'node_modules', ownPackageName);
1919
var appPackage = require(path.join(appPath, 'package.json'));
2020

2121
// Copy over some of the devDependencies
@@ -24,10 +24,10 @@ module.exports = function(appPath, appName, verbose, originalDirectory) {
2424

2525
// Setup the script rules
2626
appPackage.scripts = {
27-
'start': 'react-scripts start',
28-
'build': 'react-scripts build',
29-
'test': 'react-scripts test --env=jsdom',
30-
'eject': 'react-scripts eject'
27+
'start': ownPackageName + ' start',
28+
'build': ownPackageName + ' build',
29+
'test': ownPackageName + ' test --env=jsdom',
30+
'eject': ownPackageName + ' eject'
3131
};
3232

3333
fs.writeFileSync(

0 commit comments

Comments
 (0)