Skip to content
This repository was archived by the owner on Dec 3, 2018. It is now read-only.

Commit 9521c95

Browse files
authored
Don't hardcode react-scripts package name (#728)
* Don't hardcode react-scripts package name Fixes issue described in facebook/create-react-app#682 (comment). * Update eject.js
1 parent 9741dde commit 9521c95

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

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

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)