mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
This adds `generate_api_docs` targets to all of the packages for which we publish api reference docs. One known issue here is that any type information that comes from another package (e.g. router depending on core) currently resolve to `any` because the other sources are not available in the program. This can be tackled in a follow-up commit. This commit also updates the install patch for `@angular/build-tools` to use the local version of compiler-cli. PR Close #52034
140 lines
4.1 KiB
Text
140 lines
4.1 KiB
Text
load("@build_bazel_rules_nodejs//:index.bzl", "generated_file_test")
|
|
load("//tools:defaults.bzl", "api_golden_test", "api_golden_test_npm_package", "ng_module", "ng_package", "tsec_test")
|
|
load("//packages/common/locales:index.bzl", "generate_base_locale_file")
|
|
load("@npm//@angular/build-tooling/bazel/api-gen:generate_api_docs.bzl", "generate_api_docs")
|
|
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
# This generates the `src/i18n/locale_en.ts` file through the `generate-locales` tool. Since
|
|
# the base locale file is checked-in for Google3, we add a `generated_file_test` to ensure
|
|
# the checked-in file is up-to-date. To disambiguate from the test, we use a more precise target
|
|
# name here.
|
|
generate_base_locale_file(
|
|
name = "base_locale_file_generated",
|
|
output_file = "base_locale_file_generated.ts",
|
|
)
|
|
|
|
generated_file_test(
|
|
name = "base_locale_file",
|
|
src = "src/i18n/locale_en.ts",
|
|
generated = ":base_locale_file_generated",
|
|
)
|
|
|
|
ng_module(
|
|
name = "core",
|
|
srcs = glob(
|
|
[
|
|
"*.ts",
|
|
"src/**/*.ts",
|
|
],
|
|
),
|
|
deps = [
|
|
"//packages:types",
|
|
"//packages/core/primitives/signals",
|
|
"//packages/core/src/compiler",
|
|
"//packages/core/src/di/interface",
|
|
"//packages/core/src/interface",
|
|
"//packages/core/src/reflection",
|
|
"//packages/core/src/util",
|
|
"//packages/zone.js/lib:zone_d_ts",
|
|
"@npm//rxjs",
|
|
],
|
|
)
|
|
|
|
tsec_test(
|
|
name = "tsec_test",
|
|
target = "core",
|
|
tsconfig = "//packages:tsec_config",
|
|
)
|
|
|
|
ng_package(
|
|
name = "npm_package",
|
|
package_name = "@angular/core",
|
|
srcs = [
|
|
"package.json",
|
|
],
|
|
nested_packages = [
|
|
"//packages/core/schematics:npm_package",
|
|
],
|
|
tags = [
|
|
"release-with-framework",
|
|
],
|
|
# Do not add more to this list.
|
|
# Dependencies on the full npm_package cause long re-builds.
|
|
visibility = [
|
|
"//aio:__pkg__",
|
|
"//aio/content/examples:__subpackages__",
|
|
"//aio/tools/examples:__pkg__",
|
|
"//integration:__subpackages__",
|
|
"//packages/bazel/test/ng_package:__pkg__",
|
|
"//packages/compiler-cli/integrationtest:__pkg__",
|
|
"//packages/compiler-cli/test:__pkg__",
|
|
"//packages/compiler-cli/test/diagnostics:__pkg__",
|
|
"//packages/compiler-cli/test/transformers:__pkg__",
|
|
"//packages/compiler/test:__pkg__",
|
|
"//packages/language-service/test:__pkg__",
|
|
],
|
|
deps = [
|
|
":core",
|
|
"//packages/core/primitives/signals",
|
|
"//packages/core/rxjs-interop",
|
|
"//packages/core/testing",
|
|
],
|
|
)
|
|
|
|
api_golden_test_npm_package(
|
|
name = "core_api",
|
|
data = [
|
|
":npm_package",
|
|
"//goldens:public-api",
|
|
],
|
|
golden_dir = "angular/goldens/public-api/core",
|
|
npm_package = "angular/packages/core/npm_package",
|
|
)
|
|
|
|
api_golden_test(
|
|
name = "ng_global_utils_api",
|
|
data = [
|
|
"//goldens:public-api",
|
|
"//packages/core",
|
|
# Additional targets the entry-point indirectly resolves `.d.ts` source files from.
|
|
# These are transitive to `:core`, but need to be listed explicitly here as only
|
|
# transitive `JSModule` information is collected (missing the type definitions).
|
|
"//packages/core/src/compiler",
|
|
"//packages/core/src/di/interface",
|
|
"//packages/core/src/interface",
|
|
"//packages/core/src/reflection",
|
|
"//packages/core/src/util",
|
|
],
|
|
entry_point = "angular/packages/core/src/render3/global_utils_api.d.ts",
|
|
golden = "angular/goldens/public-api/core/global_utils.md",
|
|
)
|
|
|
|
api_golden_test(
|
|
name = "core_errors",
|
|
data = [
|
|
"//goldens:public-api",
|
|
"//packages/core",
|
|
],
|
|
entry_point = "angular/packages/core/src/errors.d.ts",
|
|
golden = "angular/goldens/public-api/core/errors.md",
|
|
)
|
|
|
|
filegroup(
|
|
name = "files_for_docgen",
|
|
srcs = glob([
|
|
"*.ts",
|
|
"src/**/*.ts",
|
|
]) + [
|
|
"PACKAGE.md",
|
|
"global/PACKAGE.md",
|
|
"global/index.ts",
|
|
],
|
|
)
|
|
|
|
generate_api_docs(
|
|
name = "core_docs",
|
|
srcs = [":files_for_docgen"],
|
|
entry_point = ":index.ts",
|
|
module_name = "@angular/core",
|
|
)
|