diff --git a/modules/benchmarks/src/largeform/ng2/BUILD.bazel b/modules/benchmarks/src/largeform/ng2/BUILD.bazel index bdd8026773..17795aef4f 100644 --- a/modules/benchmarks/src/largeform/ng2/BUILD.bazel +++ b/modules/benchmarks/src/largeform/ng2/BUILD.bazel @@ -9,11 +9,7 @@ ng_module( name = "ng2", srcs = glob(["*.ts"]), generate_ve_shims = True, - # FIXME-IVY(FW-998): ExpressionTranslatorVisitor#visitWriteKeyExpr is not implemented. - tags = ["fixme-ivy-aot"], tsconfig = "//modules/benchmarks:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//modules/benchmarks/src:util_lib", "//packages/core", @@ -36,13 +32,11 @@ ts_devserver( "//tools/rxjs:rxjs_umd_modules", ], static_files = ["index.html"], - tags = ["fixme-ivy-aot"], deps = [":ng2"], ) benchmark_test( name = "perf", server = ":devserver", - tags = ["fixme-ivy-aot"], deps = ["//modules/benchmarks/src/largeform:tests_lib"], ) diff --git a/modules/benchmarks/src/largetable/ng2/BUILD.bazel b/modules/benchmarks/src/largetable/ng2/BUILD.bazel index 96653c41db..c45828fb28 100644 --- a/modules/benchmarks/src/largetable/ng2/BUILD.bazel +++ b/modules/benchmarks/src/largetable/ng2/BUILD.bazel @@ -11,8 +11,6 @@ ng_module( srcs = glob(["*.ts"]), generate_ve_shims = True, tsconfig = "//modules/benchmarks:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//modules/benchmarks/src:util_lib", "//modules/benchmarks/src/largetable:util_lib", diff --git a/modules/benchmarks/src/largetable/ng2_switch/BUILD.bazel b/modules/benchmarks/src/largetable/ng2_switch/BUILD.bazel index d5d97404cc..ca73d1c71a 100644 --- a/modules/benchmarks/src/largetable/ng2_switch/BUILD.bazel +++ b/modules/benchmarks/src/largetable/ng2_switch/BUILD.bazel @@ -8,8 +8,6 @@ ng_module( srcs = glob(["*.ts"]), generate_ve_shims = True, tsconfig = "//modules/benchmarks:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//modules/benchmarks/src:util_lib", "//modules/benchmarks/src/largetable:util_lib", diff --git a/modules/benchmarks/src/tree/ng2/BUILD.bazel b/modules/benchmarks/src/tree/ng2/BUILD.bazel index 9c48338d32..fb4c652fac 100644 --- a/modules/benchmarks/src/tree/ng2/BUILD.bazel +++ b/modules/benchmarks/src/tree/ng2/BUILD.bazel @@ -11,8 +11,6 @@ ng_module( srcs = glob(["*.ts"]), generate_ve_shims = True, tsconfig = "//modules/benchmarks:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//modules/benchmarks/src:util_lib", "//modules/benchmarks/src/tree:util_lib", diff --git a/modules/benchmarks/src/tree/ng2_switch/BUILD.bazel b/modules/benchmarks/src/tree/ng2_switch/BUILD.bazel index e485038cf2..4963ab9841 100644 --- a/modules/benchmarks/src/tree/ng2_switch/BUILD.bazel +++ b/modules/benchmarks/src/tree/ng2_switch/BUILD.bazel @@ -8,8 +8,6 @@ ng_module( srcs = glob(["*.ts"]), generate_ve_shims = True, tsconfig = "//modules/benchmarks:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//modules/benchmarks/src:util_lib", "//modules/benchmarks/src/tree:util_lib", diff --git a/modules/playground/src/animate/BUILD.bazel b/modules/playground/src/animate/BUILD.bazel index eef46ca684..a304367895 100644 --- a/modules/playground/src/animate/BUILD.bazel +++ b/modules/playground/src/animate/BUILD.bazel @@ -7,8 +7,6 @@ ng_module( srcs = glob(["**/*.ts"]), assets = glob(["**/*.css"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/animations", "//packages/core", diff --git a/modules/playground/src/async/BUILD.bazel b/modules/playground/src/async/BUILD.bazel index ca8189d1e0..c5479214cf 100644 --- a/modules/playground/src/async/BUILD.bazel +++ b/modules/playground/src/async/BUILD.bazel @@ -6,8 +6,6 @@ ng_module( name = "async", srcs = glob(["**/*.ts"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-browser", diff --git a/modules/playground/src/gestures/BUILD.bazel b/modules/playground/src/gestures/BUILD.bazel index cca9e29af6..d50dc9e077 100644 --- a/modules/playground/src/gestures/BUILD.bazel +++ b/modules/playground/src/gestures/BUILD.bazel @@ -7,8 +7,6 @@ ng_module( srcs = glob(["**/*.ts"]), assets = ["template.html"], tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-browser", diff --git a/modules/playground/src/hello_world/BUILD.bazel b/modules/playground/src/hello_world/BUILD.bazel index 975b74c8b3..52150bcbbd 100644 --- a/modules/playground/src/hello_world/BUILD.bazel +++ b/modules/playground/src/hello_world/BUILD.bazel @@ -6,8 +6,6 @@ ng_module( name = "hello_world", srcs = glob(["**/*.ts"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-browser", diff --git a/modules/playground/src/http/BUILD.bazel b/modules/playground/src/http/BUILD.bazel index 346929da09..3aced90ee0 100644 --- a/modules/playground/src/http/BUILD.bazel +++ b/modules/playground/src/http/BUILD.bazel @@ -6,8 +6,6 @@ ng_module( name = "http", srcs = glob(["**/*.ts"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/http", diff --git a/modules/playground/src/jsonp/BUILD.bazel b/modules/playground/src/jsonp/BUILD.bazel index 3d973bc159..0a399f0273 100644 --- a/modules/playground/src/jsonp/BUILD.bazel +++ b/modules/playground/src/jsonp/BUILD.bazel @@ -6,8 +6,6 @@ ng_module( name = "jsonp", srcs = glob(["**/*.ts"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/http", diff --git a/modules/playground/src/key_events/BUILD.bazel b/modules/playground/src/key_events/BUILD.bazel index d0e66df56d..2aa2d84b77 100644 --- a/modules/playground/src/key_events/BUILD.bazel +++ b/modules/playground/src/key_events/BUILD.bazel @@ -6,8 +6,6 @@ ng_module( name = "key_events", srcs = glob(["**/*.ts"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-browser", diff --git a/modules/playground/src/model_driven_forms/BUILD.bazel b/modules/playground/src/model_driven_forms/BUILD.bazel index a62e3d97ef..84b2ee4824 100644 --- a/modules/playground/src/model_driven_forms/BUILD.bazel +++ b/modules/playground/src/model_driven_forms/BUILD.bazel @@ -6,8 +6,6 @@ ng_module( name = "model_driven_forms", srcs = glob(["**/*.ts"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/forms", diff --git a/modules/playground/src/order_management/BUILD.bazel b/modules/playground/src/order_management/BUILD.bazel index cab3f58bb5..9b6eacf765 100644 --- a/modules/playground/src/order_management/BUILD.bazel +++ b/modules/playground/src/order_management/BUILD.bazel @@ -6,8 +6,6 @@ ng_module( name = "order_management", srcs = glob(["**/*.ts"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/forms", diff --git a/modules/playground/src/person_management/BUILD.bazel b/modules/playground/src/person_management/BUILD.bazel index f4b47cc3f4..883d5d7648 100644 --- a/modules/playground/src/person_management/BUILD.bazel +++ b/modules/playground/src/person_management/BUILD.bazel @@ -6,8 +6,6 @@ ng_module( name = "person_management", srcs = glob(["**/*.ts"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/forms", diff --git a/modules/playground/src/relative_assets/BUILD.bazel b/modules/playground/src/relative_assets/BUILD.bazel index b3551dd4c2..4606d92abe 100644 --- a/modules/playground/src/relative_assets/BUILD.bazel +++ b/modules/playground/src/relative_assets/BUILD.bazel @@ -13,8 +13,6 @@ ng_module( # need to disable resource inlining. inline_resources = False, tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-browser", diff --git a/modules/playground/src/routing/BUILD.bazel b/modules/playground/src/routing/BUILD.bazel index 2b9bced671..d343253915 100644 --- a/modules/playground/src/routing/BUILD.bazel +++ b/modules/playground/src/routing/BUILD.bazel @@ -7,8 +7,6 @@ ng_module( srcs = glob(["**/*.ts"]), assets = glob(["**/*.html"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-browser", diff --git a/modules/playground/src/sourcemap/BUILD.bazel b/modules/playground/src/sourcemap/BUILD.bazel index 560d281f82..65290945e4 100644 --- a/modules/playground/src/sourcemap/BUILD.bazel +++ b/modules/playground/src/sourcemap/BUILD.bazel @@ -10,8 +10,6 @@ ng_module( name = "sourcemap", srcs = glob(["**/*.ts"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-browser", diff --git a/modules/playground/src/svg/BUILD.bazel b/modules/playground/src/svg/BUILD.bazel index 19a8ad8df3..a3d3cb15d8 100644 --- a/modules/playground/src/svg/BUILD.bazel +++ b/modules/playground/src/svg/BUILD.bazel @@ -6,8 +6,6 @@ ng_module( name = "svg", srcs = glob(["**/*.ts"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-browser", diff --git a/modules/playground/src/template_driven_forms/BUILD.bazel b/modules/playground/src/template_driven_forms/BUILD.bazel index 73836c2444..4ac363e7ff 100644 --- a/modules/playground/src/template_driven_forms/BUILD.bazel +++ b/modules/playground/src/template_driven_forms/BUILD.bazel @@ -6,8 +6,6 @@ ng_module( name = "template_driven_forms", srcs = glob(["**/*.ts"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/forms", diff --git a/modules/playground/src/todo/BUILD.bazel b/modules/playground/src/todo/BUILD.bazel index 2c2d1c277b..ff03f33bdf 100644 --- a/modules/playground/src/todo/BUILD.bazel +++ b/modules/playground/src/todo/BUILD.bazel @@ -10,8 +10,6 @@ ng_module( "css/base.css", ], tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-browser", diff --git a/modules/playground/src/web_workers/animations/BUILD.bazel b/modules/playground/src/web_workers/animations/BUILD.bazel index 45a52f3b24..a2c0883afa 100644 --- a/modules/playground/src/web_workers/animations/BUILD.bazel +++ b/modules/playground/src/web_workers/animations/BUILD.bazel @@ -6,8 +6,6 @@ ng_module( name = "animations", srcs = glob(["**/*.ts"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/animations", "//packages/core", diff --git a/modules/playground/src/web_workers/images/BUILD.bazel b/modules/playground/src/web_workers/images/BUILD.bazel index 2c29ccb848..965b9ffff9 100644 --- a/modules/playground/src/web_workers/images/BUILD.bazel +++ b/modules/playground/src/web_workers/images/BUILD.bazel @@ -7,8 +7,6 @@ ng_module( srcs = glob(["**/*.ts"]), assets = ["image_demo.html"], tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-webworker", diff --git a/modules/playground/src/web_workers/input/BUILD.bazel b/modules/playground/src/web_workers/input/BUILD.bazel index 0a2e416494..5e690c2a91 100644 --- a/modules/playground/src/web_workers/input/BUILD.bazel +++ b/modules/playground/src/web_workers/input/BUILD.bazel @@ -6,8 +6,6 @@ ng_module( name = "input", srcs = glob(["**/*.ts"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-webworker", diff --git a/modules/playground/src/web_workers/kitchen_sink/BUILD.bazel b/modules/playground/src/web_workers/kitchen_sink/BUILD.bazel index 0d70842784..19953e699d 100644 --- a/modules/playground/src/web_workers/kitchen_sink/BUILD.bazel +++ b/modules/playground/src/web_workers/kitchen_sink/BUILD.bazel @@ -6,8 +6,6 @@ ng_module( name = "kitchen_sink", srcs = glob(["**/*.ts"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-webworker", diff --git a/modules/playground/src/web_workers/message_broker/BUILD.bazel b/modules/playground/src/web_workers/message_broker/BUILD.bazel index 4143694c6a..7f81951530 100644 --- a/modules/playground/src/web_workers/message_broker/BUILD.bazel +++ b/modules/playground/src/web_workers/message_broker/BUILD.bazel @@ -6,8 +6,6 @@ ng_module( name = "message_broker", srcs = glob(["**/*.ts"]), tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-webworker", diff --git a/modules/playground/src/web_workers/router/BUILD.bazel b/modules/playground/src/web_workers/router/BUILD.bazel index f3d245f439..624d46cc8b 100644 --- a/modules/playground/src/web_workers/router/BUILD.bazel +++ b/modules/playground/src/web_workers/router/BUILD.bazel @@ -7,8 +7,6 @@ ng_module( srcs = glob(["**/*.ts"]), assets = ["app.html"], tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-webworker", diff --git a/modules/playground/src/web_workers/todo/BUILD.bazel b/modules/playground/src/web_workers/todo/BUILD.bazel index dc7f61adea..d45dcd05f8 100644 --- a/modules/playground/src/web_workers/todo/BUILD.bazel +++ b/modules/playground/src/web_workers/todo/BUILD.bazel @@ -7,8 +7,6 @@ ng_module( srcs = glob(["**/*.ts"]), assets = ["todo.html"], tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/forms", diff --git a/modules/playground/src/zippy_component/BUILD.bazel b/modules/playground/src/zippy_component/BUILD.bazel index 31aef42f0e..dd1fbe8d4e 100644 --- a/modules/playground/src/zippy_component/BUILD.bazel +++ b/modules/playground/src/zippy_component/BUILD.bazel @@ -7,8 +7,6 @@ ng_module( srcs = glob(["**/*.ts"]), assets = ["app/zippy.html"], tsconfig = "//modules/playground:tsconfig-build.json", - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-browser", diff --git a/packages/bazel/src/ng_module.bzl b/packages/bazel/src/ng_module.bzl index 97415f442a..d70401f555 100644 --- a/packages/bazel/src/ng_module.bzl +++ b/packages/bazel/src/ng_module.bzl @@ -305,6 +305,9 @@ def _ngc_tsconfig(ctx, files, srcs, **kwargs): "enableSummariesForJit": is_legacy_ngc, "enableIvy": is_ivy_enabled(ctx), "fullTemplateTypeCheck": ctx.attr.type_check, + # TODO(alxhub/arick): template type-checking in g3 is currently disabled because of + # preexisting failures. Reenable once g3 is fixed: FW-1753 + "ivyTemplateTypeCheck": _is_bazel(), # In Google3 we still want to use the symbol factory re-exports in order to # not break existing apps inside Google. Unlike Bazel, Google3 does not only # enforce strict dependencies of source files, but also for generated files diff --git a/packages/examples/common/BUILD.bazel b/packages/examples/common/BUILD.bazel index d8859db445..5231f5809e 100644 --- a/packages/examples/common/BUILD.bazel +++ b/packages/examples/common/BUILD.bazel @@ -9,8 +9,6 @@ ng_module( exclude = ["**/*_spec.ts"], ), generate_ve_shims = True, - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/common", "//packages/core", diff --git a/packages/examples/core/BUILD.bazel b/packages/examples/core/BUILD.bazel index 6a93746061..fce592cd19 100644 --- a/packages/examples/core/BUILD.bazel +++ b/packages/examples/core/BUILD.bazel @@ -12,11 +12,10 @@ ng_module( ], ), generate_ve_shims = True, - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/animations", "//packages/core", + "//packages/forms", "//packages/platform-browser", "//packages/platform-browser-dynamic", "//packages/platform-browser/animations", diff --git a/packages/examples/core/ts/change_detect/change-detection.ts b/packages/examples/core/ts/change_detect/change-detection.ts index c84358046f..4b4b8b9bd0 100644 --- a/packages/examples/core/ts/change_detect/change-detection.ts +++ b/packages/examples/core/ts/change_detect/change-detection.ts @@ -6,7 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ /* tslint:disable:no-console */ -import {ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive} from '@angular/core'; +import {ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, NgModule} from '@angular/core'; +import {FormsModule} from '@angular/forms'; // #docregion mark-for-check @@ -42,7 +43,7 @@ class DataListProvider { `, }) class GiantList { - constructor(private ref: ChangeDetectorRef, private dataProvider: DataListProvider) { + constructor(private ref: ChangeDetectorRef, public dataProvider: DataListProvider) { ref.detach(); setInterval(() => { this.ref.detectChanges(); }, 5000); } @@ -70,8 +71,9 @@ class DataProvider { @Component({selector: 'live-data', inputs: ['live'], template: 'Data: {{dataProvider.data}}'}) class LiveData { - constructor(private ref: ChangeDetectorRef, private dataProvider: DataProvider) {} + constructor(private ref: ChangeDetectorRef, public dataProvider: DataProvider) {} + @Input() set live(value: boolean) { if (value) { this.ref.reattach(); @@ -94,3 +96,8 @@ class App1 { live = true; } // #enddocregion reattach + + +@NgModule({declarations: [AppComponent, GiantList, App, LiveData, App1], imports: [FormsModule]}) +class CoreExamplesModule { +} \ No newline at end of file diff --git a/packages/examples/forms/BUILD.bazel b/packages/examples/forms/BUILD.bazel index bf7d7146c7..21a199e34b 100644 --- a/packages/examples/forms/BUILD.bazel +++ b/packages/examples/forms/BUILD.bazel @@ -9,8 +9,6 @@ ng_module( exclude = ["**/*_spec.ts"], ), generate_ve_shims = True, - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/forms", diff --git a/packages/examples/router/activated-route/BUILD.bazel b/packages/examples/router/activated-route/BUILD.bazel index c7bd03e76f..f9dac5b28f 100644 --- a/packages/examples/router/activated-route/BUILD.bazel +++ b/packages/examples/router/activated-route/BUILD.bazel @@ -8,8 +8,6 @@ ng_module( ["**/*.ts"], ), generate_ve_shims = True, - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-browser", diff --git a/packages/examples/service-worker/push/BUILD.bazel b/packages/examples/service-worker/push/BUILD.bazel index d2cb6fc2ef..568ddf4354 100644 --- a/packages/examples/service-worker/push/BUILD.bazel +++ b/packages/examples/service-worker/push/BUILD.bazel @@ -9,8 +9,6 @@ ng_module( exclude = ["**/*_spec.ts"], ), generate_ve_shims = True, - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-browser", diff --git a/packages/examples/service-worker/registration-options/BUILD.bazel b/packages/examples/service-worker/registration-options/BUILD.bazel index ecd55c5e9d..7b451088ca 100644 --- a/packages/examples/service-worker/registration-options/BUILD.bazel +++ b/packages/examples/service-worker/registration-options/BUILD.bazel @@ -9,8 +9,6 @@ ng_module( exclude = ["**/*_spec.ts"], ), generate_ve_shims = True, - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "//packages/core", "//packages/platform-browser", diff --git a/packages/examples/upgrade/upgrade_example.bzl b/packages/examples/upgrade/upgrade_example.bzl index 25f218589c..e6b8a45a27 100644 --- a/packages/examples/upgrade/upgrade_example.bzl +++ b/packages/examples/upgrade/upgrade_example.bzl @@ -12,8 +12,6 @@ def create_upgrade_example_targets(name, srcs, e2e_srcs, entry_module, assets = name = "%s_sources" % name, srcs = srcs, generate_ve_shims = True, - # TODO: FW-1004 Type checking is currently not complete. - type_check = False, deps = [ "@npm//@types/angular", "@npm//@types/jasmine",