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

IE11 compatibility for top-level await #18487

Closed
wants to merge 4 commits into from

Conversation

amannn
Copy link
Contributor

@amannn amannn commented Oct 29, 2020

I noticed that when the top-level await feature is used, the compiled output contains async/await and will therefore throw in IE11.

Do you have an idea what's causing this?

Update: I think this has to be solved on the webpack side. I've created an issue here: webpack/webpack#11874.

Related to #17590

/cc @Janpot

@ijjk
Copy link
Member

ijjk commented Oct 29, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
buildDuration 12.9s 12.7s -277ms
nodeModulesSize 91.3 MB 91.3 MB
Page Load Tests Overall increase ✓
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
/ failed reqs 0 0
/ total time (seconds) 2.455 2.412 -0.04
/ avg req/sec 1018.16 1036.7 +18.54
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.289 1.243 -0.05
/error-in-render avg req/sec 1939.45 2012.04 +72.59
Client Bundles (main, webpack, commons)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..3aa9.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-7f1864f..ae19.js gzip 7.35 kB 7.35 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.3 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-6865226..dule.js gzip 6.33 kB 6.33 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-41ceea0..6b62.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-2d41a89..dule.js gzip 1.31 kB 1.31 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.4 kB 5.4 kB
Client Build Manifests
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_buildManifest.js gzip 323 B 323 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 652 B 652 B
Rendered Page Sizes
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 996 B 996 B
Overall change 3.01 kB 3.01 kB

Serverless Mode
General
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
buildDuration 14.5s 14.7s ⚠️ +219ms
nodeModulesSize 91.3 MB 91.3 MB
Client Bundles (main, webpack, commons)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..3aa9.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-7f1864f..ae19.js gzip 7.35 kB 7.35 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.3 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-6865226..dule.js gzip 6.33 kB 6.33 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-41ceea0..6b62.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-2d41a89..dule.js gzip 1.31 kB 1.31 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.4 kB 5.4 kB
Client Build Manifests
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_buildManifest.js gzip 323 B 323 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 652 B 652 B
Serverless bundles
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_error.js 1.06 MB 1.06 MB
404.html 4.73 kB 4.73 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.06 MB 1.06 MB
link.js 1.11 MB 1.11 MB
routerDirect.js 1.1 MB 1.1 MB
withRouter.js 1.1 MB 1.1 MB
Overall change 5.43 MB 5.43 MB
Commit: e842769

@ijjk
Copy link
Member

ijjk commented Oct 29, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
buildDuration 13s 13.7s ⚠️ +673ms
nodeModulesSize 91.3 MB 91.3 MB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
/ failed reqs 0 0
/ total time (seconds) 2.554 2.552 0
/ avg req/sec 979.04 979.78 +0.74
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.518 1.586 ⚠️ +0.07
/error-in-render avg req/sec 1646.53 1576.75 ⚠️ -69.78
Client Bundles (main, webpack, commons)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..3aa9.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-7f1864f..ae19.js gzip 7.35 kB 7.35 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.3 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-6865226..dule.js gzip 6.33 kB 6.33 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-41ceea0..6b62.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-2d41a89..dule.js gzip 1.31 kB 1.31 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.4 kB 5.4 kB
Client Build Manifests
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_buildManifest.js gzip 323 B 323 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 652 B 652 B
Rendered Page Sizes
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 996 B 996 B
Overall change 3.01 kB 3.01 kB

Serverless Mode
General
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
buildDuration 15s 15.1s ⚠️ +74ms
nodeModulesSize 91.3 MB 91.3 MB
Client Bundles (main, webpack, commons)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..3aa9.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-7f1864f..ae19.js gzip 7.35 kB 7.35 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.3 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-6865226..dule.js gzip 6.33 kB 6.33 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-41ceea0..6b62.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-2d41a89..dule.js gzip 1.31 kB 1.31 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.4 kB 5.4 kB
Client Build Manifests
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_buildManifest.js gzip 323 B 323 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 652 B 652 B
Serverless bundles
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_error.js 1.06 MB 1.06 MB
404.html 4.73 kB 4.73 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.06 MB 1.06 MB
link.js 1.11 MB 1.11 MB
routerDirect.js 1.1 MB 1.1 MB
withRouter.js 1.1 MB 1.1 MB
Overall change 5.43 MB 5.43 MB
Commit: 3d972c2

