angular-cn/tools/@angular/tsc-wrapped
Chuck Jazdzewski 39a2c39cef feat(compiler): Added "strictMetadataEmit" option to ngc (#10951)
ngc can now validate metadata before emitting to verify it doesn't
contain an error symbol that will result in a runtime error if
it is used by the StaticReflector.

To enable this add the section,

  "angularCompilerOptions": {
    "strictMetadataEmit": true
  }

to the top level of the tsconfig.json file passed to ngc.

Enabled metadata validation for packages that are intended to be
used statically.
2016-08-22 17:37:48 -07:00
..
src feat(compiler): Added "strictMetadataEmit" option to ngc (#10951) 2016-08-22 17:37:48 -07:00
test feat(compiler): Added "strictMetadataEmit" option to ngc (#10951) 2016-08-22 17:37:48 -07:00
README.md build(ngc): run integration test hermetically 2016-05-27 17:21:35 -07:00
index.ts feat(i18n): pass translation config directly into ngc (#10622) 2016-08-12 14:45:36 -07:00
package.json chore(release): update package.jsons 2016-08-09 09:33:17 -07:00

README.md

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
$ cp tools/tsc-wrapped/package.json dist/tools/@angular/tsc-wrapped/
$ npm login [angular]
$ npm publish dist/tools/@angular/tsc-wrapped