build: move all rule/macro loading into adev/defaults.bzl and fix intellisense loading (#62627)

Move all of our loading into a local defaults.bzl file instead of mixed loading via tools/defaults and adev/defaults

PR Close #62627
This commit is contained in:
Joey Perrott
2025-07-14 14:45:06 +00:00
committed by Andrew Kushnir
parent 5eeb9f3e7e
commit e8c5603126
53 changed files with 88 additions and 149 deletions
+3 -27
View File
@@ -1,12 +1,8 @@
load("@aspect_bazel_lib//lib:copy_to_directory.bzl", "copy_to_directory")
load("@aspect_rules_ts//ts:defs.bzl", rules_js_tsconfig = "ts_config")
load("//adev/shared-docs:defaults.bzl", "ng_project")
load("//tools:defaults.bzl", "pkg_npm")
load("//tools:defaults2.bzl", "ng_package")
load("//adev/shared-docs:defaults.bzl", "ng_package", "ng_project", "ts_config")
package(default_visibility = ["//visibility:public"])
rules_js_tsconfig(
ts_config(
name = "tsconfig_build",
src = "tsconfig.json",
visibility = [
@@ -14,7 +10,7 @@ rules_js_tsconfig(
],
)
rules_js_tsconfig(
ts_config(
name = "tsconfig_test",
src = "tsconfig-test.json",
visibility = [
@@ -70,23 +66,3 @@ ng_package(
":docs_rjs",
],
)
copy_to_directory(
name = "pkg_middle",
srcs = [
":pkg",
],
replace_prefixes = {
"pkg": "",
},
)
# Temporarily include this intermediate `pkg_npm` so that the rest of the adev tooling is able to
# properly performing linking using information from rules_nodejs toolchain providers.
pkg_npm(
name = "npm_package",
package_name = "@angular/docs",
nested_packages = [
":pkg_middle",
],
)
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ng_project", "ts_project", "zoneless_web_test_suite")
load("//tools:defaults2.bzl", "sass_binary")
load("//adev/shared-docs:defaults.bzl", "ng_project", "sass_binary", "ts_project", "zoneless_web_test_suite")
package(default_visibility = ["//visibility:private"])
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ng_project", "ts_project", "zoneless_web_test_suite")
load("//tools:defaults2.bzl", "sass_binary")
load("//adev/shared-docs:defaults.bzl", "ng_project", "sass_binary", "ts_project", "zoneless_web_test_suite")
package(default_visibility = ["//visibility:private"])
+1 -2
View File
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ng_project")
load("//tools:defaults2.bzl", "sass_binary")
load("//adev/shared-docs:defaults.bzl", "ng_project", "sass_binary")
package(default_visibility = ["//visibility:private"])
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ng_project", "ts_project", "zoneless_web_test_suite")
load("//tools:defaults2.bzl", "sass_binary")
load("//adev/shared-docs:defaults.bzl", "ng_project", "sass_binary", "ts_project", "zoneless_web_test_suite")
package(default_visibility = ["//visibility:private"])
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ng_project", "ts_project", "zoneless_web_test_suite")
load("//tools:defaults2.bzl", "sass_binary")
load("//adev/shared-docs:defaults.bzl", "ng_project", "sass_binary", "ts_project", "zoneless_web_test_suite")
package(default_visibility = ["//visibility:private"])
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ng_project", "ts_project", "zoneless_web_test_suite")
load("//tools:defaults2.bzl", "sass_binary")
load("//adev/shared-docs:defaults.bzl", "ng_project", "sass_binary", "ts_project", "zoneless_web_test_suite")
package(default_visibility = ["//visibility:private"])
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ng_project", "ts_project", "zoneless_web_test_suite")
load("//tools:defaults2.bzl", "sass_binary")
load("//adev/shared-docs:defaults.bzl", "ng_project", "sass_binary", "ts_project", "zoneless_web_test_suite")
package(default_visibility = ["//visibility:private"])
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ng_project", "ts_project", "zoneless_web_test_suite")
load("//tools:defaults2.bzl", "sass_binary")
load("//adev/shared-docs:defaults.bzl", "ng_project", "sass_binary", "ts_project", "zoneless_web_test_suite")
package(default_visibility = ["//visibility:private"])
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ng_project", "ts_project", "zoneless_web_test_suite")
load("//tools:defaults2.bzl", "sass_binary")
load("//adev/shared-docs:defaults.bzl", "ng_project", "sass_binary", "ts_project", "zoneless_web_test_suite")
package(default_visibility = ["//visibility:private"])
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ng_project", "ts_project", "zoneless_web_test_suite")
load("//tools:defaults2.bzl", "sass_binary")
load("//adev/shared-docs:defaults.bzl", "ng_project", "sass_binary", "ts_project", "zoneless_web_test_suite")
package(default_visibility = ["//visibility:private"])
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ng_project", "ts_project", "zoneless_web_test_suite")
load("//tools:defaults2.bzl", "sass_binary")
load("//adev/shared-docs:defaults.bzl", "ng_project", "sass_binary", "ts_project", "zoneless_web_test_suite")
package(default_visibility = ["//visibility:private"])
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ng_project", "ts_project", "zoneless_web_test_suite")
load("//tools:defaults2.bzl", "sass_binary")
load("//adev/shared-docs:defaults.bzl", "ng_project", "sass_binary", "ts_project", "zoneless_web_test_suite")
package(default_visibility = ["//visibility:private"])
+25
View File
@@ -1,10 +1,35 @@
load("@aspect_bazel_lib//lib:copy_to_bin.bzl", _copy_to_bin = "copy_to_bin")
load("@aspect_bazel_lib//lib:copy_to_directory.bzl", _copy_to_directory = "copy_to_directory")
load("@aspect_rules_esbuild//esbuild:defs.bzl", _esbuild = "esbuild")
load("@aspect_rules_js//js:defs.bzl", _js_binary = "js_binary", _js_library = "js_library", _js_run_binary = "js_run_binary")
load("@devinfra//bazel/private:path_relative_to_label.bzl", _path_relative_to_label = "path_relative_to_label")
load(
"//tools:defaults2.bzl",
_jasmine_test = "jasmine_test",
_ng_package = "ng_package",
_ng_project = "ng_project",
_sass_binary = "sass_binary",
_sass_library = "sass_library",
_ts_config = "ts_config",
_ts_project = "ts_project",
_zoneless_jasmine_test = "zoneless_jasmine_test",
_zoneless_web_test_suite = "zoneless_web_test_suite",
)
ts_config = _ts_config
ng_package = _ng_package
jasmine_test = _jasmine_test
sass_binary = _sass_binary
sass_library = _sass_library
copy_to_bin = _copy_to_bin
copy_to_directory = _copy_to_directory
esbuild = _esbuild
js_binary = _js_binary
js_library = _js_library
js_run_binary = _js_run_binary
path_relative_to_label = _path_relative_to_label
zoneless_jasmine_test = _zoneless_jasmine_test
def ts_project(name, tsconfig = None, testonly = False, enable_runtime_rnjs_interop = False, **kwargs):
if tsconfig == None:
if native.package_name().startswith("adev/shared-docs"):
+1 -1
View File
@@ -1,4 +1,4 @@
load("@aspect_rules_js//js:defs.bzl", "js_binary", "js_library")
load("//adev/shared-docs:defaults.bzl", "js_binary", "js_library")
package(default_visibility = ["//adev/shared-docs/pipeline:__subpackages__"])
+1 -1
View File
@@ -1,4 +1,4 @@
load("@devinfra//bazel/private:path_relative_to_label.bzl", "path_relative_to_label")
load("//adev/shared-docs:defaults.bzl", "path_relative_to_label")
def _generate_guides(ctx):
"""Implementation of the markdown rule"""
@@ -1,5 +1,4 @@
load("@aspect_rules_js//js:defs.bzl", "js_binary")
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//adev/shared-docs:defaults.bzl", "js_binary", "ts_project")
package(default_visibility = ["//adev/shared-docs/pipeline/api-gen:__subpackages__"])
@@ -1,6 +1,5 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
load("//adev/shared-docs/pipeline/api-gen/extraction:extract_api_to_json.bzl", "extract_api_to_json")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
package(default_visibility = ["//adev/shared-docs/pipeline/api-gen:__subpackages__"])
@@ -1,6 +1,4 @@
load("@angular//tools/esm-interop:index.bzl", "nodejs_binary")
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//adev/shared-docs:defaults.bzl", "esbuild", "js_binary", "ts_project")
package(default_visibility = ["//adev/shared-docs/pipeline/api-gen:__subpackages__"])
@@ -30,19 +28,13 @@ ts_project(
],
)
# Action binary for the api_gen bazel rule.
nodejs_binary(
js_binary(
name = "generate_api_manifest",
data = [
":bin",
"@angular//packages/compiler-cli",
],
entry_point = "bin.mjs",
# Note: Using the linker here as we need it for ESM. The linker is not
# super reliably when running concurrently on Windows- but we have existing
# actions using the linker. An alternative would be to:
# - bundle the Angular compiler into a CommonJS bundle
# - use the patched resolution- but also patch the ESM imports (similar to how FW does it).
visibility = ["//visibility:public"],
)
@@ -1,7 +1,6 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
load("//adev/shared-docs/pipeline/api-gen/extraction:extract_api_to_json.bzl", "extract_api_to_json")
load("//adev/shared-docs/pipeline/api-gen/manifest:generate_api_manifest.bzl", "generate_api_manifest")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
generate_api_manifest(
name = "test",
@@ -1,6 +1,4 @@
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
load("@aspect_rules_js//js:defs.bzl", "js_binary")
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//adev/shared-docs:defaults.bzl", "esbuild", "js_binary", "ts_project")
package(default_visibility = ["//adev/shared-docs/pipeline/api-gen:__subpackages__"])
@@ -1,6 +1,5 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
load("//adev/shared-docs/pipeline/api-gen/rendering:render_api_to_html.bzl", "render_api_to_html")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
render_api_to_html(
name = "test",
@@ -13,6 +13,5 @@ export default {
import {createRequire as __cjsCompatRequire} from 'module';
const require = __cjsCompatRequire(import.meta.url);`,
},
tsconfig: import.meta.dirname + '/../tsconfig.json',
resolveExtensions: ['.js', '.mjs'],
};
@@ -1,5 +1,4 @@
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//adev/shared-docs:defaults.bzl", "esbuild", "ts_project")
package(default_visibility = ["//visibility:public"])
@@ -31,9 +30,6 @@ filegroup(
esbuild(
name = "bundle",
srcs = [
"//adev/shared-docs:tsconfig_build",
],
config = "//adev/shared-docs/pipeline:esbuild-config",
entry_point = ":index.mts",
external = [
@@ -44,6 +40,7 @@ esbuild(
output = "previews.mjs",
platform = "node",
target = "es2022",
tsconfig = "//adev/shared-docs:tsconfig_build",
visibility = ["//visibility:public"],
deps = [
"//adev/shared-docs/pipeline/examples/previews:index_rjs",
@@ -1,5 +1,4 @@
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//adev/shared-docs:defaults.bzl", "esbuild", "ts_project")
package(default_visibility = ["//visibility:public"])
@@ -41,9 +40,6 @@ ts_project(
esbuild(
name = "bundle",
srcs = [
"//adev/shared-docs:tsconfig_build",
],
config = "//adev/shared-docs/pipeline:esbuild-config",
entry_point = ":index.mts",
# JSDOM should not be bundled because it has workers and dynamic imports.
@@ -52,6 +48,7 @@ esbuild(
output = "stackblitz.mjs",
platform = "node",
target = "es2022",
tsconfig = "//adev/shared-docs:tsconfig_build",
visibility = ["//visibility:public"],
deps = [
":index_rjs",
@@ -1,5 +1,4 @@
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//adev/shared-docs:defaults.bzl", "esbuild", "ts_project")
package(default_visibility = ["//visibility:public"])
@@ -41,15 +40,13 @@ ts_project(
esbuild(
name = "bundle",
srcs = [
"//adev/shared-docs:tsconfig_build",
],
config = "//adev/shared-docs/pipeline:esbuild-config",
entry_point = ":index.mts",
format = "esm",
output = "zip.mjs",
platform = "node",
target = "es2022",
tsconfig = "//adev/shared-docs:tsconfig_build",
visibility = ["//visibility:public"],
deps = [
":index_rjs",
+1 -2
View File
@@ -1,5 +1,4 @@
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//adev/shared-docs:defaults.bzl", "esbuild", "ts_project")
esbuild(
name = "guides",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "docs-alert",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "docs-callout",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "docs-card-container",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "docs-card",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "docs-code-block",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "docs-code-multifile",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "docs-code",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "docs-decorative-header",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "docs-pill-row",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "docs-pill",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "docs-step",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "docs-video",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "docs-workflow",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "heading",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "image",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "link",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "list",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "unit_test_lib",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "table",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
ts_project(
name = "text",
@@ -1,5 +1,4 @@
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//adev/shared-docs:defaults.bzl", "esbuild", "ts_project")
package(default_visibility = ["//visibility:public"])
@@ -38,15 +37,13 @@ ts_project(
esbuild(
name = "bundle",
srcs = [
"//adev/shared-docs:tsconfig_build",
],
config = "//adev/shared-docs/pipeline:esbuild-config",
entry_point = ":index.mts",
format = "esm",
output = "navigation.mjs",
platform = "node",
target = "es2022",
tsconfig = "//adev/shared-docs:tsconfig_build",
visibility = ["//visibility:public"],
deps = [
":navigation_rjs",
@@ -1,5 +1,4 @@
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//tools:defaults2.bzl", "zoneless_jasmine_test")
load("//adev/shared-docs:defaults.bzl", "ts_project", "zoneless_jasmine_test")
package(default_visibility = ["//adev/shared-docs/pipeline/navigation:__subpackages__"])
@@ -1,5 +1,4 @@
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
load("//adev/shared-docs:defaults.bzl", "ts_project")
load("//adev/shared-docs:defaults.bzl", "esbuild", "ts_project")
package(default_visibility = ["//visibility:public"])
@@ -56,15 +55,13 @@ ts_project(
esbuild(
name = "playground_bundle",
srcs = [
"//adev/shared-docs:tsconfig_build",
],
config = "//adev/shared-docs/pipeline:esbuild-config",
entry_point = ":playground_index.mts",
format = "esm",
output = "playground.mjs",
platform = "node",
target = "es2022",
tsconfig = "//adev/shared-docs:tsconfig_build",
visibility = ["//visibility:public"],
deps = [
":playground_rjs",
@@ -73,15 +70,13 @@ esbuild(
esbuild(
name = "tutorial_bundle",
srcs = [
"//adev/shared-docs:tsconfig_build",
],
config = "//adev/shared-docs/pipeline:esbuild-config",
entry_point = ":tutorial_index.mts",
format = "esm",
output = "tutorial.mjs",
platform = "node",
target = "es2022",
tsconfig = "//adev/shared-docs:tsconfig_build",
visibility = ["//visibility:public"],
deps = [
":tutorial_rjs",
+1 -1
View File
@@ -1,4 +1,4 @@
load("//tools:defaults2.bzl", "sass_library")
load("//adev/shared-docs:defaults.bzl", "sass_library")
package(default_visibility = ["//visibility:private"])
+2 -1
View File
@@ -1,6 +1,7 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"types": ["jasmine", "node"]
"types": ["jasmine", "node"],
"paths": {}
}
}
+3
View File
@@ -12,5 +12,8 @@
"jsxFactory": "h",
"jsxFragmentFactory": "Fragment",
"types": ["node"],
"paths": {
"@angular/*": ["../../packages/*/index"]
},
}
}