diff options
author | 2023-05-04 00:19:06 +0530 | |
---|---|---|
committer | 2023-05-03 14:49:06 -0400 | |
commit | 80e3d4d3d0f7719d8eae5435bba3805503057511 (patch) | |
tree | 71509a245806e658ebdad4b5805ea6aa0bcfd568 /packages/integrations/react/client.js | |
parent | 8d75340b7a9699b17a1d1ec87674d8d7d750d570 (diff) | |
download | astro-80e3d4d3d0f7719d8eae5435bba3805503057511.tar.gz astro-80e3d4d3d0f7719d8eae5435bba3805503057511.tar.zst astro-80e3d4d3d0f7719d8eae5435bba3805503057511.zip |
feature: configuration for css inlining behavior (#6659)
* feature(inline stylesheets): implement as experimental
* test: rename css-inline -> css-import-as-inline
* test(content collections): add de-duplication of css
* test: add new suite for inlineStylesheets configuration
* fix(inline stylesheets): did not act on propagated styles
* hack(inline stylesheets testing): duplicate fixtures
Content collections reuses build data across multiple fixture.builds, even though a configuration change may have changed it.
Duplicating fixtures avoids usage of the stale cache.
https://cdn.discordapp.com/attachments/1039830843440504872/1097795182340092024/Screenshot_87_colored.png
* refactor(css plugin): reduce nesting
* optimization(css rendering): merge <style> tags
Chrome, but not Safari or Firefox, is slower to match rules when they are split across multiple files or style tags.
https://nolanlawson.com/2022/06/22/style-scoping-versus-shadow-dom-which-is-fastest/
Having the abiility to inline stylesheets opens us up to this optimization.
Ideally, it would extend to propagated styles, but that ended up being a rabbit hole.
* typedocs(inlineStylesheets config): ensure consistency
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* chore(build internals): update comment
* correct minor mistake in test
* test(inline stylesheets): unique package names for duplicate fixtures
* refactor(css build plugin): maps -> records
* refactor(css build plugin): remove use of spread operator
---------
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Diffstat (limited to 'packages/integrations/react/client.js')
0 files changed, 0 insertions, 0 deletions