- run: cat packages/next/package.json | jq '.resolutions."react-dom" = "^17.0.0-rc.1"' > package.json.tmp && mv package.json.tmp packages/next/package.json
- run: cat package.json | jq '.resolutions.webpack = "^5.0.0-beta.30"' > package.json.tmp && mv package.json.tmp package.json
- run: cat package.json | jq '.resolutions.react = "^17.0.0-rc.1"' > package.json.tmp && mv package.json.tmp package.json
- run: cat package.json | jq '.resolutions."react-dom" = "^17.0.0-rc.1"' > package.json.tmp && mv package.json.tmp package.json
Copy link
Contributor Author

@amannn amannn Oct 29, 2020

Choose a reason for hiding this comment

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

I noticed that the webpack 5 tests never ran, as webpack remained at 4.x on CI. When #17590 was merged, it looks like all tests were simply skipped:

Running tests: 
 test/integration/async-modules/test/index.test.js

  console.log test/jest-setup-after-env.js:5
    Configuring jest retries: 0

Test Suites: 1 skipped, 0 of 1 total
Tests:       24 skipped, 24 total
Snapshots:   0 total
Time:        4.269s

From https://github.com/vercel/next.js/runs/1252336307

With the change above, they run as expected. Does this look ok to you or am I overlooking something?

Copy link
Contributor

Choose a reason for hiding this comment

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

🤔 interesting. That means none of the webpack 5 tests are currently actually testing webpack 5 integration?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm not sure, I'm really new to the repository and not familiar with the general setup. I just noticed that my added test didn't fail on CI and therefore I've adjusted this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Btw. the project where I originally found this bug is using the currently latest version of webpack: 5.3.1.

Copy link
Contributor

@Janpot Janpot Oct 29, 2020

Choose a reason for hiding this comment

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

And this doesn't happen on next 10 + webpack 4?

Copy link
Contributor

Choose a reason for hiding this comment

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

I mean, does the bundle contain async () => in webpack 4, even when not using top-level-await?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I haven't checked that yet, but what I did try is using webpack 5 and using async/await in the regular component code in _app. These statements were changed to ES5 as expected, but only the top-level await code resulted in native async/await code.

That made me wondering if top-level await only works with native async/await but I'd assume there should be some way for webpack to resolve the modules with promises and calling then.

As far as I understand the build chain, the user-land async/await code is compiled with Babel and then provided to webpack. But for top-level await code Babel doesn't attempt to transform it, since it needs to rely on the bundler to do this. The bundler chooses to turn it into native async/await which happens to break in IE11.

So I'm wondering if this is really a webpack issue, as I guess you wouldn't want to run babel again on the bundle code that webpack has produced.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've created a minimal reproduction only with webpack now and opened an issue in the webpack repository to discuss this: webpack/webpack#11874.

Copy link
Contributor

Choose a reason for hiding this comment

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

fyi, I also included these changes in #18589

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sure, thanks!

@ijjk
Copy link
Member

ijjk commented Oct 29, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
buildDuration 12.7s 12.8s ⚠️ +79ms
nodeModulesSize 91.3 MB 91.3 MB
Page Load Tests Overall increase ✓
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
/ failed reqs 0 0
/ total time (seconds) 2.398 2.4 0
/ avg req/sec 1042.53 1041.58 ⚠️ -0.95
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.285 1.255 -0.03
/error-in-render avg req/sec 1945.05 1992.77 +47.72
Client Bundles (main, webpack, commons)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..3aa9.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-7f1864f..ae19.js gzip 7.35 kB 7.35 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.3 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-6865226..dule.js gzip 6.33 kB 6.33 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-41ceea0..6b62.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-2d41a89..dule.js gzip 1.31 kB 1.31 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.4 kB 5.4 kB
Client Build Manifests
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_buildManifest.js gzip 323 B 323 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 652 B 652 B
Rendered Page Sizes
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 996 B 996 B
Overall change 3.01 kB 3.01 kB

