| 
									
										
										
										
											2023-09-26 11:39:17 +02:00
										 |  |  | const path = require('path') | 
					
						
							|  |  |  | const child_process = require('child_process') | 
					
						
							| 
									
										
										
										
											2021-02-19 16:07:53 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-26 11:39:17 +02:00
										 |  |  | const root = path.resolve(__dirname, '..') | 
					
						
							|  |  |  | const args = process.argv.slice(2) | 
					
						
							| 
									
										
										
										
											2021-02-19 16:07:53 +01:00
										 |  |  | const options = { | 
					
						
							|  |  |  |   cwd: process.cwd(), | 
					
						
							|  |  |  |   env: process.env, | 
					
						
							|  |  |  |   stdio: 'inherit', | 
					
						
							|  |  |  |   encoding: 'utf-8', | 
					
						
							| 
									
										
										
										
											2023-09-26 11:39:17 +02:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2021-02-19 16:07:53 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-26 11:39:17 +02:00
										 |  |  | let result | 
					
						
							| 
									
										
										
										
											2021-02-19 16:07:53 +01: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 11:39:17 +02:00
										 |  |  |   result = child_process.spawnSync('yarn', args, options) | 
					
						
							| 
									
										
										
										
											2021-02-19 16:07:53 +01:00
										 |  |  | } else { | 
					
						
							|  |  |  |   // If `yarn` is run without arguments, perform bootstrap
 | 
					
						
							| 
									
										
										
										
											2023-09-26 11:39:17 +02:00
										 |  |  |   result = child_process.spawnSync('yarn', ['bootstrap'], options) | 
					
						
							| 
									
										
										
										
											2021-02-19 16:07:53 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-26 11:39:17 +02:00
										 |  |  | process.exitCode = result.status |