storybook/lib/cli/lib/has_yarn.js

14 lines
469 B
JavaScript

import { sync as spawnSync } from 'cross-spawn';
import path from 'path';
import fs from 'fs';
export default function hasYarn() {
const yarnAvailable = spawnSync('yarn', ['--version'], { silent: true });
const npmAvailable = spawnSync('npm', ['--version'], { silent: true });
const yarnLockPath = path.resolve('yarn.lock');
if ((fs.existsSync(yarnLockPath) || npmAvailable.status !== 0) && yarnAvailable.status === 0) {
return true;
}
return false;
}