feat(bazel): add an ng_package rule (#22221)
This produces a directory following the Angular Package layout spec. Includes integration test coverage by making a minimal ng_package in integration/bazel. Unit tests verify the content of the @angular/core and @angular/common packages. This doesn't totally match our current output, but is good enough to unblock some early adopters. It re-uses logic from the rollup_bundle rule in rules_nodejs. It should also eventually have the .pack and .publish secondary targets like npm_package rule. PR Close #22221
This commit is contained in:

committed by
Victor Berchet

parent
1dcbc12fd3
commit
b43b164a61
@ -2,25 +2,15 @@ package(default_visibility = ["//visibility:public"])
|
||||
|
||||
filegroup(
|
||||
name = "node_modules",
|
||||
# Workaround https://github.com/bazelbuild/bazel/issues/4242
|
||||
# Can't just glob(["node_modules/**/*.{js,d.ts,json}"])
|
||||
srcs = glob(["/".join([
|
||||
"node_modules",
|
||||
pkg,
|
||||
"**",
|
||||
ext,
|
||||
]) for pkg in [
|
||||
"@angular",
|
||||
"@types",
|
||||
"bytebuffer",
|
||||
"protobufjs",
|
||||
"reflect-metadata",
|
||||
"tsickle",
|
||||
"typescript",
|
||||
"zone.js",
|
||||
] for ext in [
|
||||
"*.js",
|
||||
"*.json",
|
||||
"*.d.ts",
|
||||
]]),
|
||||
srcs = glob(
|
||||
["node_modules/**/*"],
|
||||
# Exclude directories that commonly contain filenames which are
|
||||
# illegal bazel labels
|
||||
exclude = [
|
||||
# e.g. node_modules/adm-zip/test/assets/attributes_test/New folder/hidden.txt
|
||||
"node_modules/**/test/**",
|
||||
# e.g. node_modules/xpath/docs/function resolvers.md
|
||||
"node_modules/**/docs/**",
|
||||
],
|
||||
),
|
||||
)
|
||||
|
Reference in New Issue
Block a user