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

Remove __NEXT_DATA__ from production builds when runtime JS is disabled #12406

Conversation

TxHawks
Copy link
Contributor

@TxHawks TxHawks commented May 2, 2020

This PR removes the __NEXT_DATA__ script tag on production builds on pages that explicitly opt out of including the JS bundle in the generated html, as discussed in #11949 (comment).

Additionally, it implements initial tests for excluding the runtime bundle

@ijjk
Copy link
Member

ijjk commented May 2, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
buildDuration 11.5s 11.7s ⚠️ +272ms
nodeModulesSize 56.4 MB 56.4 MB ⚠️ +78 B
Page Load Tests Overall increase ✓
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
/ failed reqs 0 0
/ total time (seconds) 1.97 1.96 -0.01
/ avg req/sec 1268.78 1275.72 ⚠️ +6.94
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.201 1.11 -0.09
/error-in-render avg req/sec 2081.65 2251.69 ⚠️ +170.04
Client Bundles (main, webpack, commons)
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
main-HASH.js gzip 6.28 kB 6.28 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..5232.js gzip 10.3 kB 10.3 kB
framework.a1..NSE.txt gzip 220 B 220 B
framework.a1..NSE.txt gzip 220 B 220 B
framework.HASH.js gzip 39.2 kB 39.2 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
main-HASH.module.js gzip 4.82 kB 4.82 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.88 kB 6.88 kB
framework.HA..dule.js gzip 39.2 kB 39.2 kB
Overall change 51.7 kB 51.7 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js 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 TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
_app.js gzip 1.23 kB 1.23 kB
_error.js gzip 3.13 kB 3.13 kB
hooks.js gzip 663 B 663 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 7.86 kB 7.86 kB
Client Pages Modern
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
_app.module.js gzip 598 B 598 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js 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 TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
index.html gzip 927 B 927 B
link.html gzip 936 B 936 B
withRouter.html gzip 925 B 925 B
Overall change 2.79 kB 2.79 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
buildDuration 12.3s 12.3s ⚠️ +12ms
nodeModulesSize 56.4 MB 56.4 MB ⚠️ +78 B
Client Bundles (main, webpack, commons)
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
main-HASH.js gzip 6.28 kB 6.28 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..5232.js gzip 10.3 kB 10.3 kB
framework.a1..NSE.txt gzip 220 B 220 B
framework.a1..NSE.txt gzip 220 B 220 B
framework.HASH.js gzip 39.2 kB 39.2 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
main-HASH.module.js gzip 4.82 kB 4.82 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.88 kB 6.88 kB
framework.HA..dule.js gzip 39.2 kB 39.2 kB
Overall change 51.7 kB 51.7 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js 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 TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
_app.js gzip 1.23 kB 1.23 kB
_error.js gzip 3.13 kB 3.13 kB
hooks.js gzip 663 B 663 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 7.86 kB 7.86 kB
Client Pages Modern
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
_app.module.js gzip 598 B 598 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js 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 increase ⚠️
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
_error.js 853 kB 853 kB ⚠️ +90 B
404.html 4.18 kB 4.18 kB
hooks.html 3.81 kB 3.81 kB
index.js 853 kB 853 kB ⚠️ +90 B
link.js 891 kB 891 kB ⚠️ +90 B
routerDirect.js 883 kB 883 kB ⚠️ +90 B
withRouter.js 883 kB 883 kB ⚠️ +90 B
Overall change 4.37 MB 4.37 MB ⚠️ +450 B

@ijjk
Copy link
Member

ijjk commented May 2, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
buildDuration 11.4s 11.8s ⚠️ +416ms
nodeModulesSize 56.4 MB 56.4 MB ⚠️ +78 B
Page Load Tests Overall decrease ⚠️
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
/ failed reqs 0 0
/ total time (seconds) 1.874 1.96 ⚠️ +0.09
/ avg req/sec 1333.72 1275.64 -58.08
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.151 1.149 0
/error-in-render avg req/sec 2171.37 2175.22 ⚠️ +3.85
Client Bundles (main, webpack, commons)
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
main-HASH.js gzip 6.28 kB 6.28 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..5232.js gzip 10.3 kB 10.3 kB
framework.a1..NSE.txt gzip 220 B 220 B
framework.a1..NSE.txt gzip 220 B 220 B
framework.HASH.js gzip 39.2 kB 39.2 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
main-HASH.module.js gzip 4.82 kB 4.82 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.88 kB 6.88 kB
framework.HA..dule.js gzip 39.2 kB 39.2 kB
Overall change 51.7 kB 51.7 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js 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 TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
_app.js gzip 1.23 kB 1.23 kB
_error.js gzip 3.13 kB 3.13 kB
hooks.js gzip 663 B 663 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 7.86 kB 7.86 kB
Client Pages Modern
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
_app.module.js gzip 598 B 598 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js 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 TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
index.html gzip 927 B 927 B
link.html gzip 936 B 936 B
withRouter.html gzip 925 B 925 B
Overall change 2.79 kB 2.79 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
buildDuration 12.4s 12.6s ⚠️ +245ms
nodeModulesSize 56.4 MB 56.4 MB ⚠️ +78 B
Client Bundles (main, webpack, commons)
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
main-HASH.js gzip 6.28 kB 6.28 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..5232.js gzip 10.3 kB 10.3 kB
framework.a1..NSE.txt gzip 220 B 220 B
framework.a1..NSE.txt gzip 220 B 220 B
framework.HASH.js gzip 39.2 kB 39.2 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
main-HASH.module.js gzip 4.82 kB 4.82 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.88 kB 6.88 kB
framework.HA..dule.js gzip 39.2 kB 39.2 kB
Overall change 51.7 kB 51.7 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js 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 TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
_app.js gzip 1.23 kB 1.23 kB
_error.js gzip 3.13 kB 3.13 kB
hooks.js gzip 663 B 663 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 7.86 kB 7.86 kB
Client Pages Modern
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
_app.module.js gzip 598 B 598 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js 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 increase ⚠️
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
_error.js 853 kB 853 kB ⚠️ +90 B
404.html 4.18 kB 4.18 kB
hooks.html 3.81 kB 3.81 kB
index.js 853 kB 853 kB ⚠️ +90 B
link.js 891 kB 891 kB ⚠️ +90 B
routerDirect.js 883 kB 883 kB ⚠️ +90 B
withRouter.js 883 kB 883 kB ⚠️ +90 B
Overall change 4.37 MB 4.37 MB ⚠️ +450 B

