From 7a754d573dbbbed309c4224408556c9e95f574e5 Mon Sep 17 00:00:00 2001 From: Oleg Zuev Date: Fri, 4 Nov 2022 19:28:16 +0300 Subject: [PATCH 1/3] Remove useless async declaration and replace regexp to plain string in AMP postProcessor --- packages/next/server/post-process.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/next/server/post-process.ts b/packages/next/server/post-process.ts index 491c41e2b701..082e24afdde7 100644 --- a/packages/next/server/post-process.ts +++ b/packages/next/server/post-process.ts @@ -226,8 +226,8 @@ async function postProcessHTML( } : null, inAmpMode || hybridAmp - ? async (html: string) => { - return html.replace(/&amp=1/g, '&=1') + ? (html: string) => { + return html.replace('&amp=1', '&=1') } : null, ].filter(nonNullable) From 813ae0e6686d9aa36954a75d041a8a603e421219 Mon Sep 17 00:00:00 2001 From: Oleg Zuev Date: Fri, 4 Nov 2022 19:35:45 +0300 Subject: [PATCH 2/3] fix to replaceAll --- packages/next/server/post-process.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/next/server/post-process.ts b/packages/next/server/post-process.ts index 082e24afdde7..9ebd9b6b49d9 100644 --- a/packages/next/server/post-process.ts +++ b/packages/next/server/post-process.ts @@ -227,7 +227,7 @@ async function postProcessHTML( : null, inAmpMode || hybridAmp ? (html: string) => { - return html.replace('&amp=1', '&=1') + return html.replaceAll('&amp=1', '&=1') } : null, ].filter(nonNullable) From 688f084639a5f7464f47133d93dac2eee694b4ac Mon Sep 17 00:00:00 2001 From: Oleg Zuev Date: Fri, 4 Nov 2022 19:56:29 +0300 Subject: [PATCH 3/3] fix typing --- packages/next/server/post-process.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/next/server/post-process.ts b/packages/next/server/post-process.ts index 9ebd9b6b49d9..c64d406a08c0 100644 --- a/packages/next/server/post-process.ts +++ b/packages/next/server/post-process.ts @@ -22,6 +22,10 @@ type middlewareSignature = { condition: ((options: postProcessOptions) => boolean) | null } +type PostProcessorFunction = + | ((html: string) => Promise) + | ((html: string) => string) + const middlewareRegistry: Array = [] function registerPostProcessor( @@ -175,7 +179,7 @@ async function postProcessHTML( renderOpts: RenderOpts, { inAmpMode, hybridAmp }: { inAmpMode: boolean; hybridAmp: boolean } ) { - const postProcessors: Array<(html: string) => Promise> = [ + const postProcessors: Array = [ process.env.NEXT_RUNTIME !== 'edge' && inAmpMode ? async (html: string) => { const optimizeAmp = require('./optimize-amp')