Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow custom amp validation #9191

Merged
merged 20 commits into from
Nov 26, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
5afcf3c
Allow custom amp validation
yosuke-furukawa Oct 24, 2019
637ebd5
Merge branch 'canary' into fix_custom_amp_validator
yosuke-furukawa Oct 25, 2019
36ab0ad
Merge branch 'canary' into fix_custom_amp_validator
yosuke-furukawa Oct 25, 2019
0e88207
Merge branch 'canary' into fix_custom_amp_validator
yosuke-furukawa Oct 26, 2019
acee883
Merge branch 'canary' into fix_custom_amp_validator
yosuke-furukawa Oct 27, 2019
69086dd
Merge branch 'canary' into fix_custom_amp_validator
yosuke-furukawa Oct 28, 2019
97dbedb
Merge branch 'canary' into fix_custom_amp_validator
yosuke-furukawa Oct 29, 2019
a9cb552
Merge branch 'canary' into fix_custom_amp_validator
yosuke-furukawa Oct 29, 2019
3da2929
Merge branch 'canary' into fix_custom_amp_validator
yosuke-furukawa Oct 30, 2019
327bda0
Merge branch 'canary' into fix_custom_amp_validator
yosuke-furukawa Oct 30, 2019
ccbb6cf
Merge branch 'canary' into fix_custom_amp_validator
yosuke-furukawa Nov 1, 2019
5ec434b
Merge branch 'canary' into fix_custom_amp_validator
yosuke-furukawa Nov 3, 2019
bdcb615
Merge branch 'canary' into fix_custom_amp_validator
yosuke-furukawa Nov 7, 2019
49b6917
Merge branch 'canary' into fix_custom_amp_validator
yosuke-furukawa Nov 12, 2019
94643b1
Update packages/next/export/index.ts
yosuke-furukawa Nov 23, 2019
6124ce3
Update packages/next/server/next-dev-server.ts
yosuke-furukawa Nov 23, 2019
c42aa48
Merge branch 'canary' into fix_custom_amp_validator
yosuke-furukawa Nov 23, 2019
e1c1278
chore: fix prettier error
yosuke-furukawa Nov 23, 2019
1ac43a1
fix: set amp.valiator undefined by default
yosuke-furukawa Nov 23, 2019
0890a5d
Merge branch 'canary' into fix_custom_amp_validator
yosuke-furukawa Nov 26, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions packages/next/export/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,9 @@ export default async function(
hotReloader: null,
canonicalBase: (nextConfig.amp && nextConfig.amp.canonicalBase) || '',
isModern: nextConfig.experimental.modern,
ampValidator:
(nextConfig.experimental.amp && nextConfig.experimental.amp.validator) ||
undefined,
}

const { serverRuntimeConfig, publicRuntimeConfig } = nextConfig
Expand Down
6 changes: 3 additions & 3 deletions packages/next/export/worker.js
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,8 @@ export default async function({
}
}

const validateAmp = async (html, page) => {
const validator = await AmpHtmlValidator.getInstance()
const validateAmp = async (html, page, validatorPath) => {
const validator = await AmpHtmlValidator.getInstance(validatorPath)
const result = validator.validateString(html)
const errors = result.errors.filter(e => e.severity === 'ERROR')
const warnings = result.errors.filter(e => e.severity !== 'ERROR')
Expand All @@ -181,7 +181,7 @@ export default async function({
}

if (curRenderOpts.inAmpMode) {
await validateAmp(html, path)
await validateAmp(html, path, curRenderOpts.ampValidator)
} else if (curRenderOpts.hybridAmp) {
// we need to render the AMP version
let ampHtmlFilename = `${ampPath}${sep}index.html`
Expand Down
6 changes: 5 additions & 1 deletion packages/next/server/next-dev-server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,11 @@ export default class DevServer extends Server {
html: string,
pathname: string
) => {
return AmpHtmlValidator.getInstance().then(validator => {
const validatorPath =
this.nextConfig.experimental &&
this.nextConfig.experimental.amp &&
this.nextConfig.experimental.amp.validator
return AmpHtmlValidator.getInstance(validatorPath).then(validator => {
const result = validator.validateString(html)
ampValidation(
pathname,
Expand Down