Skip to content

Commit f226264

Browse files
authored
build: avoid manual listing of MDC sass files in bazel setup (#19535)
In the past we listed all MDC sass files manually in a build file. This has been done because we didn't want to spend too much time on improving this. We certainly can by just extracting the Sass files from the NPM package. This will reduce manual changes we need to make whenever MDC moves files around.
1 parent ba11a0b commit f226264

File tree

2 files changed

+53
-279
lines changed

2 files changed

+53
-279
lines changed

src/material-experimental/mdc-helpers/BUILD.bazel

Lines changed: 3 additions & 279 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
load("//tools:defaults.bzl", "sass_library")
2+
load("//tools:npm_sass_library.bzl", "npm_sass_library")
23

34
package(default_visibility = ["//visibility:public"])
45

@@ -7,286 +8,9 @@ filegroup(
78
srcs = [":mdc_helpers_scss_lib"],
89
)
910

10-
# Add all MDC Sass files that we depend on here. After updating MDC dependencies, use the following
11-
# command to generate an updated list:
12-
#
13-
# `find node_modules/@material/ -name "_*.scss" | sort | sed -r 's/(.*\/@material\/[^/]*)\/(.*)/"@npm\/\/\1:\2",/'`
14-
#
15-
# TODO(mmalerba): Find a less tedious way to do this...
16-
sass_library(
11+
npm_sass_library(
1712
name = "mdc_scss_deps_lib",
18-
srcs = [
19-
"@npm//:node_modules/@material/animation/_functions.import.scss",
20-
"@npm//:node_modules/@material/animation/_functions.scss",
21-
"@npm//:node_modules/@material/animation/_index.scss",
22-
"@npm//:node_modules/@material/animation/_variables.import.scss",
23-
"@npm//:node_modules/@material/animation/_variables.scss",
24-
"@npm//:node_modules/@material/base/_index.scss",
25-
"@npm//:node_modules/@material/base/_mixins.import.scss",
26-
"@npm//:node_modules/@material/base/_mixins.scss",
27-
"@npm//:node_modules/@material/button/_index.scss",
28-
"@npm//:node_modules/@material/button/_mixins.import.scss",
29-
"@npm//:node_modules/@material/button/_mixins.scss",
30-
"@npm//:node_modules/@material/button/_variables.import.scss",
31-
"@npm//:node_modules/@material/button/_variables.scss",
32-
"@npm//:node_modules/@material/card/_index.scss",
33-
"@npm//:node_modules/@material/card/_mixins.import.scss",
34-
"@npm//:node_modules/@material/card/_mixins.scss",
35-
"@npm//:node_modules/@material/card/_variables.import.scss",
36-
"@npm//:node_modules/@material/card/_variables.scss",
37-
"@npm//:node_modules/@material/checkbox/_functions.import.scss",
38-
"@npm//:node_modules/@material/checkbox/_functions.scss",
39-
"@npm//:node_modules/@material/checkbox/_index.scss",
40-
"@npm//:node_modules/@material/checkbox/_keyframes.import.scss",
41-
"@npm//:node_modules/@material/checkbox/_keyframes.scss",
42-
"@npm//:node_modules/@material/checkbox/_mixins.import.scss",
43-
"@npm//:node_modules/@material/checkbox/_mixins.scss",
44-
"@npm//:node_modules/@material/checkbox/_variables.import.scss",
45-
"@npm//:node_modules/@material/checkbox/_variables.scss",
46-
"@npm//:node_modules/@material/chips/_index.scss",
47-
"@npm//:node_modules/@material/chips/_mixins.import.scss",
48-
"@npm//:node_modules/@material/chips/_mixins.scss",
49-
"@npm//:node_modules/@material/chips/_variables.import.scss",
50-
"@npm//:node_modules/@material/chips/_variables.scss",
51-
"@npm//:node_modules/@material/chips/trailingaction/_index.scss",
52-
"@npm//:node_modules/@material/chips/trailingaction/_mixins.scss",
53-
"@npm//:node_modules/@material/chips/trailingaction/_variables.scss",
54-
"@npm//:node_modules/@material/circular-progress/_index.scss",
55-
"@npm//:node_modules/@material/circular-progress/_keyframes.import.scss",
56-
"@npm//:node_modules/@material/circular-progress/_keyframes.scss",
57-
"@npm//:node_modules/@material/circular-progress/_mixins.import.scss",
58-
"@npm//:node_modules/@material/circular-progress/_mixins.scss",
59-
"@npm//:node_modules/@material/circular-progress/_variables.import.scss",
60-
"@npm//:node_modules/@material/circular-progress/_variables.scss",
61-
"@npm//:node_modules/@material/data-table/_data-table.scss",
62-
"@npm//:node_modules/@material/data-table/_data-table-theme.scss",
63-
"@npm//:node_modules/@material/data-table/_index.scss",
64-
"@npm//:node_modules/@material/data-table/_mixins.import.scss",
65-
"@npm//:node_modules/@material/data-table/_mixins.scss",
66-
"@npm//:node_modules/@material/data-table/_variables.import.scss",
67-
"@npm//:node_modules/@material/data-table/_variables.scss",
68-
"@npm//:node_modules/@material/density/_functions.import.scss",
69-
"@npm//:node_modules/@material/density/_functions.scss",
70-
"@npm//:node_modules/@material/density/_index.scss",
71-
"@npm//:node_modules/@material/density/_variables.import.scss",
72-
"@npm//:node_modules/@material/density/_variables.scss",
73-
"@npm//:node_modules/@material/dialog/_index.scss",
74-
"@npm//:node_modules/@material/dialog/_mixins.import.scss",
75-
"@npm//:node_modules/@material/dialog/_mixins.scss",
76-
"@npm//:node_modules/@material/dialog/_variables.import.scss",
77-
"@npm//:node_modules/@material/dialog/_variables.scss",
78-
"@npm//:node_modules/@material/dom/_index.scss",
79-
"@npm//:node_modules/@material/dom/_mixins.scss",
80-
"@npm//:node_modules/@material/drawer/_index.scss",
81-
"@npm//:node_modules/@material/drawer/_mixins.import.scss",
82-
"@npm//:node_modules/@material/drawer/_mixins.scss",
83-
"@npm//:node_modules/@material/drawer/_variables.import.scss",
84-
"@npm//:node_modules/@material/drawer/_variables.scss",
85-
"@npm//:node_modules/@material/elevation/_functions.import.scss",
86-
"@npm//:node_modules/@material/elevation/_functions.scss",
87-
"@npm//:node_modules/@material/elevation/_index.scss",
88-
"@npm//:node_modules/@material/elevation/_mixins.import.scss",
89-
"@npm//:node_modules/@material/elevation/_mixins.scss",
90-
"@npm//:node_modules/@material/elevation/_variables.import.scss",
91-
"@npm//:node_modules/@material/elevation/_variables.scss",
92-
"@npm//:node_modules/@material/fab/_index.scss",
93-
"@npm//:node_modules/@material/fab/_mixins.import.scss",
94-
"@npm//:node_modules/@material/fab/_mixins.scss",
95-
"@npm//:node_modules/@material/fab/_variables.import.scss",
96-
"@npm//:node_modules/@material/fab/_variables.scss",
97-
"@npm//:node_modules/@material/feature-targeting/_functions.import.scss",
98-
"@npm//:node_modules/@material/feature-targeting/_functions.scss",
99-
"@npm//:node_modules/@material/feature-targeting/_index.scss",
100-
"@npm//:node_modules/@material/feature-targeting/_mixins.import.scss",
101-
"@npm//:node_modules/@material/feature-targeting/_mixins.scss",
102-
"@npm//:node_modules/@material/feature-targeting/_variables.import.scss",
103-
"@npm//:node_modules/@material/feature-targeting/_variables.scss",
104-
"@npm//:node_modules/@material/floating-label/_index.scss",
105-
"@npm//:node_modules/@material/floating-label/_mixins.import.scss",
106-
"@npm//:node_modules/@material/floating-label/_mixins.scss",
107-
"@npm//:node_modules/@material/floating-label/_variables.import.scss",
108-
"@npm//:node_modules/@material/floating-label/_variables.scss",
109-
"@npm//:node_modules/@material/form-field/_index.scss",
110-
"@npm//:node_modules/@material/form-field/_mixins.import.scss",
111-
"@npm//:node_modules/@material/form-field/_mixins.scss",
112-
"@npm//:node_modules/@material/form-field/_variables.import.scss",
113-
"@npm//:node_modules/@material/form-field/_variables.scss",
114-
"@npm//:node_modules/@material/icon-button/_index.scss",
115-
"@npm//:node_modules/@material/icon-button/_mixins.import.scss",
116-
"@npm//:node_modules/@material/icon-button/_mixins.scss",
117-
"@npm//:node_modules/@material/icon-button/_variables.import.scss",
118-
"@npm//:node_modules/@material/icon-button/_variables.scss",
119-
"@npm//:node_modules/@material/image-list/_index.scss",
120-
"@npm//:node_modules/@material/image-list/_mixins.import.scss",
121-
"@npm//:node_modules/@material/image-list/_mixins.scss",
122-
"@npm//:node_modules/@material/image-list/_variables.import.scss",
123-
"@npm//:node_modules/@material/image-list/_variables.scss",
124-
"@npm//:node_modules/@material/layout-grid/_index.scss",
125-
"@npm//:node_modules/@material/layout-grid/_mixins.import.scss",
126-
"@npm//:node_modules/@material/layout-grid/_mixins.scss",
127-
"@npm//:node_modules/@material/layout-grid/_variables.import.scss",
128-
"@npm//:node_modules/@material/layout-grid/_variables.scss",
129-
"@npm//:node_modules/@material/line-ripple/_functions.import.scss",
130-
"@npm//:node_modules/@material/line-ripple/_functions.scss",
131-
"@npm//:node_modules/@material/line-ripple/_index.scss",
132-
"@npm//:node_modules/@material/line-ripple/_mixins.import.scss",
133-
"@npm//:node_modules/@material/line-ripple/_mixins.scss",
134-
"@npm//:node_modules/@material/linear-progress/_index.scss",
135-
"@npm//:node_modules/@material/linear-progress/_keyframes.import.scss",
136-
"@npm//:node_modules/@material/linear-progress/_keyframes.scss",
137-
"@npm//:node_modules/@material/linear-progress/_mixins.import.scss",
138-
"@npm//:node_modules/@material/linear-progress/_mixins.scss",
139-
"@npm//:node_modules/@material/linear-progress/_variables.import.scss",
140-
"@npm//:node_modules/@material/linear-progress/_variables.scss",
141-
"@npm//:node_modules/@material/list/_index.scss",
142-
"@npm//:node_modules/@material/list/_mixins.import.scss",
143-
"@npm//:node_modules/@material/list/_mixins.scss",
144-
"@npm//:node_modules/@material/list/_variables.import.scss",
145-
"@npm//:node_modules/@material/list/_variables.scss",
146-
"@npm//:node_modules/@material/menu-surface/_index.scss",
147-
"@npm//:node_modules/@material/menu-surface/_mixins.import.scss",
148-
"@npm//:node_modules/@material/menu-surface/_mixins.scss",
149-
"@npm//:node_modules/@material/menu-surface/_variables.import.scss",
150-
"@npm//:node_modules/@material/menu-surface/_variables.scss",
151-
"@npm//:node_modules/@material/menu/_index.scss",
152-
"@npm//:node_modules/@material/menu/_mixins.import.scss",
153-
"@npm//:node_modules/@material/menu/_mixins.scss",
154-
"@npm//:node_modules/@material/menu/_variables.import.scss",
155-
"@npm//:node_modules/@material/menu/_variables.scss",
156-
"@npm//:node_modules/@material/notched-outline/_index.scss",
157-
"@npm//:node_modules/@material/notched-outline/_mixins.import.scss",
158-
"@npm//:node_modules/@material/notched-outline/_mixins.scss",
159-
"@npm//:node_modules/@material/notched-outline/_variables.import.scss",
160-
"@npm//:node_modules/@material/notched-outline/_variables.scss",
161-
"@npm//:node_modules/@material/radio/_functions.import.scss",
162-
"@npm//:node_modules/@material/radio/_functions.scss",
163-
"@npm//:node_modules/@material/radio/_index.scss",
164-
"@npm//:node_modules/@material/radio/_mixins.import.scss",
165-
"@npm//:node_modules/@material/radio/_mixins.scss",
166-
"@npm//:node_modules/@material/radio/_variables.import.scss",
167-
"@npm//:node_modules/@material/radio/_variables.scss",
168-
"@npm//:node_modules/@material/ripple/_functions.import.scss",
169-
"@npm//:node_modules/@material/ripple/_functions.scss",
170-
"@npm//:node_modules/@material/ripple/_index.scss",
171-
"@npm//:node_modules/@material/ripple/_keyframes.import.scss",
172-
"@npm//:node_modules/@material/ripple/_keyframes.scss",
173-
"@npm//:node_modules/@material/ripple/_mixins.import.scss",
174-
"@npm//:node_modules/@material/ripple/_mixins.scss",
175-
"@npm//:node_modules/@material/ripple/_variables.import.scss",
176-
"@npm//:node_modules/@material/ripple/_variables.scss",
177-
"@npm//:node_modules/@material/rtl/_index.scss",
178-
"@npm//:node_modules/@material/rtl/_mixins.import.scss",
179-
"@npm//:node_modules/@material/rtl/_mixins.scss",
180-
"@npm//:node_modules/@material/rtl/_variables.import.scss",
181-
"@npm//:node_modules/@material/rtl/_variables.scss",
182-
"@npm//:node_modules/@material/select/_functions.import.scss",
183-
"@npm//:node_modules/@material/select/_functions.scss",
184-
"@npm//:node_modules/@material/select/_index.scss",
185-
"@npm//:node_modules/@material/select/_mixins.import.scss",
186-
"@npm//:node_modules/@material/select/_mixins.scss",
187-
"@npm//:node_modules/@material/select/_variables.import.scss",
188-
"@npm//:node_modules/@material/select/_variables.scss",
189-
"@npm//:node_modules/@material/select/helper-text/_index.scss",
190-
"@npm//:node_modules/@material/select/helper-text/_mixins.import.scss",
191-
"@npm//:node_modules/@material/select/helper-text/_mixins.scss",
192-
"@npm//:node_modules/@material/select/icon/_index.scss",
193-
"@npm//:node_modules/@material/select/icon/_mixins.import.scss",
194-
"@npm//:node_modules/@material/select/icon/_mixins.scss",
195-
"@npm//:node_modules/@material/select/icon/_variables.import.scss",
196-
"@npm//:node_modules/@material/select/icon/_variables.scss",
197-
"@npm//:node_modules/@material/shape/_functions.import.scss",
198-
"@npm//:node_modules/@material/shape/_functions.scss",
199-
"@npm//:node_modules/@material/shape/_index.scss",
200-
"@npm//:node_modules/@material/shape/_mixins.import.scss",
201-
"@npm//:node_modules/@material/shape/_mixins.scss",
202-
"@npm//:node_modules/@material/shape/_variables.import.scss",
203-
"@npm//:node_modules/@material/shape/_variables.scss",
204-
"@npm//:node_modules/@material/slider/_index.scss",
205-
"@npm//:node_modules/@material/slider/_keyframes.import.scss",
206-
"@npm//:node_modules/@material/slider/_keyframes.scss",
207-
"@npm//:node_modules/@material/slider/_mixins.import.scss",
208-
"@npm//:node_modules/@material/slider/_mixins.scss",
209-
"@npm//:node_modules/@material/slider/_variables.import.scss",
210-
"@npm//:node_modules/@material/slider/_variables.scss",
211-
"@npm//:node_modules/@material/snackbar/_index.scss",
212-
"@npm//:node_modules/@material/snackbar/_mixins.import.scss",
213-
"@npm//:node_modules/@material/snackbar/_mixins.scss",
214-
"@npm//:node_modules/@material/snackbar/_variables.import.scss",
215-
"@npm//:node_modules/@material/snackbar/_variables.scss",
216-
"@npm//:node_modules/@material/switch/_functions.import.scss",
217-
"@npm//:node_modules/@material/switch/_functions.scss",
218-
"@npm//:node_modules/@material/switch/_index.scss",
219-
"@npm//:node_modules/@material/switch/_mixins.import.scss",
220-
"@npm//:node_modules/@material/switch/_mixins.scss",
221-
"@npm//:node_modules/@material/switch/_variables.import.scss",
222-
"@npm//:node_modules/@material/switch/_variables.scss",
223-
"@npm//:node_modules/@material/tab-bar/_index.scss",
224-
"@npm//:node_modules/@material/tab-bar/_mixins.import.scss",
225-
"@npm//:node_modules/@material/tab-bar/_mixins.scss",
226-
"@npm//:node_modules/@material/tab-bar/_variables.import.scss",
227-
"@npm//:node_modules/@material/tab-bar/_variables.scss",
228-
"@npm//:node_modules/@material/tab-indicator/_index.scss",
229-
"@npm//:node_modules/@material/tab-indicator/_mixins.import.scss",
230-
"@npm//:node_modules/@material/tab-indicator/_mixins.scss",
231-
"@npm//:node_modules/@material/tab-scroller/_index.scss",
232-
"@npm//:node_modules/@material/tab-scroller/_mixins.import.scss",
233-
"@npm//:node_modules/@material/tab-scroller/_mixins.scss",
234-
"@npm//:node_modules/@material/tab-scroller/_variables.import.scss",
235-
"@npm//:node_modules/@material/tab-scroller/_variables.scss",
236-
"@npm//:node_modules/@material/tab/_index.scss",
237-
"@npm//:node_modules/@material/tab/_mixins.import.scss",
238-
"@npm//:node_modules/@material/tab/_mixins.scss",
239-
"@npm//:node_modules/@material/tab/_variables.import.scss",
240-
"@npm//:node_modules/@material/tab/_variables.scss",
241-
"@npm//:node_modules/@material/textfield/_functions.import.scss",
242-
"@npm//:node_modules/@material/textfield/_functions.scss",
243-
"@npm//:node_modules/@material/textfield/_index.scss",
244-
"@npm//:node_modules/@material/textfield/_mixins.import.scss",
245-
"@npm//:node_modules/@material/textfield/_mixins.scss",
246-
"@npm//:node_modules/@material/textfield/_variables.import.scss",
247-
"@npm//:node_modules/@material/textfield/_variables.scss",
248-
"@npm//:node_modules/@material/textfield/character-counter/_index.scss",
249-
"@npm//:node_modules/@material/textfield/character-counter/_mixins.import.scss",
250-
"@npm//:node_modules/@material/textfield/character-counter/_mixins.scss",
251-
"@npm//:node_modules/@material/textfield/helper-text/_index.scss",
252-
"@npm//:node_modules/@material/textfield/helper-text/_mixins.import.scss",
253-
"@npm//:node_modules/@material/textfield/helper-text/_mixins.scss",
254-
"@npm//:node_modules/@material/textfield/icon/_index.scss",
255-
"@npm//:node_modules/@material/textfield/icon/_mixins.import.scss",
256-
"@npm//:node_modules/@material/textfield/icon/_mixins.scss",
257-
"@npm//:node_modules/@material/textfield/icon/_variables.import.scss",
258-
"@npm//:node_modules/@material/textfield/icon/_variables.scss",
259-
"@npm//:node_modules/@material/theme/_color-palette.import.scss",
260-
"@npm//:node_modules/@material/theme/_color-palette.scss",
261-
"@npm//:node_modules/@material/theme/_constants.import.scss",
262-
"@npm//:node_modules/@material/theme/_constants.scss",
263-
"@npm//:node_modules/@material/theme/_custom-properties.scss",
264-
"@npm//:node_modules/@material/theme/_functions.import.scss",
265-
"@npm//:node_modules/@material/theme/_functions.scss",
266-
"@npm//:node_modules/@material/theme/_gss.scss",
267-
"@npm//:node_modules/@material/theme/_index.scss",
268-
"@npm//:node_modules/@material/theme/_mixins.import.scss",
269-
"@npm//:node_modules/@material/theme/_mixins.scss",
270-
"@npm//:node_modules/@material/theme/_variables.import.scss",
271-
"@npm//:node_modules/@material/theme/_variables.scss",
272-
"@npm//:node_modules/@material/top-app-bar/_index.scss",
273-
"@npm//:node_modules/@material/top-app-bar/_mixins.import.scss",
274-
"@npm//:node_modules/@material/top-app-bar/_mixins.scss",
275-
"@npm//:node_modules/@material/top-app-bar/_variables.import.scss",
276-
"@npm//:node_modules/@material/top-app-bar/_variables.scss",
277-
"@npm//:node_modules/@material/touch-target/_index.scss",
278-
"@npm//:node_modules/@material/touch-target/_mixins.import.scss",
279-
"@npm//:node_modules/@material/touch-target/_mixins.scss",
280-
"@npm//:node_modules/@material/touch-target/_variables.import.scss",
281-
"@npm//:node_modules/@material/touch-target/_variables.scss",
282-
"@npm//:node_modules/@material/typography/_functions.import.scss",
283-
"@npm//:node_modules/@material/typography/_functions.scss",
284-
"@npm//:node_modules/@material/typography/_index.scss",
285-
"@npm//:node_modules/@material/typography/_mixins.import.scss",
286-
"@npm//:node_modules/@material/typography/_mixins.scss",
287-
"@npm//:node_modules/@material/typography/_variables.import.scss",
288-
"@npm//:node_modules/@material/typography/_variables.scss",
289-
],
13+
deps = ["@npm//material-components-web"],
29014
)
29115

29216
sass_library(

0 commit comments

Comments
 (0)