MCPcopy Create free account
hub / github.com/react/create-react-app / checkYarnVersion

Function checkYarnVersion

packages/create-react-app/createReactApp.js:758–788  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

756}
757
758function checkYarnVersion() {
759 const minYarnPnp = '1.12.0';
760 const maxYarnPnp = '2.0.0';
761 let hasMinYarnPnp = false;
762 let hasMaxYarnPnp = false;
763 let yarnVersion = null;
764 try {
765 yarnVersion = execSync('yarnpkg --version').toString().trim();
766 if (semver.valid(yarnVersion)) {
767 hasMinYarnPnp = semver.gte(yarnVersion, minYarnPnp);
768 hasMaxYarnPnp = semver.lt(yarnVersion, maxYarnPnp);
769 } else {
770 // Handle non-semver compliant yarn version strings, which yarn currently
771 // uses for nightly builds. The regex truncates anything after the first
772 // dash. See #5362.
773 const trimmedYarnVersionMatch = /^(.+?)[-+].+$/.exec(yarnVersion);
774 if (trimmedYarnVersionMatch) {
775 const trimmedYarnVersion = trimmedYarnVersionMatch.pop();
776 hasMinYarnPnp = semver.gte(trimmedYarnVersion, minYarnPnp);
777 hasMaxYarnPnp = semver.lt(trimmedYarnVersion, maxYarnPnp);
778 }
779 }
780 } catch (err) {
781 // ignore
782 }
783 return {
784 hasMinYarnPnp: hasMinYarnPnp,
785 hasMaxYarnPnp: hasMaxYarnPnp,
786 yarnVersion: yarnVersion,
787 };
788}
789
790function checkNodeVersion(packageName) {
791 const packageJsonPath = path.resolve(

Callers 1

createAppFunction · 0.85

Calls 1

toStringMethod · 0.80

Tested by

no test coverage detected