| 
									
										
										
										
											2016-05-24 10:53:48 -07:00
										 |  |  | # tsc-wrapped
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This package is an internal dependency used by @angular/compiler-cli. Please use that instead. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a wrapper around TypeScript's `tsc` program that allows us to hook in extra extensions. | 
					
						
							|  |  |  | TypeScript will eventually have an extensibility model for arbitrary extensions. We don't want | 
					
						
							|  |  |  | to constrain their design with baggage from a legacy implementation, so this wrapper only | 
					
						
							|  |  |  | supports specific extensions developed by the Angular team: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - tsickle down-levels Decorators into Annotations so they can be tree-shaken | 
					
						
							|  |  |  | - tsickle can also optionally produce Closure Compiler-friendly code | 
					
						
							|  |  |  | - ./collector.ts emits an extra `.metadata.json` file for every `.d.ts` file written,  | 
					
						
							|  |  |  |   which retains metadata about decorators that is lost in the TS emit | 
					
						
							|  |  |  | - @angular/compiler-cli extends this library to additionally generate template code | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## TypeScript Decorator metadata collector
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The `.d.ts` format does not preserve information about the Decorators applied to symbols. | 
					
						
							|  |  |  | Some tools, such as Angular 2 template compiler, need access to statically analyzable | 
					
						
							|  |  |  | information about Decorators, so this library allows programs to produce a `foo.metadata.json` | 
					
						
							|  |  |  | to accompany a `foo.d.ts` file, and preserves the information that was lost in the declaration | 
					
						
							|  |  |  | emit. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Releasing
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | $ $(npm bin)/tsc -p tools | 
					
						
							| 
									
										
										
										
											2016-05-27 16:22:16 -07:00
										 |  |  | $ cp tools/tsc-wrapped/package.json dist/tools/@angular/tsc-wrapped/ | 
					
						
							| 
									
										
										
										
											2016-05-25 13:25:26 -07:00
										 |  |  | $ npm login [angular] | 
					
						
							| 
									
										
										
										
											2016-05-27 16:22:16 -07:00
										 |  |  | $ npm publish dist/tools/@angular/tsc-wrapped | 
					
						
							| 
									
										
										
										
											2016-05-24 10:53:48 -07:00
										 |  |  | ``` |