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
26 lines
592 B
Python
26 lines
592 B
Python
load("//packages/bazel:index.bzl", "ng_module")
|
|
|
|
ng_module(
|
|
name = "test_module",
|
|
srcs = glob(["*.ts"]),
|
|
entry_point = "index.ts",
|
|
flat_module_out_file = "flat_module_filename",
|
|
module_name = "some_npm_module",
|
|
deps = ["//packages/core"],
|
|
)
|
|
|
|
load(":extract_flat_module_index.bzl", "extract_flat_module_index")
|
|
|
|
extract_flat_module_index(
|
|
name = "flat_module_index",
|
|
deps = [":test_module"],
|
|
)
|
|
|
|
load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test")
|
|
|
|
jasmine_node_test(
|
|
name = "test",
|
|
srcs = ["spec.js"],
|
|
data = [":flat_module_index"],
|
|
)
|