Skip to content

Commit

Permalink
Use npm as package manager by default
Browse files Browse the repository at this point in the history
This removes the --use-npm flag and adds the --use-yarn flag.
It also removes the previous behavior of checking for the existence
of yarn as the signal to use it as the package manager.
  • Loading branch information
lukekarrys committed Aug 18, 2021
1 parent b3a60ab commit 00652d5
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 19 deletions.
16 changes: 3 additions & 13 deletions packages/create-react-app/createReactApp.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ function init() {
'--template <path-to-template>',
'specify a template for the created project'
)
.option('--use-npm')
.option('--use-yarn')
.option('--use-pnp')
.allowUnknownOption()
.on('--help', () => {
Expand Down Expand Up @@ -228,14 +228,14 @@ function init() {
program.verbose,
program.scriptsVersion,
program.template,
program.useNpm,
program.useYarn,
program.usePnp
);
}
});
}

function createApp(name, verbose, version, template, useNpm, usePnp) {
function createApp(name, verbose, version, template, useYarn, usePnp) {
const unsupportedNodeVersion = !semver.satisfies(
// Coerce strings with metadata (i.e. `15.0.0-nightly`).
semver.coerce(process.version),
Expand Down Expand Up @@ -276,7 +276,6 @@ function createApp(name, verbose, version, template, useNpm, usePnp) {
JSON.stringify(packageJson, null, 2) + os.EOL
);

const useYarn = useNpm ? false : shouldUseYarn();
const originalDirectory = process.cwd();
process.chdir(root);
if (!useYarn && !checkThatNpmCanReadCwd()) {
Expand Down Expand Up @@ -351,15 +350,6 @@ function createApp(name, verbose, version, template, useNpm, usePnp) {
);
}

function shouldUseYarn() {
try {
execSync('yarnpkg --version', { stdio: 'ignore' });
return true;
} catch (e) {
return false;
}
}

function install(root, useYarn, usePnp, dependencies, verbose, isOnline) {
return new Promise((resolve, reject) => {
let command;
Expand Down
13 changes: 7 additions & 6 deletions tasks/e2e-installs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -112,10 +112,11 @@ cd "$temp_app_path"
npx create-react-app test-app-dist-tag --scripts-version=@latest
cd test-app-dist-tag

# Check corresponding scripts version is installed and no TypeScript is present.
# Check corresponding scripts version is installed and no TypeScript or yarn is present by default
exists node_modules/react-scripts
! exists node_modules/typescript
! exists src/index.tsx
! exists yarn.lock
exists src/index.js
checkDependencies

Expand All @@ -133,16 +134,16 @@ grep '"version": "1.0.17"' node_modules/react-scripts/package.json
checkDependencies

# ******************************************************************************
# Test --use-npm flag
# Test --use-yarn flag
# ******************************************************************************

cd "$temp_app_path"
npx create-react-app test-use-npm-flag --use-npm --scripts-version=1.0.17
cd test-use-npm-flag
npx create-react-app test-use-yarn-flag --use-yarn --scripts-version=1.0.17
cd test-use-yarn-flag

# Check corresponding scripts version is installed.
exists node_modules/react-scripts
[ ! -e "yarn.lock" ] && echo "yarn.lock correctly does not exist"
exists yarn.lock
grep '"version": "1.0.17"' node_modules/react-scripts/package.json
checkDependencies

Expand Down Expand Up @@ -277,7 +278,7 @@ npm start --smoke-test
# Test when PnP is enabled
# ******************************************************************************
cd "$temp_app_path"
npx create-react-app test-app-pnp --use-pnp
npx create-react-app test-app-pnp --use-yarn --use-pnp
cd test-app-pnp
! exists node_modules
exists .pnp.js
Expand Down

0 comments on commit 00652d5

Please sign in to comment.