build: expose flatModuleOutFile option on ng_module (#22814)

This lets projects like Material change ng_package "bundle index" files to non-conflicting paths

Currently packages like @angular/core ship with the generated metadata
in a path like 'core.js' which overwrites one of the inputs.

Angular material puts the generated file in a path like 'index.js'

Either way these files generated by ng_module rules have the potential
to collide with inputs given by the user, which results in an error.

Instead, give users the freedom to choose a different non-conflicting name.

Also this refactors the ng_package rule, removing the redundant
secondary_entry_points attribute.

Instead, we assume that any ng_module in the deps with a module_name
attribute is a secondary entry point.

PR Close #22814
This commit is contained in:
Alex Eagle
2018-03-15 18:04:34 -07:00
committed by Igor Minar
parent 4648597d14
commit 689f351092
28 changed files with 1110 additions and 324 deletions

View File

@ -11,7 +11,6 @@ ts_library(
],
),
module_name = "@angular/compiler",
# module_root = "index.d.ts",
)
ng_package(
@ -22,9 +21,6 @@ ng_package(
],
entry_point = "packages/compiler/compiler.js",
include_devmode_srcs = True,
secondary_entry_points = [
"testing",
],
deps = [
":compiler",
"//packages/compiler/testing",