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

Any elements must be direct children of next/head #11557

Merged
merged 1 commit into from
Apr 6, 2020

Conversation

yossisp
Copy link
Contributor

@yossisp yossisp commented Apr 1, 2020

I think it would be nice to mention that absolutely any children elements of next/head must be direct descendants, not just meta or title. This information may prevent the issue #8921.

It is any elements and not only meta or title because the children of next/head are generated here
where React.cloneElement is called without the third parameter which is needed to clone the children (https://reactjs.org/docs/react-api.html#cloneelement). The elements are generated this way client-side, so server-side the issue will not be experienced.

…/head, not just meta or title.

It is any elements and not only meta or title because the children of next/head are generated in here: https://github.com/zeit/next.js/blob/8c899ee5e4cadc0a1cb47918613c1f6028b26314/packages/next/next-server/lib/head.tsx#L139
where React.cloneElement is called without the third parameter which is needed to clone the children as well (https://reactjs.org/docs/react-api.html#cloneelement).
@yossisp yossisp requested a review from Timer as a code owner April 1, 2020 16:13
@ijjk
Copy link
Member

ijjk commented Apr 1, 2020

Stats from current PR

Default Server Mode
General
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
buildDuration 9.2s 9.1s -158ms
nodeModulesSize 47.7 MB 47.7 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
main-HASH.js gzip 6.24 kB 6.24 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..c6c1.js gzip 10.1 kB 10.1 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.2 kB 56.2 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
main-HASH.module.js gzip 4.78 kB 4.78 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.71 kB 6.71 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.4 kB 51.4 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
_app.js gzip 1.24 kB 1.24 kB
_error.js gzip 3.15 kB 3.15 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 2.03 kB 2.03 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.86 kB 7.86 kB
Client Pages Modern
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
_app.module.js gzip 594 B 594 B
_error.module.js gzip 2.08 kB 2.08 kB
hooks.module.js gzip 370 B 370 B
index.module.js gzip 212 B 212 B
link.module.js gzip 1.48 kB 1.48 kB
routerDirect..dule.js gzip 271 B 271 B
withRouter.m..dule.js gzip 270 B 270 B
Overall change 5.28 kB 5.28 kB
Client Build Manifests
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
index.html gzip 918 B 918 B
link.html gzip 926 B 926 B
withRouter.html gzip 916 B 916 B
Overall change 2.76 kB 2.76 kB

Serverless Mode (Decrease detected ✓)
General
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
buildDuration 9.6s 9.8s ⚠️ +218ms
nodeModulesSize 47.7 MB 47.7 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
main-HASH.js gzip 6.24 kB 6.24 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..c6c1.js gzip 10.1 kB 10.1 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.2 kB 56.2 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
main-HASH.module.js gzip 4.78 kB 4.78 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.71 kB 6.71 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.4 kB 51.4 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
_app.js gzip 1.24 kB 1.24 kB
_error.js gzip 3.15 kB 3.15 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 2.03 kB 2.03 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.86 kB 7.86 kB
Client Pages Modern
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
_app.module.js gzip 594 B 594 B
_error.module.js gzip 2.08 kB 2.08 kB
hooks.module.js gzip 370 B 370 B
index.module.js gzip 212 B 212 B
link.module.js gzip 1.48 kB 1.48 kB
routerDirect..dule.js gzip 271 B 271 B
withRouter.m..dule.js gzip 270 B 270 B
Overall change 5.28 kB 5.28 kB
Client Build Manifests
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles Overall decrease ✓
zeit/next.js canary yossisp/next.js update-next-head-documentation Change
_error.js gzip 232 kB 232 kB -43 B
404.html gzip 1.32 kB 1.32 kB
hooks.html gzip 959 B 959 B
index.js gzip 232 kB 232 kB -105 B
link.js gzip 243 kB 243 kB -99 B
routerDirect.js gzip 241 kB 241 kB -39 B
withRouter.js gzip 241 kB 241 kB ⚠️ +30 B
Overall change 1.19 MB 1.19 MB -256 B

@timneutkens timneutkens merged commit 23d71ff into vercel:canary Apr 6, 2020
@timneutkens
Copy link
Member

Thanks!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants