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

Fix/improve test for deduplication of tags with same key in Head #9793

Merged
merged 2 commits into from
Dec 24, 2019

Conversation

Manc
Copy link
Contributor

@Manc Manc commented Dec 20, 2019

This is a small fix and improvement for a test. I'm currently investigating an issue I'm having with <Head> and stumbled across a wrong test, so I took the opportunity to improve the test slightly. The result is the same, but it should make the test more reliable in the future.

Main problem is that the test previously checked for the rendered HTML not to contain a certain string, but the string doesn't really make sense (I think it's a typo in #8960) and would never appear in the HTML anyway: <meta name="width=device-width"/>

My proposal for this test is, instead of checking for all kinds of strings that are not supposed to be in the rendered HTML, I think it's better to count and check the number of occurrences.

I will shortly submit another test more related to my actual issue, which this test does not cover.

@ijjk
Copy link
Member

ijjk commented Dec 20, 2019

Stats from current PR

Default Server Mode
General
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
buildDuration 13s 13s ⚠️ +75ms
nodeModulesSize 48.7 MB 48.7 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
main-HASH.js 18.5 kB 18.5 kB
main-HASH.js gzip 6.5 kB 6.5 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..1db6754d3.js 12 kB 12 kB
4952ddcd88e7..54d3.js gzip 4.68 kB 4.68 kB
commons.HASH.js 10.9 kB 10.9 kB
commons.HASH.js gzip 4.06 kB 4.06 kB
de003c3a9d30..7d55a2235.js 38.3 kB 38.3 kB
de003c3a9d30..2235.js gzip 13.9 kB 13.9 kB
framework.HASH.js 126 kB 126 kB
framework.HASH.js gzip 39.5 kB 39.5 kB
Overall change 207 kB 207 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
main-HASH.module.js 14.5 kB 14.5 kB
main-HASH.module.js gzip 5.42 kB 5.42 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
4952ddcd88e7..b9.module.js 14.9 kB 14.9 kB
4952ddcd88e7..dule.js gzip 5.56 kB 5.56 kB
de003c3a9d30..a0.module.js 33.1 kB 33.1 kB
de003c3a9d30..dule.js gzip 12.5 kB 12.5 kB
framework.HASH.module.js 126 kB 126 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 190 kB 190 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
polyfills-HASH.js 15.3 kB 15.3 kB
polyfills-HASH.js gzip 4.76 kB 4.76 kB
Overall change 15.3 kB 15.3 kB
Client Pages
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
_app.js 2.94 kB 2.94 kB
_app.js gzip 1.33 kB 1.33 kB
_error.js 10.4 kB 10.4 kB
_error.js gzip 4.07 kB 4.07 kB
hooks.js 1.44 kB 1.44 kB
hooks.js gzip 779 B 779 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 6.77 kB 6.77 kB
link.js gzip 2.89 kB 2.89 kB
routerDirect.js 411 B 411 B
routerDirect.js gzip 283 B 283 B
withRouter.js 421 B 421 B
withRouter.js gzip 282 B 282 B
Overall change 22.7 kB 22.7 kB
Client Pages Modern
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 757 B 757 B
_error.module.js 7.35 kB 7.35 kB
_error.module.js gzip 3.06 kB 3.06 kB
hooks.module.js 651 B 651 B
hooks.module.js gzip 371 B 371 B
index.module.js 276 B 276 B
index.module.js gzip 212 B 212 B
link.module.js 5.45 kB 5.45 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 383 B 383 B
routerDirect..dule.js gzip 273 B 273 B
withRouter.module.js 394 B 394 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 16 kB 16 kB
Client Build Manifests
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Rendered Page Sizes
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
index.html 4.06 kB 4.06 kB
index.html gzip 1.04 kB 1.04 kB
link.html 4.11 kB 4.11 kB
link.html gzip 1.05 kB 1.05 kB
withRouter.html 4.12 kB 4.12 kB
withRouter.html gzip 1.03 kB 1.03 kB
Overall change 12.3 kB 12.3 kB

