| 
									
										
										
										
											2018-02-08 08:59:25 -08:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @license | 
					
						
							|  |  |  |  * Copyright Google Inc. All Rights Reserved. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Use of this source code is governed by an MIT-style license that can be | 
					
						
							|  |  |  |  * found in the LICENSE file at https://angular.io/license
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-06-25 11:22:23 -07:00
										 |  |  | try { | 
					
						
							|  |  |  |   require.resolve('shelljs'); | 
					
						
							|  |  |  | } catch (e) { | 
					
						
							|  |  |  |   // We are in an bazel managed external node_modules repository
 | 
					
						
							|  |  |  |   // and the resolve has failed because node did not preserve the symlink
 | 
					
						
							|  |  |  |   // when loading the script.
 | 
					
						
							|  |  |  |   // This can be fixed using the --preserve-symlinks-main flag which
 | 
					
						
							|  |  |  |   // is introduced in node 10.2.0
 | 
					
						
							|  |  |  |   console.warn( | 
					
						
							|  |  |  |       'Running postinstall-patches.js script in an external repository requires --preserve-symlinks-main node flag introduced in node 10.2.0'); | 
					
						
							|  |  |  |   process.exit(0); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-27 17:06:06 -05:00
										 |  |  | const {set, cd, sed, rm} = require('shelljs'); | 
					
						
							| 
									
										
										
										
											2018-03-08 20:23:33 -08:00
										 |  |  | const path = require('path'); | 
					
						
							| 
									
										
										
										
											2018-02-08 08:59:25 -08:00
										 |  |  | const log = console.log; | 
					
						
							| 
									
										
										
										
											2018-03-08 20:23:33 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-27 17:06:06 -05:00
										 |  |  | log('===== about to run the postinstall-patches.js script     ====='); | 
					
						
							| 
									
										
										
										
											2018-03-08 20:23:33 -08:00
										 |  |  | // fail on first error
 | 
					
						
							|  |  |  | set('-e'); | 
					
						
							|  |  |  | // print commands as being executed
 | 
					
						
							|  |  |  | set('-v'); | 
					
						
							|  |  |  | // jump to project root
 | 
					
						
							|  |  |  | cd(path.join(__dirname, '../')); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-27 17:06:06 -05:00
										 |  |  | /* EXAMPLE PATCH: | 
					
						
							| 
									
										
										
										
											2018-03-08 20:39:41 -08:00
										 |  |  | // https://github.com/ReactiveX/rxjs/pull/3302
 | 
					
						
							|  |  |  | // make node_modules/rxjs compilable with Typescript 2.7
 | 
					
						
							|  |  |  | // remove when we update to rxjs v6
 | 
					
						
							| 
									
										
										
										
											2018-02-08 08:59:25 -08:00
										 |  |  | log('\n# patch: reactivex/rxjs#3302 make node_modules/rxjs compilable with Typescript 2.7'); | 
					
						
							|  |  |  | sed('-i', '(\'response\' in xhr)', '(\'response\' in (xhr as any))', | 
					
						
							|  |  |  |     'node_modules/rxjs/src/observable/dom/AjaxObservable.ts'); | 
					
						
							| 
									
										
										
										
											2018-02-27 17:06:06 -05:00
										 |  |  | */ | 
					
						
							| 
									
										
										
										
											2018-03-08 20:39:41 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-27 17:06:06 -05:00
										 |  |  | log('===== finished running the postinstall-patches.js script ====='); |