diff --git a/packages/next-server/server/render.tsx b/packages/next-server/server/render.tsx
index 017aecdda76381c2fd2105a72a9679683bb1833f..93e50838feac424f59cbbab9a79680fd6cf3ab27 100644
--- a/packages/next-server/server/render.tsx
+++ b/packages/next-server/server/render.tsx
@@ -126,6 +126,7 @@ type RenderOpts = {
ampPath?: string
amphtml?: boolean
hasAmp?: boolean,
+ ampMode?: any,
dataOnly?: boolean,
buildManifest: BuildManifest
reactLoadableManifest: ReactLoadableManifest
@@ -155,6 +156,7 @@ function renderDocument(
ampPath,
amphtml,
hasAmp,
+ ampMode,
staticMarkup,
devFiles,
files,
@@ -168,6 +170,7 @@ function renderDocument(
ampPath: string,
amphtml: boolean
hasAmp: boolean,
+ ampMode: any,
dynamicImportsIds: string[]
dynamicImports: ManifestItem[]
files: string[]
@@ -177,31 +180,33 @@ function renderDocument(
return (
'' +
renderToStaticMarkup(
- ,
+
+
+ ,
)
)
}
@@ -420,6 +425,7 @@ export async function renderToHTML(
let html = renderDocument(Document, {
...renderOpts,
dataManagerData,
+ ampMode,
props,
docProps,
pathname,
diff --git a/packages/next/pages/_document.js b/packages/next/pages/_document.js
index 0b51e8499546f84e5a237623ea8a9b2dc386f5b8..9205cbf7fe6a1a6c8c151f72a22c325a50176178 100644
--- a/packages/next/pages/_document.js
+++ b/packages/next/pages/_document.js
@@ -186,12 +186,20 @@ export class Head extends Component {
badProp = 'name="viewport"'
} else if (type === 'link' && props.rel === 'canonical') {
badProp = 'rel="canonical"'
- } else if (type === 'script' && !(props.src && props.src.indexOf('ampproject') > -1)) {
- badProp = '