@ijjk
Copy link
Member

ijjk commented May 2, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
buildDuration 11.3s 11.2s -90ms
nodeModulesSize 56.4 MB 56.4 MB ⚠️ +78 B
Page Load Tests Overall decrease ⚠️
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
/ failed reqs 0 0
/ total time (seconds) 1.783 1.861 ⚠️ +0.08
/ avg req/sec 1402.42 1343.07 -59.35
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.069 1.065 0
/error-in-render avg req/sec 2337.58 2347.49 ⚠️ +9.91
Client Bundles (main, webpack, commons)
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
main-HASH.js gzip 6.28 kB 6.28 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..5232.js gzip 10.3 kB 10.3 kB
framework.a1..NSE.txt gzip 220 B 220 B
framework.a1..NSE.txt gzip 220 B 220 B
framework.HASH.js gzip 39.2 kB 39.2 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
main-HASH.module.js gzip 4.82 kB 4.82 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.88 kB 6.88 kB
framework.HA..dule.js gzip 39.2 kB 39.2 kB
Overall change 51.7 kB 51.7 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js 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 TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
_app.js gzip 1.23 kB 1.23 kB
_error.js gzip 3.13 kB 3.13 kB
hooks.js gzip 663 B 663 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 7.86 kB 7.86 kB
Client Pages Modern
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
_app.module.js gzip 598 B 598 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js 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 TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
index.html gzip 927 B 927 B
link.html gzip 936 B 936 B
withRouter.html gzip 925 B 925 B
Overall change 2.79 kB 2.79 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
buildDuration 12s 11.3s -632ms
nodeModulesSize 56.4 MB 56.4 MB ⚠️ +78 B
Client Bundles (main, webpack, commons)
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
main-HASH.js gzip 6.28 kB 6.28 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..5232.js gzip 10.3 kB 10.3 kB
framework.a1..NSE.txt gzip 220 B 220 B
framework.a1..NSE.txt gzip 220 B 220 B
framework.HASH.js gzip 39.2 kB 39.2 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
main-HASH.module.js gzip 4.82 kB 4.82 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.88 kB 6.88 kB
framework.HA..dule.js gzip 39.2 kB 39.2 kB
Overall change 51.7 kB 51.7 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js 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 TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
_app.js gzip 1.23 kB 1.23 kB
_error.js gzip 3.13 kB 3.13 kB
hooks.js gzip 663 B 663 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 7.86 kB 7.86 kB
Client Pages Modern
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
_app.module.js gzip 598 B 598 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js 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 increase ⚠️
zeit/next.js canary TxHawks/next.js feature/disable-next-data-when-no-runtime-js Change
_error.js 853 kB 853 kB ⚠️ +90 B
404.html 4.18 kB 4.18 kB
hooks.html 3.81 kB 3.81 kB
index.js 853 kB 853 kB ⚠️ +90 B
link.js 891 kB 891 kB ⚠️ +90 B
routerDirect.js 883 kB 883 kB ⚠️ +90 B
withRouter.js 883 kB 883 kB ⚠️ +90 B
Overall change 4.37 MB 4.37 MB ⚠️ +450 B

@TxHawks
Copy link
Contributor Author

TxHawks commented May 3, 2020

Not sure why some of the azure checks are failing. From a cursory look at the logs it seems like it timed out for some reason

Copy link
Member

@timneutkens timneutkens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great first PR to the core features 💯 Thanks for adding the tests 🏆

@timneutkens timneutkens merged commit 0c8a401 into vercel:canary May 3, 2020
@TxHawks TxHawks deleted the feature/disable-next-data-when-no-runtime-js branch May 3, 2020 17:49
rokinsky pushed a commit to rokinsky/next.js that referenced this pull request Jul 11, 2020
@vercel vercel locked as resolved and limited conversation to collaborators Jan 30, 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