angular/packages/language-service/BUILD.bazel
Andrew Scott a9ca90fc11 refactor: fix types extraction for private (#67898)
fixes types extraction for private entrypoint of language service

PR Close #67898
2026-03-26 21:32:20 +00:00

98 lines
2 KiB
Text

load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
load("//tools:defaults.bzl", "extract_types", "npm_package", "ts_config", "ts_project")
package(default_visibility = ["//visibility:public"])
ts_config(
name = "tsconfig_build",
src = "tsconfig.json",
deps = [
"//:node_modules/@types/node",
"//packages:tsconfig_build",
],
)
ts_project(
name = "api",
srcs = [
"api.ts",
],
deps = [
"//:node_modules/typescript",
],
)
ts_project(
name = "private",
srcs = [
"private.ts",
],
deps = [
"//packages/language-service/src",
],
)
ts_project(
name = "factory_lib",
srcs = ["plugin-factory.ts"],
deps = [
":api",
"//:node_modules/typescript",
],
)
esbuild(
name = "factory_bundle",
entry_point = ":plugin-factory.ts",
external = ["@angular/language-service/bundles/language-service.js"],
format = "cjs",
deps = [":factory_lib"],
)
esbuild(
name = "api_bundle",
entry_point = ":api.ts",
format = "cjs",
deps = [":api"],
)
esbuild(
name = "private_bundle",
entry_point = ":private.ts",
external = [
"typescript",
"@angular/compiler",
"@angular/compiler-cli",
"@angular/compiler-cli/*",
],
format = "cjs",
platform = "node",
deps = [":private"],
)
extract_types(
name = "private_type_definitions",
deps = [":private"],
)
npm_package(
srcs = [
"index.d.ts",
"index.js",
"package.json",
":api_bundle",
":api_types",
":factory_bundle",
":factory_lib_types",
":private_bundle",
":private_type_definitions",
"//packages/language-service/bundles:language-service.js",
],
package = "@angular/language-service",
tags = [
"release-with-framework",
],
# Do not add more to this list.
# Dependencies on the full npm_package cause long re-builds.
visibility = [],
)