const cp = require('child_process');
const fs = require('fs');
const path = require('path');

const YARN_VERSION = /'yarn_version': '(.+?)'/.exec(fs.readFileSync(path.resolve(__dirname, '../DEPS'), 'utf8'))[1];

exports.YARN_VERSION = YARN_VERSION;

// If we are running "node script/yarn" run as the yarn CLI
if (process.mainModule === module) {
  const NPX_CMD = process.platform === 'win32' ? 'npx.cmd' : 'npx';

  const child = cp.spawn(NPX_CMD, [`yarn@${YARN_VERSION}`, ...process.argv.slice(2)], {
    stdio: 'inherit',
    env: {
      ...process.env,
      npm_config_yes: 'true'
    }
  });

  child.on('exit', code => process.exit(code));
}