From d383a751540765ea557a47cc5250b3e76931bcc9 Mon Sep 17 00:00:00 2001 From: Jim LAURIE Date: Mon, 2 Jul 2018 17:00:44 +0200 Subject: [PATCH] Handle yarn install in generated project --- packages/strapi/lib/utils/post-install.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/strapi/lib/utils/post-install.js b/packages/strapi/lib/utils/post-install.js index f10eb91108..a5b8b9c6ae 100644 --- a/packages/strapi/lib/utils/post-install.js +++ b/packages/strapi/lib/utils/post-install.js @@ -16,6 +16,15 @@ const _ = require('lodash'); const pluginsDirPath = path.join(process.cwd(), 'plugins'); const adminDirPath = path.join(process.cwd(), 'admin'); +let packageManager; +try { + packageManager = require(path.resolve(process.cwd(), 'package')).strapi.packageManager; +} catch (error) { + packageManager = 'npm'; +} + +const installCmd = packageManager === 'yarn' ? 'yarn install --production --ignore-scripts' : 'npm install --prod --ignore-scripts'; + /* eslint-disable no-console */ // Install admin dependencies @@ -26,7 +35,7 @@ try { // Check if path is existing. fs.accessSync(adminDirPath, fs.constants.R_OK | fs.constants.W_OK); - const install = exec(`cd "${adminDirPath}" && npm install --prod --ignore-scripts`, { + const install = exec(`cd "${adminDirPath}" && ${installCmd}`, { silent: true }); @@ -62,7 +71,7 @@ try { console.log('📦 Installing packages...'); try { - const install = exec(`cd "${pluginPath}" && npm install --prod --ignore-scripts`, { + const install = exec(`cd "${pluginPath}" && ${installCmd}`, { silent: true });