From 2c735db6e02ea9f1376b024bd109ca266bc1bb22 Mon Sep 17 00:00:00 2001 From: Mark Kaylor Date: Thu, 24 Feb 2022 11:12:08 +0100 Subject: [PATCH] update execa commands --- .../cli/create-strapi-starter/utils/fetch-npm-starter.js | 8 ++++---- packages/generators/app/lib/utils/fetch-npm-template.js | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/cli/create-strapi-starter/utils/fetch-npm-starter.js b/packages/cli/create-strapi-starter/utils/fetch-npm-starter.js index d6563aaba23..6a31d052345 100644 --- a/packages/cli/create-strapi-starter/utils/fetch-npm-starter.js +++ b/packages/cli/create-strapi-starter/utils/fetch-npm-starter.js @@ -15,7 +15,7 @@ const stopProcess = require('./stop-process'); async function getPackageInfo(packageName, { useYarn } = {}) { // Use yarn if possible because it's faster if (useYarn) { - const { stdout } = await execa.command(`yarn info ${packageName} --json`); + const { stdout } = await execa('yarn', ['info', packageName, '--json']); const yarnInfo = JSON.parse(stdout); return { name: yarnInfo.data.name, @@ -24,7 +24,7 @@ async function getPackageInfo(packageName, { useYarn } = {}) { } // Fallback to npm - const { stdout } = await execa.command(`npm view ${packageName} name version --silent`); + const { stdout } = await execa('npm', ['view', packageName, 'name', 'version', '--silent']); // Use regex to parse name and version from CLI result const [name, version] = stdout.match(/(?<=')(.*?)(?=')/gm); return { name, version }; @@ -67,11 +67,11 @@ async function getStarterPackageInfo(starter, { useYarn } = {}) { async function downloadNpmStarter({ name, version }, parentDir, { useYarn } = {}) { // Download from npm, using yarn if possible if (useYarn) { - await execa.command(`yarn add ${name}@${version} --no-lockfile --silent`, { + await execa('yarn', ['add', `${name}@${version}`, '--no-lockfile', '--silent'], { cwd: parentDir, }); } else { - await execa.command(`npm install ${name}@${version} --no-save --silent`, { + await execa('npm', ['install', `${name}@${version}`, '--no-save', '--silent'], { cwd: parentDir, }); } diff --git a/packages/generators/app/lib/utils/fetch-npm-template.js b/packages/generators/app/lib/utils/fetch-npm-template.js index e727b01f0d5..4f880f6c714 100644 --- a/packages/generators/app/lib/utils/fetch-npm-template.js +++ b/packages/generators/app/lib/utils/fetch-npm-template.js @@ -10,7 +10,7 @@ const chalk = require('chalk'); * @returns {Object} */ async function getPackageInfo(packageName) { - const { stdout } = await execa.shell(`npm view ${packageName} name version --silent`); + const { stdout } = await execa('npm', ['view', packageName, 'name', 'version', '--silent']); // Use regex to parse name and version from CLI result const [name, version] = stdout.match(/(?<=')(.*?)(?=')/gm); return { name, version }; @@ -46,7 +46,7 @@ async function getTemplatePackageInfo(template) { */ async function downloadNpmTemplate({ name, version }, parentDir) { // Download from npm - await execa.shell(`npm install ${name}@${version} --no-save --silent`, { + await execa('npm', ['install', `${name}@${version}`, '--no-save', '--silent'], { cwd: parentDir, });