Serverless Mode
General
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
buildDuration 13.2s 13.2s -6ms
nodeModulesSize 48.7 MB 48.7 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
main-HASH.js 18.5 kB 18.5 kB
main-HASH.js gzip 6.5 kB 6.5 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..1db6754d3.js 12 kB 12 kB
4952ddcd88e7..54d3.js gzip 4.68 kB 4.68 kB
commons.HASH.js 10.9 kB 10.9 kB
commons.HASH.js gzip 4.06 kB 4.06 kB
de003c3a9d30..7d55a2235.js 38.3 kB 38.3 kB
de003c3a9d30..2235.js gzip 13.9 kB 13.9 kB
framework.HASH.js 126 kB 126 kB
framework.HASH.js gzip 39.5 kB 39.5 kB
Overall change 207 kB 207 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
main-HASH.module.js 14.5 kB 14.5 kB
main-HASH.module.js gzip 5.42 kB 5.42 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
4952ddcd88e7..b9.module.js 14.9 kB 14.9 kB
4952ddcd88e7..dule.js gzip 5.56 kB 5.56 kB
de003c3a9d30..a0.module.js 33.1 kB 33.1 kB
de003c3a9d30..dule.js gzip 12.5 kB 12.5 kB
framework.HASH.module.js 126 kB 126 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 190 kB 190 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
polyfills-HASH.js 15.3 kB 15.3 kB
polyfills-HASH.js gzip 4.76 kB 4.76 kB
Overall change 15.3 kB 15.3 kB
Client Pages
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
_app.js 2.94 kB 2.94 kB
_app.js gzip 1.33 kB 1.33 kB
_error.js 10.4 kB 10.4 kB
_error.js gzip 4.07 kB 4.07 kB
hooks.js 1.44 kB 1.44 kB
hooks.js gzip 779 B 779 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 6.77 kB 6.77 kB
link.js gzip 2.89 kB 2.89 kB
routerDirect.js 411 B 411 B
routerDirect.js gzip 283 B 283 B
withRouter.js 421 B 421 B
withRouter.js gzip 282 B 282 B
Overall change 22.7 kB 22.7 kB
Client Pages Modern
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 757 B 757 B
_error.module.js 7.35 kB 7.35 kB
_error.module.js gzip 3.06 kB 3.06 kB
hooks.module.js 651 B 651 B
hooks.module.js gzip 371 B 371 B
index.module.js 276 B 276 B
index.module.js gzip 212 B 212 B
link.module.js 5.45 kB 5.45 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 383 B 383 B
routerDirect..dule.js gzip 273 B 273 B
withRouter.module.js 394 B 394 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 16 kB 16 kB
Client Build Manifests
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Serverless bundles
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
_error.js 281 kB 281 kB
_error.js gzip 74.9 kB 74.9 kB
hooks.html 4.19 kB 4.19 kB
hooks.html gzip 1.07 kB 1.07 kB
index.js 281 kB 281 kB
index.js gzip 75.1 kB 75.1 kB
link.js 289 kB 289 kB
link.js gzip 77.2 kB 77.2 kB
routerDirect.js 282 kB 282 kB
routerDirect.js gzip 75.2 kB 75.2 kB
withRouter.js 282 kB 282 kB
withRouter.js gzip 75.3 kB 75.3 kB
Overall change 1.42 MB 1.42 MB

Commit: 8350be4

@ijjk
Copy link
Member

ijjk commented Dec 21, 2019

Stats from current PR

Default Server Mode
General
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
buildDuration 12.7s 12.6s -102ms
nodeModulesSize 48.7 MB 48.7 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
main-HASH.js 18.6 kB 18.6 kB
main-HASH.js gzip 6.52 kB 6.52 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..1db6754d3.js 12 kB 12 kB
4952ddcd88e7..54d3.js gzip 4.68 kB 4.68 kB
commons.HASH.js 10.9 kB 10.9 kB
commons.HASH.js gzip 4.06 kB 4.06 kB
de003c3a9d30..17cdc0d60.js 38.3 kB 38.3 kB
de003c3a9d30..0d60.js gzip 13.9 kB 13.9 kB
framework.HASH.js 126 kB 126 kB
framework.HASH.js gzip 39.5 kB 39.5 kB
Overall change 207 kB 207 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
main-HASH.module.js 14.5 kB 14.5 kB
main-HASH.module.js gzip 5.44 kB 5.44 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
4952ddcd88e7..b9.module.js 14.9 kB 14.9 kB
4952ddcd88e7..dule.js gzip 5.56 kB 5.56 kB
de003c3a9d30..e3.module.js 33.1 kB 33.1 kB
de003c3a9d30..dule.js gzip 12.5 kB 12.5 kB
framework.HASH.module.js 126 kB 126 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 190 kB 190 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
polyfills-HASH.js 15.3 kB 15.3 kB
polyfills-HASH.js gzip 4.76 kB 4.76 kB
Overall change 15.3 kB 15.3 kB
Client Pages
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
_app.js 2.94 kB 2.94 kB
_app.js gzip 1.33 kB 1.33 kB
_error.js 10.4 kB 10.4 kB
_error.js gzip 4.07 kB 4.07 kB
hooks.js 1.44 kB 1.44 kB
hooks.js gzip 779 B 779 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 6.88 kB 6.88 kB
link.js gzip 2.93 kB 2.93 kB
routerDirect.js 411 B 411 B
routerDirect.js gzip 283 B 283 B
withRouter.js 421 B 421 B
withRouter.js gzip 282 B 282 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 757 B 757 B
_error.module.js 7.35 kB 7.35 kB
_error.module.js gzip 3.06 kB 3.06 kB
hooks.module.js 651 B 651 B
hooks.module.js gzip 371 B 371 B
index.module.js 276 B 276 B
index.module.js gzip 212 B 212 B
link.module.js 5.54 kB 5.54 kB
link.module.js gzip 2.49 kB 2.49 kB
routerDirect.module.js 383 B 383 B
routerDirect..dule.js gzip 273 B 273 B
withRouter.module.js 394 B 394 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 16.1 kB 16.1 kB
Client Build Manifests
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Rendered Page Sizes
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
index.html 4.06 kB 4.06 kB
index.html gzip 1.04 kB 1.04 kB
link.html 4.11 kB 4.11 kB
link.html gzip 1.04 kB 1.04 kB
withRouter.html 4.12 kB 4.12 kB
withRouter.html gzip 1.03 kB 1.03 kB
Overall change 12.3 kB 12.3 kB

