Refactor theme config loading #29667
Open
+215
−187
Conversation
Size Change: +7 B (0%) Total Size: 1.4 MB
|
Filename | Size | Change |
---|---|---|
build/a11y/index.js |
1.14 kB | 0 B |
build/annotations/index.js |
3.78 kB | 0 B |
build/api-fetch/index.js |
3.4 kB | 0 B |
build/autop/index.js |
2.82 kB | 0 B |
build/blob/index.js |
664 B | 0 B |
build/block-directory/index.js |
8.63 kB | 0 B |
build/block-directory/style-rtl.css |
1 kB | 0 B |
build/block-directory/style.css |
1.01 kB | 0 B |
build/block-editor/index.js |
125 kB | 0 B |
build/block-editor/style-rtl.css |
12.1 kB | 0 B |
build/block-editor/style.css |
12.1 kB | 0 B |
build/block-library/blocks/archives/editor-rtl.css |
61 B | 0 B |
build/block-library/blocks/archives/editor.css |
60 B | 0 B |
build/block-library/blocks/audio/editor-rtl.css |
58 B | 0 B |
build/block-library/blocks/audio/editor.css |
58 B | 0 B |
build/block-library/blocks/audio/style-rtl.css |
112 B | 0 B |
build/block-library/blocks/audio/style.css |
112 B | 0 B |
build/block-library/blocks/block/editor-rtl.css |
161 B | 0 B |
build/block-library/blocks/block/editor.css |
161 B | 0 B |
build/block-library/blocks/button/editor-rtl.css |
475 B | 0 B |
build/block-library/blocks/button/editor.css |
474 B | 0 B |
build/block-library/blocks/button/style-rtl.css |
479 B | 0 B |
build/block-library/blocks/button/style.css |
479 B | 0 B |
build/block-library/blocks/buttons/editor-rtl.css |
315 B | 0 B |
build/block-library/blocks/buttons/editor.css |
315 B | 0 B |
build/block-library/blocks/buttons/style-rtl.css |
364 B | 0 B |
build/block-library/blocks/buttons/style.css |
363 B | 0 B |
build/block-library/blocks/calendar/style-rtl.css |
208 B | 0 B |
build/block-library/blocks/calendar/style.css |
208 B | 0 B |
build/block-library/blocks/categories/editor-rtl.css |
84 B | 0 B |
build/block-library/blocks/categories/editor.css |
83 B | 0 B |
build/block-library/blocks/categories/style-rtl.css |
79 B | 0 B |
build/block-library/blocks/categories/style.css |
79 B | 0 B |
build/block-library/blocks/code/style-rtl.css |
90 B | 0 B |
build/block-library/blocks/code/style.css |
90 B | 0 B |
build/block-library/blocks/columns/editor-rtl.css |
190 B | 0 B |
build/block-library/blocks/columns/editor.css |
190 B | 0 B |
build/block-library/blocks/columns/style-rtl.css |
421 B | 0 B |
build/block-library/blocks/columns/style.css |
421 B | 0 B |
build/block-library/blocks/cover/editor-rtl.css |
390 B | 0 B |
build/block-library/blocks/cover/editor.css |
389 B | 0 B |
build/block-library/blocks/cover/style-rtl.css |
1.24 kB | 0 B |
build/block-library/blocks/cover/style.css |
1.24 kB | 0 B |
build/block-library/blocks/embed/editor-rtl.css |
486 B | 0 B |
build/block-library/blocks/embed/editor.css |
486 B | 0 B |
build/block-library/blocks/embed/style-rtl.css |
401 B | 0 B |
build/block-library/blocks/embed/style.css |
400 B | 0 B |
build/block-library/blocks/file/editor-rtl.css |
199 B | 0 B |
build/block-library/blocks/file/editor.css |
198 B | 0 B |
build/block-library/blocks/file/style-rtl.css |
248 B | 0 B |
build/block-library/blocks/file/style.css |
248 B | 0 B |
build/block-library/blocks/freeform/editor-rtl.css |
2.45 kB | 0 B |
build/block-library/blocks/freeform/editor.css |
2.45 kB | 0 B |
build/block-library/blocks/gallery/editor-rtl.css |
689 B | 0 B |
build/block-library/blocks/gallery/editor.css |
690 B | 0 B |
build/block-library/blocks/gallery/style-rtl.css |
1.08 kB | 0 B |
build/block-library/blocks/gallery/style.css |
1.07 kB | 0 B |
build/block-library/blocks/group/editor-rtl.css |
318 B | 0 B |
build/block-library/blocks/group/editor.css |
317 B | 0 B |
build/block-library/blocks/group/style-rtl.css |
57 B | 0 B |
build/block-library/blocks/group/style.css |
57 B | 0 B |
build/block-library/blocks/heading/editor-rtl.css |
129 B | 0 B |
build/block-library/blocks/heading/editor.css |
129 B | 0 B |
build/block-library/blocks/heading/style-rtl.css |
76 B | 0 B |
build/block-library/blocks/heading/style.css |
76 B | 0 B |
build/block-library/blocks/html/editor-rtl.css |
281 B | 0 B |
build/block-library/blocks/html/editor.css |
281 B | 0 B |
build/block-library/blocks/image/editor-rtl.css |
717 B | 0 B |
build/block-library/blocks/image/editor.css |
716 B | 0 B |
build/block-library/blocks/image/style-rtl.css |
476 B | 0 B |
build/block-library/blocks/image/style.css |
478 B | 0 B |
build/block-library/blocks/latest-comments/editor-rtl.css |
159 B | 0 B |
build/block-library/blocks/latest-comments/editor.css |
158 B | 0 B |
build/block-library/blocks/latest-comments/style-rtl.css |
269 B | 0 B |
build/block-library/blocks/latest-comments/style.css |
269 B | 0 B |
build/block-library/blocks/latest-posts/editor-rtl.css |
137 B | 0 B |
build/block-library/blocks/latest-posts/editor.css |
137 B | 0 B |
build/block-library/blocks/latest-posts/style-rtl.css |
523 B | 0 B |
build/block-library/blocks/latest-posts/style.css |
522 B | 0 B |
build/block-library/blocks/list/editor-rtl.css |
65 B | 0 B |
build/block-library/blocks/list/editor.css |
65 B | 0 B |
build/block-library/blocks/list/style-rtl.css |
63 B | 0 B |
build/block-library/blocks/list/style.css |
63 B | 0 B |
build/block-library/blocks/media-text/editor-rtl.css |
191 B | 0 B |
build/block-library/blocks/media-text/editor.css |
191 B | 0 B |
build/block-library/blocks/media-text/style-rtl.css |
535 B | 0 B |
build/block-library/blocks/media-text/style.css |
532 B | 0 B |
build/block-library/blocks/more/editor-rtl.css |
434 B | 0 B |
build/block-library/blocks/more/editor.css |
434 B | 0 B |
build/block-library/blocks/navigation-link/editor-rtl.css |
681 B | 0 B |
build/block-library/blocks/navigation-link/editor.css |
683 B | 0 B |
build/block-library/blocks/navigation-link/style-rtl.css |
694 B | 0 B |
build/block-library/blocks/navigation-link/style.css |
692 B | 0 B |
build/block-library/blocks/navigation/editor-rtl.css |
1.34 kB | 0 B |
build/block-library/blocks/navigation/editor.css |
1.34 kB | 0 B |
build/block-library/blocks/navigation/style-rtl.css |
213 B | 0 B |
build/block-library/blocks/navigation/style.css |
214 B | 0 B |
build/block-library/blocks/nextpage/editor-rtl.css |
395 B | 0 B |
build/block-library/blocks/nextpage/editor.css |
395 B | 0 B |
build/block-library/blocks/page-list/editor-rtl.css |
215 B | 0 B |
build/block-library/blocks/page-list/editor.css |
215 B | 0 B |
build/block-library/blocks/page-list/style-rtl.css |
527 B | 0 B |
build/block-library/blocks/page-list/style.css |
526 B | 0 B |
build/block-library/blocks/paragraph/editor-rtl.css |
157 B | 0 B |
build/block-library/blocks/paragraph/editor.css |
157 B | 0 B |
build/block-library/blocks/paragraph/style-rtl.css |
288 B | 0 B |
build/block-library/blocks/paragraph/style.css |
289 B | 0 B |
build/block-library/blocks/post-author/editor-rtl.css |
209 B | 0 B |
build/block-library/blocks/post-author/editor.css |
209 B | 0 B |
build/block-library/blocks/post-author/style-rtl.css |
183 B | 0 B |
build/block-library/blocks/post-author/style.css |
184 B | 0 B |
build/block-library/blocks/post-comments-form/style-rtl.css |
250 B | 0 B |
build/block-library/blocks/post-comments-form/style.css |
250 B | 0 B |
build/block-library/blocks/post-content/editor-rtl.css |
139 B | 0 B |
build/block-library/blocks/post-content/editor.css |
139 B | 0 B |
build/block-library/blocks/post-excerpt/editor-rtl.css |
73 B | 0 B |
build/block-library/blocks/post-excerpt/editor.css |
73 B | 0 B |
build/block-library/blocks/post-featured-image/editor-rtl.css |
338 B | 0 B |
build/block-library/blocks/post-featured-image/editor.css |
338 B | 0 B |
build/block-library/blocks/post-featured-image/style-rtl.css |
100 B | 0 B |
build/block-library/blocks/post-featured-image/style.css |
100 B | 0 B |
build/block-library/blocks/preformatted/style-rtl.css |
63 B | 0 B |
build/block-library/blocks/preformatted/style.css |
63 B | 0 B |
build/block-library/blocks/pullquote/editor-rtl.css |
183 B | 0 B |
build/block-library/blocks/pullquote/editor.css |
183 B | 0 B |
build/block-library/blocks/pullquote/style-rtl.css |
318 B | 0 B |
build/block-library/blocks/pullquote/style.css |
318 B | 0 B |
build/block-library/blocks/query-loop/editor-rtl.css |
90 B | 0 B |
build/block-library/blocks/query-loop/editor.css |
89 B | 0 B |
build/block-library/blocks/query-loop/style-rtl.css |
315 B | 0 B |
build/block-library/blocks/query-loop/style.css |
317 B | 0 B |
build/block-library/blocks/query-pagination-numbers/editor-rtl.css |
122 B | 0 B |
build/block-library/blocks/query-pagination-numbers/editor.css |
121 B | 0 B |
build/block-library/blocks/query-pagination/editor-rtl.css |
270 B | 0 B |
build/block-library/blocks/query-pagination/editor.css |
262 B | 0 B |
build/block-library/blocks/query-pagination/style-rtl.css |
168 B | 0 B |
build/block-library/blocks/query-pagination/style.css |
168 B | 0 B |
build/block-library/blocks/query/editor-rtl.css |
814 B | 0 B |
build/block-library/blocks/query/editor.css |
812 B | 0 B |
build/block-library/blocks/quote/editor-rtl.css |
61 B | 0 B |
build/block-library/blocks/quote/editor.css |
61 B | 0 B |
build/block-library/blocks/quote/style-rtl.css |
169 B | 0 B |
build/block-library/blocks/quote/style.css |
169 B | 0 B |
build/block-library/blocks/rss/editor-rtl.css |
201 B | 0 B |
build/block-library/blocks/rss/editor.css |
202 B | 0 B |
build/block-library/blocks/rss/style-rtl.css |
290 B | 0 B |
build/block-library/blocks/rss/style.css |
290 B | 0 B |
build/block-library/blocks/search/editor-rtl.css |
165 B | 0 B |
build/block-library/blocks/search/editor.css |
165 B | 0 B |
build/block-library/blocks/search/style-rtl.css |
342 B | 0 B |
build/block-library/blocks/search/style.css |
344 B | 0 B |
build/block-library/blocks/separator/editor-rtl.css |
99 B | 0 B |
build/block-library/blocks/separator/editor.css |
99 B | 0 B |
build/block-library/blocks/separator/style-rtl.css |
236 B | 0 B |
build/block-library/blocks/separator/style.css |
236 B | 0 B |
build/block-library/blocks/shortcode/editor-rtl.css |
504 B | 0 B |
build/block-library/blocks/shortcode/editor.css |
504 B | 0 B |
build/block-library/blocks/site-logo/editor-rtl.css |
201 B | 0 B |
build/block-library/blocks/site-logo/editor.css |
201 B | 0 B |
build/block-library/blocks/site-logo/style-rtl.css |
115 B | 0 B |
build/block-library/blocks/site-logo/style.css |
115 B | 0 B |
build/block-library/blocks/social-link/editor-rtl.css |
164 B | 0 B |
build/block-library/blocks/social-link/editor.css |
165 B | 0 B |
build/block-library/blocks/social-links/editor-rtl.css |
696 B | 0 B |
build/block-library/blocks/social-links/editor.css |
696 B | 0 B |
build/block-library/blocks/spacer/editor-rtl.css |
317 B | 0 B |
build/block-library/blocks/spacer/editor.css |
317 B | 0 B |
build/block-library/blocks/spacer/style-rtl.css |
48 B | 0 B |
build/block-library/blocks/spacer/style.css |
48 B | 0 B |
build/block-library/blocks/table/editor-rtl.css |
478 B | 0 B |
build/block-library/blocks/table/editor.css |
478 B | 0 B |
build/block-library/blocks/table/style-rtl.css |
402 B | 0 B |
build/block-library/blocks/table/style.css |
402 B | 0 B |
build/block-library/blocks/tag-cloud/editor-rtl.css |
118 B | 0 B |
build/block-library/blocks/tag-cloud/editor.css |
118 B | 0 B |
build/block-library/blocks/tag-cloud/style-rtl.css |
94 B | 0 B |
build/block-library/blocks/tag-cloud/style.css |
94 B | 0 B |
build/block-library/blocks/template-part/editor-rtl.css |
557 B | 0 B |
build/block-library/blocks/template-part/editor.css |
556 B | 0 B |
build/block-library/blocks/text-columns/editor-rtl.css |
95 B | 0 B |
build/block-library/blocks/text-columns/editor.css |
95 B | 0 B |
build/block-library/blocks/text-columns/style-rtl.css |
166 B | 0 B |
build/block-library/blocks/text-columns/style.css |
166 B | 0 B |
build/block-library/blocks/verse/editor-rtl.css |
62 B | 0 B |
build/block-library/blocks/verse/editor.css |
62 B | 0 B |
build/block-library/blocks/verse/style-rtl.css |
87 B | 0 B |
build/block-library/blocks/verse/style.css |
87 B | 0 B |
build/block-library/blocks/video/editor-rtl.css |
504 B | 0 B |
build/block-library/blocks/video/editor.css |
503 B | 0 B |
build/block-library/blocks/video/style-rtl.css |
187 B | 0 B |
build/block-library/blocks/video/style.css |
187 B | 0 B |
build/block-library/common-rtl.css |
1.1 kB | 0 B |
build/block-library/common.css |
1.1 kB | 0 B |
build/block-library/editor-rtl.css |
9.54 kB | 0 B |
build/block-library/editor.css |
9.53 kB | 0 B |
build/block-library/index.js |
148 kB | 0 B |
build/block-library/theme-rtl.css |
736 B | 0 B |
build/block-library/theme.css |
736 B | 0 B |
build/block-serialization-default-parser/index.js |
1.87 kB | 0 B |
build/block-serialization-spec-parser/index.js |
3.06 kB | 0 B |
build/blocks/index.js |
48.3 kB | 0 B |
build/components/index.js |
283 kB | 0 B |
build/components/style-rtl.css |
15.6 kB | 0 B |
build/components/style.css |
15.6 kB | 0 B |
build/compose/index.js |
11.1 kB | 0 B |
build/core-data/index.js |
16.7 kB | 0 B |
build/customize-widgets/index.js |
3.95 kB | 0 B |
build/customize-widgets/style-rtl.css |
168 B | 0 B |
build/customize-widgets/style.css |
168 B | 0 B |
build/data-controls/index.js |
828 B | 0 B |
build/data/index.js |
8.88 kB | 0 B |
build/date/index.js |
31.8 kB | 0 B |
build/deprecated/index.js |
769 B | 0 B |
build/dom-ready/index.js |
577 B | 0 B |
build/dom/index.js |
4.94 kB | 0 B |
build/edit-navigation/index.js |
11.8 kB | 0 B |
build/edit-navigation/style-rtl.css |
1.28 kB | 0 B |
build/edit-navigation/style.css |
1.28 kB | 0 B |
build/edit-post/index.js |
306 kB | 0 B |
build/edit-post/style-rtl.css |
6.81 kB | 0 B |
build/edit-post/style.css |
6.8 kB | 0 B |
build/edit-site/index.js |
27.3 kB | 0 B |
build/edit-site/style-rtl.css |
4.47 kB | 0 B |
build/edit-site/style.css |
4.46 kB | 0 B |
build/edit-widgets/index.js |
20.1 kB | 0 B |
build/edit-widgets/style-rtl.css |
3.2 kB | 0 B |
build/edit-widgets/style.css |
3.2 kB | 0 B |
build/editor/editor-styles-rtl.css |
543 B | 0 B |
build/editor/editor-styles.css |
545 B | 0 B |
build/editor/index.js |
42.1 kB | 0 B |
build/editor/style-rtl.css |
3.9 kB | 0 B |
build/editor/style.css |
3.9 kB | 0 B |
build/element/index.js |
4.61 kB | 0 B |
build/escape-html/index.js |
735 B | 0 B |
build/format-library/index.js |
6.75 kB | 0 B |
build/format-library/style-rtl.css |
637 B | 0 B |
build/format-library/style.css |
639 B | 0 B |
build/hooks/index.js |
2.28 kB | 0 B |
build/html-entities/index.js |
622 B | 0 B |
build/i18n/index.js |
4.01 kB | 0 B |
build/is-shallow-equal/index.js |
699 B | 0 B |
build/keyboard-shortcuts/index.js |
2.53 kB | 0 B |
build/keycodes/index.js |
1.95 kB | 0 B |
build/list-reusable-blocks/index.js |
3.15 kB | 0 B |
build/list-reusable-blocks/style-rtl.css |
629 B | 0 B |
build/list-reusable-blocks/style.css |
628 B | 0 B |
build/media-utils/index.js |
5.34 kB | 0 B |
build/notices/index.js |
1.85 kB | 0 B |
build/nux/index.js |
3.4 kB | 0 B |
build/nux/style-rtl.css |
731 B | 0 B |
build/nux/style.css |
727 B | 0 B |
build/plugins/index.js |
2.9 kB | 0 B |
build/primitives/index.js |
1.42 kB | 0 B |
build/priority-queue/index.js |
791 B | 0 B |
build/react-i18n/index.js |
1.46 kB | 0 B |
build/redux-routine/index.js |
2.83 kB | 0 B |
build/reusable-blocks/index.js |
3.78 kB | 0 B |
build/reusable-blocks/style-rtl.css |
225 B | 0 B |
build/reusable-blocks/style.css |
225 B | 0 B |
build/rich-text/index.js |
13.4 kB | 0 B |
build/server-side-render/index.js |
2.82 kB | 0 B |
build/shortcode/index.js |
1.7 kB | 0 B |
build/token-list/index.js |
1.27 kB | 0 B |
build/url/index.js |
3.02 kB | 0 B |
build/viewport/index.js |
1.86 kB | 0 B |
build/warning/index.js |
1.14 kB | 0 B |
build/wordcount/index.js |
1.22 kB | 0 B |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Motivation In this PR #29335 I tried to get the "layout" setting from theme.json and I had to call 4 functions with the right arguments in order to do it.
While working with the Theme config abstraction in the backend, it became very clear to me that the classes and APIs were built initially to map the theme.json file and format, but they were too low level to work with which resulted in a lot of indirection and duplication each time you want to access a config or something in the backend.
This PR makes a step into simplifying the APIs by introducing a
WP_Theme_Config
object that you can access with:Notice that I didn't have to pass any argument or anything, everything is abstracted from the consumer, making it easier to reason about the current config without actually knowing how it's assembled, what kind of theme it is...
Later, I'd like us to probably introduce a function similar to the
useEditorFeature
hook we have in the frontend.Also note that in the PR, I keep the
WP_Theme_JSON
class but in reality this class becomes just a private implementation detail that shouldn't be accessed directly at all. A future refactor might remove it entirely.