angular/adev/shared-docs/pipeline/api-gen/rendering/BUILD.bazel
Matthieu Riegler 31c689a5f4 docs(docs-infra): highlight & parse api descriptions. (#63536)
The prevent future regression of this, this commit introduces additional tests.

PR Close #63536
2025-09-02 16:49:10 +00:00

77 lines
1.9 KiB
Text

load("//adev/shared-docs:defaults.bzl", "esbuild", "js_binary", "ts_project")
package(default_visibility = ["//adev/shared-docs/pipeline/api-gen:__subpackages__"])
esbuild(
name = "bin",
entry_point = ":index.mts",
external = [
"jsdom",
"playwright-core",
],
format = "esm",
output = "bin.mjs",
platform = "node",
target = "es2022",
deps = [
":render_api_to_html_lib",
],
)
ts_project(
name = "render_api_to_html_lib",
srcs = glob(
[
"**/*.mts",
"**/*.tsx",
],
exclude = [
"entities.mts",
],
),
deps = [
":entities",
"//adev:node_modules/marked",
"//adev:node_modules/preact",
"//adev:node_modules/preact-render-to-string",
"//adev:node_modules/prettier",
"//adev:node_modules/shiki",
"//adev/shared-docs/pipeline/shared:linking",
"//adev/shared-docs/pipeline/shared:shiki",
"//adev/shared-docs/pipeline/shared/marked",
"//adev/shared-docs/pipeline/shared/regions",
],
)
ts_project(
name = "entities",
srcs = [
"entities.mts",
],
visibility = [
"//adev/shared-docs/pipeline/api-gen/rendering:__pkg__",
"//docs/pipeline/guides:__pkg__",
],
)
# Action binary for the api_gen bazel rule.
js_binary(
name = "render_api_to_html",
data = [
":render_api_to_html_lib",
],
entry_point = "bin.mjs",
# Do not use the NodeJS linker because:
# - it's brittle and causes race conditions on Windows.
# - it requires additional work to setup the runtime linker.
fixed_args = [
"--node_options=--preserve-symlinks-main",
],
visibility = ["//visibility:public"],
)
# Expose the sources in the dev-infra NPM package.
filegroup(
name = "files",
srcs = glob(["**/*"]),
)