diff --git a/bin/webpack.js b/bin/webpack.js index 4cc7a26519f..98a0b72d691 100755 --- a/bin/webpack.js +++ b/bin/webpack.js @@ -82,10 +82,17 @@ if (!cli.installed) { console.error(notify); - const isYarn = fs.existsSync(path.resolve(process.cwd(), "yarn.lock")); + let packageManager; + + if (fs.existsSync(path.resolve(process.cwd(), "yarn.lock"))) { + packageManager = "yarn"; + } else if (fs.existsSync(path.resolve(process.cwd(), "pnpm-lock.yaml"))) { + packageManager = "pnpm"; + } else { + packageManager = "npm"; + } - const packageManager = isYarn ? "yarn" : "npm"; - const installOptions = [isYarn ? "add" : "install", "-D"]; + const installOptions = [packageManager === "yarn" ? "add" : "install", "-D"]; console.error( `We will use "${packageManager}" to install the CLI via "${packageManager} ${installOptions.join( diff --git a/cspell.json b/cspell.json index 9055c063f65..d09878316b3 100644 --- a/cspell.json +++ b/cspell.json @@ -221,7 +221,8 @@ "opencollective", "dependabot", "browserslist", - "samsunginternet" + "samsunginternet", + "pnpm" ], "ignoreRegExpList": ["/Author.+/", "/data:.*/", "/\"mappings\":\".+\"/"], "ignorePaths": ["**/dist/**", "examples/**/README.md"]