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

webpack 5 externals fixes #24603

Merged
merged 4 commits into from
May 7, 2021
Merged

webpack 5 externals fixes #24603

merged 4 commits into from
May 7, 2021

Conversation

sokra
Copy link
Member

@sokra sokra commented Apr 29, 2021

  • fix check in externals that validate if the require is resolve-able for the server
  • performance improvements

Fixes #23130

Bug

  • Related issues linked using fixes #number
  • Integration tests added

Feature

  • Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
  • Related issues linked using fixes #number
  • Integration tests added
  • Documentation added
  • Telemetry added. In case of a feature if it's used or not.

Documentation / Examples

  • Make sure the linting passes

@sokra sokra force-pushed the bugfix/webpack-5-externals branch from 704e314 to c81fb41 Compare April 29, 2021 14:32
@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk
Copy link
Member

ijjk commented May 5, 2021

Failing test suites

Commit: ffa67fa

test/acceptance/ReactRefreshLogBox.dev.test.js

  • server-side only compilation errors

Expand output

● server-side only compilation errors

ScriptTimeoutError: script timeout
  (Session info: headless chrome=90.0.4430.85)

  72 |
  73 |             // Wait for application to re-hydrate:
> 74 |             await browser.executeAsyncScript(function () {
     |             ^
  75 |               var callback = arguments[arguments.length - 1]
  76 |               if (window.__NEXT_HYDRATED) {
  77 |                 callback()

  at Object.throwDecodedError (../node_modules/selenium-webdriver/lib/error.js:550:15)
  at parseHttpResponse (../node_modules/selenium-webdriver/lib/http.js:565:13)
  at Executor.execute (../node_modules/selenium-webdriver/lib/http.js:491:26)
      at runMicrotasks (<anonymous>)
  at Proxy.execute (../node_modules/selenium-webdriver/lib/webdriver.js:700:17)
  at Object.patch (acceptance/helpers.js:74:13)
  at Object.<anonymous> (acceptance/ReactRefreshLogBox.dev.test.js:1387:3)

@ijjk
Copy link
Member

ijjk commented May 7, 2021

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
buildDuration 12s 12.2s ⚠️ +191ms
buildDurationCached 4.1s 3.9s -224ms
nodeModulesSize 46.6 MB 46.6 MB ⚠️ +1.58 kB
Page Load Tests Overall increase ✓
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
/ failed reqs 0 0
/ total time (seconds) 2.093 2.021 -0.07
/ avg req/sec 1194.66 1236.86 +42.2
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.1 1.086 -0.01
/error-in-render avg req/sec 2272.46 2302.84 +30.38
Client Bundles (main, webpack, commons)
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
framework-HASH.js gzip 39.3 kB 39.3 kB
main-HASH.js gzip 19.3 kB 19.3 kB
webpack-HASH.js gzip 996 B 996 B
Overall change 59.6 kB 59.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
polyfills-HASH.js gzip 31.1 kB 31.1 kB
Overall change 31.1 kB 31.1 kB
Client Pages
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
_app-HASH.js gzip 1.02 kB 1.02 kB
_error-HASH.js gzip 3.05 kB 3.05 kB
amp-HASH.js gzip 526 B 526 B
css-HASH.js gzip 334 B 334 B
hooks-HASH.js gzip 890 B 890 B
index-HASH.js gzip 262 B 262 B
link-HASH.js gzip 1.65 kB 1.65 kB
routerDirect..HASH.js gzip 331 B 331 B
withRouter-HASH.js gzip 329 B 329 B
99a142a5cfae..804.css gzip 125 B 125 B
Overall change 8.52 kB 8.52 kB
Client Build Manifests
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
_buildManifest.js gzip 394 B 394 B
Overall change 394 B 394 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
index.html gzip 560 B 560 B
link.html gzip 569 B 569 B
withRouter.html gzip 557 B 557 B
Overall change 1.69 kB 1.69 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
buildDuration 15s 14.9s -64ms
buildDurationCached 5.7s 5.7s -52ms
nodeModulesSize 46.6 MB 46.6 MB ⚠️ +1.58 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
framework-HASH.js gzip 39.3 kB 39.3 kB
main-HASH.js gzip 19.3 kB 19.3 kB
webpack-HASH.js gzip 996 B 996 B
Overall change 59.6 kB 59.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
polyfills-HASH.js gzip 31.1 kB 31.1 kB
Overall change 31.1 kB 31.1 kB
Client Pages
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
_app-HASH.js gzip 1.02 kB 1.02 kB
_error-HASH.js gzip 3.05 kB 3.05 kB
amp-HASH.js gzip 526 B 526 B
css-HASH.js gzip 334 B 334 B
hooks-HASH.js gzip 890 B 890 B
index-HASH.js gzip 262 B 262 B
link-HASH.js gzip 1.65 kB 1.65 kB
routerDirect..HASH.js gzip 331 B 331 B
withRouter-HASH.js gzip 329 B 329 B
99a142a5cfae..804.css gzip 125 B 125 B
Overall change 8.52 kB 8.52 kB
Client Build Manifests
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
_buildManifest.js gzip 394 B 394 B
Overall change 394 B 394 B
Serverless bundles Overall increase ⚠️
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
_error.js 1.34 MB 1.34 MB
404.html 2.42 kB 2.42 kB
500.html 2.41 kB 2.41 kB
amp.amp.html 10.8 kB 10.8 kB
amp.html 1.61 kB 1.61 kB
css.html 1.79 kB 1.79 kB
hooks.html 1.67 kB 1.67 kB
index.js 1.35 MB 1.35 MB
link.js 1.4 MB 1.4 MB
routerDirect.js 1.39 MB 1.39 MB
withRouter.js 1.39 MB 1.39 MB ⚠️ +2 B
Overall change 6.9 MB 6.9 MB ⚠️ +2 B

Webpack 4 Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
buildDuration 10.4s 10.4s ⚠️ +7ms
buildDurationCached 4.4s 4.1s -228ms
nodeModulesSize 46.6 MB 46.6 MB ⚠️ +1.58 kB
Page Load Tests Overall increase ✓
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
/ failed reqs 0 0
/ total time (seconds) 2.068 2.107 ⚠️ +0.04
/ avg req/sec 1209.08 1186.45 ⚠️ -22.63
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.131 1.109 -0.02
/error-in-render avg req/sec 2210.31 2253.94 +43.63
Client Bundles (main, webpack, commons)
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
677f882d2ed8..HASH.js gzip 13.3 kB 13.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-HASH.js gzip 7.19 kB 7.19 kB
webpack-HASH.js gzip 751 B 751 B
Overall change 60.2 kB 60.2 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
polyfills-HASH.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
_app-HASH.js gzip 1.28 kB 1.28 kB
_error-HASH.js gzip 3.72 kB 3.72 kB
amp-HASH.js gzip 536 B 536 B
css-HASH.js gzip 339 B 339 B
hooks-HASH.js gzip 887 B 887 B
index-HASH.js gzip 227 B 227 B
link-HASH.js gzip 1.64 kB 1.64 kB
routerDirect..HASH.js gzip 303 B 303 B
withRouter-HASH.js gzip 302 B 302 B
21c68fa65a48..217.css gzip 125 B 125 B
Overall change 9.37 kB 9.37 kB
Client Build Manifests
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
_buildManifest.js gzip 420 B 420 B
Overall change 420 B 420 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js bugfix/webpack-5-externals Change
index.html gzip 613 B 613 B
link.html gzip 620 B 620 B
withRouter.html gzip 606 B 606 B
Overall change 1.84 kB 1.84 kB
Commit: e342cf1

@kodiakhq kodiakhq bot merged commit 33e09df into canary May 7, 2021
@kodiakhq kodiakhq bot deleted the bugfix/webpack-5-externals branch May 7, 2021 16:32
@lukel97
Copy link

lukel97 commented May 27, 2021

Hi, I ran into this issue here after this PR was merged. It's blocking us from upgrading our version of next. I'd be happy to give a hand at "fixing" this (is this intended behaviour) if I can be pointed in the right direction?

flybayer pushed a commit to blitz-js/next.js that referenced this pull request Jun 1, 2021
* fix check in externals that validate if the require is resolve-able for the server
* performance improvements

Fixes vercel#23130

## Bug

- [x] Related issues linked using `fixes #number`
- [ ] Integration tests added

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [x] Related issues linked using `fixes #number`
- [x] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.

## Documentation / Examples

- [ ] Make sure the linting passes
@vercel vercel locked as resolved and limited conversation to collaborators Jan 28, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Webpack 5 mode does not work yet with custom configurations
4 participants