load("//tools:defaults.bzl", "api_golden_test_npm_package", "generate_api_docs", "ng_package", "ts_library") load("//packages/bazel:index.bzl", "types_bundle") package(default_visibility = ["//visibility:public"]) ts_library( name = "localize", srcs = glob( [ "*.ts", "src/**/*.ts", ], ), module_name = "@angular/localize", deps = [ "//packages/localize/src/localize", "//packages/localize/src/utils", ], ) types_bundle( name = "api_type_definitions", entry_point = "localize.d.ts", output_name = "localize/index.d.ts", deps = [":localize"], ) ng_package( name = "npm_package", package_name = "@angular/localize", srcs = [ "package.json", ":api_type_definitions", ], nested_packages = [ "//packages/localize/schematics:npm_package", "//packages/localize/tools:npm_package", ], skip_type_bundling = [ # For the primary entry-point we disable automatic type bundling because API extractor # does not properly handle module augmentation. # To workaround this issue, type bundling is done as a separate step for all types # except the main `index.d.ts` file which contains the module augmentation. The main # file is reference in the package.json and also imports the bundle types. The bundled # types are created via `api_type_definitions` above. # TODO: Remove once https://github.com/microsoft/rushstack/issues/2090 is solved. "", ], tags = [ "release-with-framework", ], deps = [ ":localize", "//packages/localize/init", ], ) api_golden_test_npm_package( name = "localize_api", data = [ ":npm_package", "//goldens:public-api", ], golden_dir = "angular/goldens/public-api/localize", npm_package = "angular/packages/localize/npm_package", # The logic for the localize function is exported in the primary entry-point, but users # are not supposed to import it from there. We still want to guard these exports though. strip_export_pattern = "^ɵ(?!.localize|LocalizeFn|TranslateFn)", # The tool entry-point uses namespace aliases and API extractor needs to be # able to resolve `@babel/core` to fully understand the `types` re-export/alias. types = ["@npm//@types/babel__core"], ) filegroup( name = "files_for_docgen", srcs = glob([ "*.ts", "src/**/*.ts", ]) + ["PACKAGE.md"], ) generate_api_docs( name = "localize_docs", srcs = [ ":files_for_docgen", "//packages/localize/src/utils:files_for_docgen", ], entry_point = ":index.ts", module_name = "@angular/localize", )