MCPcopy
hub / github.com/webpack/webpack / ensureYarnInstalledAsync

Function ensureYarnInstalledAsync

setup/setup.js:66–77  ·  view source on GitHub ↗

* @returns {Promise<void>} result

()

Source from the content-addressed store, hash-verified

64 * @returns {Promise<void>} result
65 */
66async function ensureYarnInstalledAsync() {
67 const semverPattern =
68 /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-(?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*))*)?(?:\+[0-9a-z-]+(?:\.[0-9a-z-]+)*)?$/i;
69 let hasYarn = false;
70 try {
71 const stdout = await execGetOutput("yarn", ["-v"], "Check yarn version");
72 hasYarn = semverPattern.test(stdout);
73 } catch (_err) {
74 hasYarn = false;
75 }
76 if (!hasYarn) await installYarnAsync();
77}
78
79/**
80 * @returns {Promise<void>} result

Callers 1

setupFunction · 0.85

Calls 3

execGetOutputFunction · 0.85
installYarnAsyncFunction · 0.85
testMethod · 0.45

Tested by

no test coverage detected