2023-09-26 03:39:17 -06:00
|
|
|
const path = require('path')
|
|
|
|
const child_process = require('child_process')
|
2021-02-19 08:07:53 -07:00
|
|
|
|
2023-09-26 03:39:17 -06:00
|
|
|
const root = path.resolve(__dirname, '..')
|
|
|
|
const args = process.argv.slice(2)
|
2021-02-19 08:07:53 -07:00
|
|
|
const options = {
|
|
|
|
cwd: process.cwd(),
|
|
|
|
env: process.env,
|
|
|
|
stdio: 'inherit',
|
|
|
|
encoding: 'utf-8',
|
2023-09-26 03:39:17 -06:00
|
|
|
}
|
2021-02-19 08:07:53 -07:00
|
|
|
|
2023-09-26 03:39:17 -06:00
|
|
|
let result
|
2021-02-19 08:07:53 -07:00
|
|
|
|
|
|
|
if (process.cwd() !== root || args.length) {
|
|
|
|
// We're not in the root of the project, or additional arguments were passed
|
|
|
|
// In this case, forward the command to `yarn`
|
2023-09-26 03:39:17 -06:00
|
|
|
result = child_process.spawnSync('yarn', args, options)
|
2021-02-19 08:07:53 -07:00
|
|
|
} else {
|
|
|
|
// If `yarn` is run without arguments, perform bootstrap
|
2023-09-26 03:39:17 -06:00
|
|
|
result = child_process.spawnSync('yarn', ['bootstrap'], options)
|
2021-02-19 08:07:53 -07:00
|
|
|
}
|
|
|
|
|
2023-09-26 03:39:17 -06:00
|
|
|
process.exitCode = result.status
|