Serverless Mode
General
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
buildDuration 14.7s 14.7s ⚠️ +34ms
nodeModulesSize 91.3 MB 91.3 MB
Client Bundles (main, webpack, commons)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..3aa9.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-7f1864f..ae19.js gzip 7.35 kB 7.35 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.3 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-6865226..dule.js gzip 6.33 kB 6.33 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-41ceea0..6b62.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-2d41a89..dule.js gzip 1.31 kB 1.31 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.4 kB 5.4 kB
Client Build Manifests
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_buildManifest.js gzip 323 B 323 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 652 B 652 B
Serverless bundles
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_error.js 1.06 MB 1.06 MB
404.html 4.73 kB 4.73 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.06 MB 1.06 MB
link.js 1.11 MB 1.11 MB
routerDirect.js 1.1 MB 1.1 MB
withRouter.js 1.1 MB 1.1 MB
Overall change 5.43 MB 5.43 MB
Commit: faf1f20

@ijjk
Copy link
Member

ijjk commented Oct 29, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
buildDuration 12.8s 12.8s -4ms
nodeModulesSize 91.3 MB 91.3 MB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
/ failed reqs 0 0
/ total time (seconds) 2.456 2.413 -0.04
/ avg req/sec 1018.1 1035.85 +17.75
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.293 1.342 ⚠️ +0.05
/error-in-render avg req/sec 1932.81 1862.94 ⚠️ -69.87
Client Bundles (main, webpack, commons)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..3aa9.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-7f1864f..ae19.js gzip 7.35 kB 7.35 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.3 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-6865226..dule.js gzip 6.33 kB 6.33 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-41ceea0..6b62.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-2d41a89..dule.js gzip 1.31 kB 1.31 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.4 kB 5.4 kB
Client Build Manifests
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_buildManifest.js gzip 323 B 323 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 652 B 652 B
Rendered Page Sizes
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 996 B 996 B
Overall change 3.01 kB 3.01 kB

Serverless Mode
General
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
buildDuration 14.5s 14.7s ⚠️ +249ms
nodeModulesSize 91.3 MB 91.3 MB
Client Bundles (main, webpack, commons)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..3aa9.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-7f1864f..ae19.js gzip 7.35 kB 7.35 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.3 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-6865226..dule.js gzip 6.33 kB 6.33 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-41ceea0..6b62.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-2d41a89..dule.js gzip 1.31 kB 1.31 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.4 kB 5.4 kB
Client Build Manifests
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_buildManifest.js gzip 323 B 323 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 652 B 652 B
Serverless bundles
vercel/next.js canary amannn/next.js top-level-await-ie11 Change
_error.js 1.06 MB 1.06 MB
404.html 4.73 kB 4.73 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.06 MB 1.06 MB
link.js 1.11 MB 1.11 MB
routerDirect.js 1.1 MB 1.1 MB
withRouter.js 1.1 MB 1.1 MB
Overall change 5.43 MB 5.43 MB
Commit: e274650


const appScriptMatch = html.match(
/\/_next\/static\/chunks\/pages\/_app-.+?\.js/
)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not sure if there's a way to avoid hardcoding this path or to generally rewrite this test. For now I only tried to get a failing test that demonstrates the issue.

@amannn amannn marked this pull request as ready for review October 29, 2020 16:13

const appScript = appScriptMatch[0]
const appScriptContent = await renderViaHTTP(appPort, appScript)
expect(appScriptContent).not.toMatch(/async\(\)=>/)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This fails currently.

@timneutkens
Copy link
Member

Going to close this as it's stale, could you open a new PR as the webpack 5 tests run correctly now. Thanks!

@amannn
Copy link
Contributor Author

amannn commented Jan 24, 2021

@timneutkens I don't think there's a way to get this to work from the webpack side currently. I was working on a fix in webpack/webpack#11881, but it seems quite complex to solve.

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

None yet

4 participants