load("@build_bazel_rules_nodejs//:index.bzl", "generated_file_test") load("@npm//@angular/build-tooling/bazel/api-gen:generate_api_docs.bzl", "generate_api_docs") load("//packages/common/locales:index.bzl", "generate_base_locale_file") load("//tools:defaults.bzl", "api_golden_test", "api_golden_test_npm_package", "ng_module", "ng_package", "tsec_test") 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 = [ "//adev:__pkg__", "//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", strip_export_pattern = "^ɵ(?!.*ApiGuard)", ) 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 = [ "//packages:common_files_and_deps_for_docs", ], entry_point = ":index.ts", module_name = "@angular/core", )