UNPKG

@strapi/utils

Version:

Shared utilities for the Strapi packages

37 lines (33 loc) 1.13 kB
'use strict'; var execa = require('execa'); var preferredPM = require('preferred-pm'); const SUPPORTED_PACKAGE_MANAGERS = [ 'npm', 'yarn' ]; const DEFAULT_PACKAGE_MANAGER = 'npm'; const getPreferred = async (pkgPath)=>{ const pm = await preferredPM(pkgPath); const hasPackageManager = pm !== undefined; if (!hasPackageManager) { throw new Error(`Couldn't find a package manager in your project.`); } const isPackageManagerSupported = SUPPORTED_PACKAGE_MANAGERS.includes(pm.name); if (!isPackageManagerSupported) { process.emitWarning(`We detected your package manager (${pm.name} v${pm.version}), but it's not officially supported by Strapi yet. Defaulting to npm instead.`); return DEFAULT_PACKAGE_MANAGER; } return pm.name; }; const installDependencies = (path, packageManager, options = {})=>{ return execa(packageManager, [ 'install' ], { ...options, cwd: path, stdin: 'ignore' }); }; exports.getPreferred = getPreferred; exports.installDependencies = installDependencies; //# sourceMappingURL=package-manager.js.map