1
- # TODO: Investigate bzlmod and use it where possible.
1
+ """Rules/toolchains for components with Bazel."""
2
2
3
3
module (
4
- name = "angular_material" ,
5
- )
4
+ name = "components" ,
5
+ )
6
+
7
+ bazel_dep (name = "yq.bzl" , version = "0.2.0" )
8
+ bazel_dep (name = "rules_nodejs" , version = "6.5.0" )
9
+ bazel_dep (name = "aspect_rules_js" , version = "2.4.2" )
10
+ bazel_dep (name = "rules_pkg" , version = "1.1.0" )
11
+ bazel_dep (name = "tar.bzl" , version = "0.5.1" )
12
+ bazel_dep (name = "aspect_bazel_lib" , version = "2.19.3" )
13
+ bazel_dep (name = "aspect_rules_esbuild" , version = "0.22.1" )
14
+ bazel_dep (name = "aspect_rules_jasmine" , version = "2.0.0" )
15
+ bazel_dep (name = "platforms" , version = "1.0.0" )
16
+ bazel_dep (name = "aspect_rules_ts" , version = "3.6.3" )
17
+ bazel_dep (name = "bazel_skylib" , version = "1.8.1" )
18
+ bazel_dep (name = "rules_browsers" )
19
+ git_override (
20
+ module_name = "rules_browsers" ,
21
+ commit = "93467ec31f55d87d50b59928a6461cd6cbf241c2" ,
22
+ remote = "https://github.com/devversion/rules_browsers.git" ,
23
+ )
24
+ bazel_dep (name = "rules_sass" )
25
+ git_override (
26
+ module_name = "rules_sass" ,
27
+ commit = "76078d5e9776a0080dcee496e90b88d8a6179c19" ,
28
+ remote = "https://github.com/devversion/rules_sass.git" ,
29
+ )
30
+ bazel_dep (name = "rules_angular" )
31
+ git_override (
32
+ module_name = "rules_angular" ,
33
+ commit = "a957283cdef0ade1fc6d1d7404f14577cebd3642" ,
34
+ remote = "https://github.com/devversion/rules_angular.git" ,
35
+ )
36
+
37
+ bazel_dep (name = "devinfra" )
38
+ git_override (
39
+ module_name = "devinfra" ,
40
+ commit = "11fa17f8e7ba38734d6f91c575b3878b9afadc27" ,
41
+ remote = "https://github.com/angular/dev-infra.git" ,
42
+ )
43
+
44
+ yq = use_extension ("@yq.bzl//yq:extensions.bzl" , "yq" )
45
+ use_repo (yq , "yq_toolchains" )
46
+
47
+ rules_ts_ext = use_extension ("@aspect_rules_ts//ts:extensions.bzl" , "ext" )
48
+ rules_ts_ext .deps (
49
+ # Obtained by: curl --silent https://registry.npmjs.org/typescript/5.9.2 | jq -r '.dist.integrity'
50
+ ts_integrity = "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==" ,
51
+ ts_version_from = "//:package.json" ,
52
+ name = "components_npm_typescript" ,
53
+ )
54
+ use_repo (rules_ts_ext , ** {"npm_typescript" :"components_npm_typescript" })
55
+
56
+ node = use_extension ("@rules_nodejs//nodejs:extensions.bzl" , "node" )
57
+ node .toolchain (
58
+ node_repositories = {
59
+ "22.12.0-darwin_arm64" : ("node-v22.12.0-darwin-arm64.tar.gz" , "node-v22.12.0-darwin-arm64" , "293dcc6c2408da21562d135b0412525e381bb6fe150d688edb58fe850d0f3e13" ),
60
+ "22.12.0-darwin_amd64" : ("node-v22.12.0-darwin-x64.tar.gz" , "node-v22.12.0-darwin-x64" , "52bc25dd026db7247c3c00439afdb83e95087248267f02d6c1a7250d1f896173" ),
61
+ "22.12.0-linux_arm64" : ("node-v22.12.0-linux-arm64.tar.xz" , "node-v22.12.0-linux-arm64" , "8cfd5a8b9afae5a2e0bd86b0148ca31d2589c0ea669c2d0b11c132e35d90ed68" ),
62
+ "22.12.0-linux_ppc64le" : ("node-v22.12.0-linux-ppc64le.tar.xz" , "node-v22.12.0-linux-ppc64le" , "199a606ba1ee86cce6d6b369c71f9d00873d2836a6662592afc3b6a5923e2004" ),
63
+ "22.12.0-linux_s390x" : ("node-v22.12.0-linux-s390x.tar.xz" , "node-v22.12.0-linux-s390x" , "9b517f8006eb4b451d40c461cbe64f93c6455566dbe2613387ab02412bc06d35" ),
64
+ "22.12.0-linux_amd64" : ("node-v22.12.0-linux-x64.tar.xz" , "node-v22.12.0-linux-x64" , "22982235e1b71fa8850f82edd09cdae7e3f32df1764a9ec298c72d25ef2c164f" ),
65
+ "22.12.0-windows_amd64" : ("node-v22.12.0-win-x64.zip" , "node-v22.12.0-win-x64" , "2b8f2256382f97ad51e29ff71f702961af466c4616393f767455501e6aece9b8" ),
66
+ },
67
+ node_version = "22.12.0" ,
68
+ )
69
+ use_repo (node , "nodejs_toolchains" )
70
+
71
+ pnpm = use_extension ("@aspect_rules_js//npm:extensions.bzl" , "pnpm" )
72
+ use_repo (pnpm , "pnpm" )
73
+
74
+ npm = use_extension ("@aspect_rules_js//npm:extensions.bzl" , "npm" )
75
+ npm .npm_translate_lock (
76
+ name = "npm" ,
77
+ custom_postinstalls = {
78
+ "@angular/animations" : "node ../../@nginfra/angular-linking/index.mjs" ,
79
+ "@angular/common" : "node ../../@nginfra/angular-linking/index.mjs" ,
80
+ "@angular/forms" : "node ../../@nginfra/angular-linking/index.mjs" ,
81
+ "@angular/localize" : "node ../../@nginfra/angular-linking/index.mjs" ,
82
+ "@angular/platform-browser" : "node ../../@nginfra/angular-linking/index.mjs" ,
83
+ "@angular/platform-server" : "node ../../@nginfra/angular-linking/index.mjs" ,
84
+ "@angular/router" : "node ../../@nginfra/angular-linking/index.mjs" ,
85
+ },
86
+ data = [
87
+ "//:package.json" ,
88
+ "//:pnpm-workspace.yaml" ,
89
+ "//integration:package.json" ,
90
+ "//src/cdk:package.json" ,
91
+ "//src/cdk-experimental:package.json" ,
92
+ "//src/components-examples:package.json" ,
93
+ "//src/dev-app:package.json" ,
94
+ "//src/e2e-app:package.json" ,
95
+ "//src/google-maps:package.json" ,
96
+ "//src/material:package.json" ,
97
+ "//src/material-date-fns-adapter:package.json" ,
98
+ "//src/material-experimental:package.json" ,
99
+ "//src/material-luxon-adapter:package.json" ,
100
+ "//src/material-moment-adapter:package.json" ,
101
+ "//src/universal-app:package.json" ,
102
+ "//src/youtube-player:package.json" ,
103
+ ],
104
+ npmrc = "//:.npmrc" ,
105
+ package_visibility = {
106
+ "@angular/cdk" : [
107
+ "//integration:__subpackages__" ,
108
+ "//docs:__subpackages__" ,
109
+ ],
110
+ "@angular/cdk-experimental" : [
111
+ "//integration:__subpackages__" ,
112
+ "//docs:__subpackages__" ,
113
+ ],
114
+ "@angular/material" : [
115
+ "//integration:__subpackages__" ,
116
+ "//docs:__subpackages__" ,
117
+ ],
118
+ "@angular/material-experimental" : [
119
+ "//integration:__subpackages__" ,
120
+ "//docs:__subpackages__" ,
121
+ ],
122
+ "@angular/google-maps" : [
123
+ "//integration:__subpackages__" ,
124
+ "//docs:__subpackages__" ,
125
+ ],
126
+ "@angular/youtube-player" : [
127
+ "//integration:__subpackages__" ,
128
+ "//docs:__subpackages__" ,
129
+ ],
130
+ "@angular/material-moment-adapter" : [
131
+ "//integration:__subpackages__" ,
132
+ "//docs:__subpackages__" ,
133
+ ],
134
+ "@angular/material-date-fns-adapter" : [
135
+ "//integration:__subpackages__" ,
136
+ "//docs:__subpackages__" ,
137
+ ],
138
+ "@angular/material-luxon-adapter" : [
139
+ "//integration:__subpackages__" ,
140
+ "//docs:__subpackages__" ,
141
+ ],
142
+ },
143
+ pnpm_lock = "//:pnpm-lock.yaml" ,
144
+ verify_node_modules_ignored = "//:.bazelignore" ,
145
+ )
146
+ use_repo (npm , "npm" )
147
+
148
+ rules_angular = use_extension ("@rules_angular//setup:extensions.bzl" , "rules_angular" )
149
+ rules_angular .setup (
150
+ name = "components_rules_angular_configurable_deps" ,
151
+ angular_compiler_cli = "//:node_modules/@angular/compiler-cli" ,
152
+ typescript = "//:node_modules/typescript-local" ,
153
+ )
154
+ use_repo (rules_angular , ** {"rules_angular_configurable_deps" :"components_rules_angular_configurable_deps" })
0 commit comments