Serverless Mode
General
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
buildDuration 13.1s 13s -136ms
nodeModulesSize 48.7 MB 48.7 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
main-HASH.js 18.6 kB 18.6 kB
main-HASH.js gzip 6.52 kB 6.52 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..1db6754d3.js 12 kB 12 kB
4952ddcd88e7..54d3.js gzip 4.68 kB 4.68 kB
commons.HASH.js 10.9 kB 10.9 kB
commons.HASH.js gzip 4.06 kB 4.06 kB
de003c3a9d30..17cdc0d60.js 38.3 kB 38.3 kB
de003c3a9d30..0d60.js gzip 13.9 kB 13.9 kB
framework.HASH.js 126 kB 126 kB
framework.HASH.js gzip 39.5 kB 39.5 kB
Overall change 207 kB 207 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
main-HASH.module.js 14.5 kB 14.5 kB
main-HASH.module.js gzip 5.44 kB 5.44 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
4952ddcd88e7..b9.module.js 14.9 kB 14.9 kB
4952ddcd88e7..dule.js gzip 5.56 kB 5.56 kB
de003c3a9d30..e3.module.js 33.1 kB 33.1 kB
de003c3a9d30..dule.js gzip 12.5 kB 12.5 kB
framework.HASH.module.js 126 kB 126 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 190 kB 190 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
polyfills-HASH.js 15.3 kB 15.3 kB
polyfills-HASH.js gzip 4.76 kB 4.76 kB
Overall change 15.3 kB 15.3 kB
Client Pages
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
_app.js 2.94 kB 2.94 kB
_app.js gzip 1.33 kB 1.33 kB
_error.js 10.4 kB 10.4 kB
_error.js gzip 4.07 kB 4.07 kB
hooks.js 1.44 kB 1.44 kB
hooks.js gzip 779 B 779 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 6.88 kB 6.88 kB
link.js gzip 2.93 kB 2.93 kB
routerDirect.js 411 B 411 B
routerDirect.js gzip 283 B 283 B
withRouter.js 421 B 421 B
withRouter.js gzip 282 B 282 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 757 B 757 B
_error.module.js 7.35 kB 7.35 kB
_error.module.js gzip 3.06 kB 3.06 kB
hooks.module.js 651 B 651 B
hooks.module.js gzip 371 B 371 B
index.module.js 276 B 276 B
index.module.js gzip 212 B 212 B
link.module.js 5.54 kB 5.54 kB
link.module.js gzip 2.49 kB 2.49 kB
routerDirect.module.js 383 B 383 B
routerDirect..dule.js gzip 273 B 273 B
withRouter.module.js 394 B 394 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 16.1 kB 16.1 kB
Client Build Manifests
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Serverless bundles
zeit/next.js canary Manc/next.js fix-head-dedupe-test Change
_error.js 281 kB 281 kB
_error.js gzip 74.8 kB 74.8 kB
hooks.html 4.19 kB 4.19 kB
hooks.html gzip 1.07 kB 1.07 kB
index.js 281 kB 281 kB
index.js gzip 75.1 kB 75.1 kB
link.js 289 kB 289 kB
link.js gzip 77.2 kB 77.2 kB
routerDirect.js 282 kB 282 kB
routerDirect.js gzip 75.2 kB 75.2 kB
withRouter.js 282 kB 282 kB
withRouter.js gzip 75.3 kB 75.3 kB
Overall change 1.42 MB 1.42 MB

Commit: 386ee22

@timneutkens timneutkens merged commit 5909e67 into vercel:canary Dec 24, 2019
@timneutkens
Copy link
Member

Looks fine to change it, thanks! 👍

@vercel vercel locked as resolved and limited conversation to collaborators Jan 31, 2022
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