build: update to rules_typescript 0.25.1 (#28896)

* build_bazel_rules_typescript renamed to npm_bazel_typescript
* build_bazel_rules_karma renamed to npm_bazel_karma
* browser_repositories.bzl removed and now using @npm_bazel_karma//:browser_repositories.bzl
* includes some fixes for future ts_library devmode es2015 support but some failure still remain when devmode is es2015 so this PR keeps it as es5 using the bazelOptions.devmodeTargetOverride tsconfig setting

PR Close #28896
This commit is contained in:
Greg Magolan
2019-02-08 14:01:51 -08:00
committed by Ben Lesh
parent d0018e6bf6
commit d91ecd2c8b
89 changed files with 231 additions and 499 deletions

View File

@ -282,16 +282,20 @@ export interface MetadataFactory<T> {
}
function makeMetadataFactory<T>(name: string, props?: (...args: any[]) => T): MetadataFactory<T> {
const factory: any = (...args: any[]) => {
// This must be declared as a function, not a fat arrow, so that ES2015 devmode produces code
// that works with the static_reflector.ts in the ViewEngine compiler.
// In particular, `_registerDecoratorOrConstructor` assumes that the value returned here can be
// new'ed.
function factory(...args: any[]) {
const values = props ? props(...args) : {};
return {
ngMetadataName: name,
...values,
};
};
factory.isTypeOf = (obj: any) => obj && obj.ngMetadataName === name;
factory.ngMetadataName = name;
return factory;
}
(factory as any).isTypeOf = (obj: any) => obj && obj.ngMetadataName === name;
(factory as any).ngMetadataName = name;
return factory as any;
}
export interface Route {