2020-03-20 13:28:31 -07:00
|
|
|
const cp = require('child_process');
|
|
|
|
const fs = require('fs');
|
|
|
|
const path = require('path');
|
2019-06-05 16:30:39 -07:00
|
|
|
|
2020-03-20 13:28:31 -07:00
|
|
|
const YARN_VERSION = /'yarn_version': '(.+?)'/.exec(fs.readFileSync(path.resolve(__dirname, '../DEPS'), 'utf8'))[1];
|
2019-06-05 16:30:39 -07:00
|
|
|
|
2020-03-20 13:28:31 -07:00
|
|
|
exports.YARN_VERSION = YARN_VERSION;
|
2019-06-05 16:30:39 -07:00
|
|
|
|
|
|
|
// If we are running "node script/yarn" run as the yarn CLI
|
|
|
|
if (process.mainModule === module) {
|
2020-03-20 13:28:31 -07:00
|
|
|
const NPX_CMD = process.platform === 'win32' ? 'npx.cmd' : 'npx';
|
2019-06-05 16:30:39 -07:00
|
|
|
|
|
|
|
const child = cp.spawn(NPX_CMD, [`yarn@${YARN_VERSION}`, ...process.argv.slice(2)], {
|
2020-11-23 21:26:54 -08:00
|
|
|
stdio: 'inherit',
|
|
|
|
env: {
|
|
|
|
...process.env,
|
|
|
|
npm_config_yes: 'true'
|
|
|
|
}
|
2020-03-20 13:28:31 -07:00
|
|
|
});
|
2019-06-05 16:30:39 -07:00
|
|
|
|
2020-03-20 13:28:31 -07:00
|
|
|
child.on('exit', code => process.exit(code));
|
2019-06-05 16:30:39 -07:00
|
|
|
}
|