From 9414a856712e7a2dc7539baf3bdb8dd6ae5b9f1d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 26 Feb 2021 20:48:41 +0100 Subject: [PATCH] fix(@nguniversal/common): inline critical font-face rules when using critical css inlining When critical font rules are not inlined it will cause blinking as during first render the fallback font will be rendered. Closes #2002 --- modules/builders/src/prerender/index.ts | 4 ++-- modules/common/engine/src/inline-css-processor.ts | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/builders/src/prerender/index.ts b/modules/builders/src/prerender/index.ts index d54598c63..4cc19caa4 100644 --- a/modules/builders/src/prerender/index.ts +++ b/modules/builders/src/prerender/index.ts @@ -130,8 +130,8 @@ async function _renderUniversal( serverBundlePath, outputPath, browserOptions.deployUrl || '', - normalizedStylesOptimization.inlineCritical === true ? 'true' : 'false' , - normalizedStylesOptimization.minify === true ? 'true' : 'false' , + normalizedStylesOptimization.inlineCritical ? 'true' : 'false' , + normalizedStylesOptimization.minify ? 'true' : 'false' , ...routesShard, ]) .on('message', data => { diff --git a/modules/common/engine/src/inline-css-processor.ts b/modules/common/engine/src/inline-css-processor.ts index f245bf7a7..fdd3523dd 100644 --- a/modules/common/engine/src/inline-css-processor.ts +++ b/modules/common/engine/src/inline-css-processor.ts @@ -40,6 +40,7 @@ class CrittersExtended extends Critters { mergeStylesheets: false, preload: 'media', noscriptFallback: true, + inlineFonts: true, // Cast any is needed because of logger API is not exposed as part of the options // https://github.com/GoogleChromeLabs/critters/issues/66 // tslint:disable-next-line: no-any