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

Only load plugins with @next prefix #17945

Merged
merged 2 commits into from Oct 16, 2020

Conversation

timneutkens
Copy link
Member

Given that plugins are still experimental and plugins hasn't been worked on for a while I'm going to change the default loading for now.

Given that plugins are still experimental and plugins hasn't been worked on for a while I'm going to change the default loading for now.
@ijjk
Copy link
Member

ijjk commented Oct 16, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary timneutkens/next.js add/change-plugin-loading Change
buildDuration 14s 13.2s -813ms
nodeModulesSize 64.4 MB 64.4 MB -152 B
Page Load Tests Overall increase ✓
vercel/next.js canary timneutkens/next.js add/change-plugin-loading Change
/ failed reqs 0 0
/ total time (seconds) 2.504 2.489 -0.02
/ avg req/sec 998.46 1004.49 +6.03
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.441 1.361 -0.08
/error-in-render avg req/sec 1734.9 1836.46 +101.56
Client Bundles (main, webpack, commons)
vercel/next.js canary timneutkens/next.js add/change-plugin-loading Change
677f882d2ed8..7765.js gzip 11.1 kB 11.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-1e58cc5..96bb.js gzip 7.33 kB 7.33 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.1 kB 58.1 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary timneutkens/next.js add/change-plugin-loading Change
677f882d2ed8..dule.js gzip 6.94 kB 6.94 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-1eeec67..dule.js gzip 6.32 kB 6.32 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53 kB 53 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary timneutkens/next.js add/change-plugin-loading Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary timneutkens/next.js add/change-plugin-loading 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-89ad9e7..25bb.js gzip 1.34 kB 1.34 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.74 kB 7.74 kB
Client Pages Modern
vercel/next.js canary timneutkens/next.js add/change-plugin-loading 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-aeb707b..dule.js gzip 1.29 kB 1.29 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.39 kB 5.39 kB
Client Build Manifests
vercel/next.js canary timneutkens/next.js add/change-plugin-loading Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary timneutkens/next.js add/change-plugin-loading 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 (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary timneutkens/next.js add/change-plugin-loading Change
buildDuration 15s 15.2s ⚠️ +120ms
nodeModulesSize 64.4 MB 64.4 MB -152 B
Client Bundles (main, webpack, commons)
vercel/next.js canary timneutkens/next.js add/change-plugin-loading Change
677f882d2ed8..7765.js gzip 11.1 kB 11.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-1e58cc5..96bb.js gzip 7.33 kB 7.33 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.1 kB 58.1 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary timneutkens/next.js add/change-plugin-loading Change
677f882d2ed8..dule.js gzip 6.94 kB 6.94 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-1eeec67..dule.js gzip 6.32 kB 6.32 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53 kB 53 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary timneutkens/next.js add/change-plugin-loading Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary timneutkens/next.js add/change-plugin-loading 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-89ad9e7..25bb.js gzip 1.34 kB 1.34 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.74 kB 7.74 kB
Client Pages Modern
vercel/next.js canary timneutkens/next.js add/change-plugin-loading 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-aeb707b..dule.js gzip 1.29 kB 1.29 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.39 kB 5.39 kB
Client Build Manifests
vercel/next.js canary timneutkens/next.js add/change-plugin-loading Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary timneutkens/next.js add/change-plugin-loading Change
_error.js 1.06 MB 1.06 MB
404.html 4.34 kB 4.34 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.06 MB 1.06 MB
link.js 1.1 MB 1.1 MB
routerDirect.js 1.1 MB 1.1 MB
withRouter.js 1.1 MB 1.1 MB
Overall change 5.42 MB 5.42 MB
Commit: 7697695

@ijjk
Copy link
Member

ijjk commented Oct 16, 2020

Failing test suites

Commit: 7697695

test/integration/next-plugins/test/index.test.js

  • Next.js plugins > dev mode > should list loaded plugins
  • Next.js plugins > production mode > should list loaded plugins
  • Next.js plugins > serverless mode > should list loaded plugins
Expand output

● Next.js plugins › dev mode › should list loaded plugins

expect(received).toMatch(expected)

Expected pattern: /loaded plugin: @zeit\/next-plugin-scope/i
Received string:  "undefinedready - started server on http://localhost:33131
Loaded plugin: @next/plugin-google-analytics@0.0.1·
event - compiled successfully
event - build page: /
wait  - compiling...
event - compiled successfully
"

  45 |   it('should list loaded plugins', async () => {
  46 |     expect(stdout).toMatch(/loaded plugin: @next\/plugin-google-analytics/i)
> 47 |     expect(stdout).toMatch(/loaded plugin: @zeit\/next-plugin-scope/i)
     |                    ^
  48 |     expect(stdout).toMatch(/loaded plugin: next-plugin-normal/i)
  49 |   })
  50 | 

  at Object.<anonymous> (integration/next-plugins/test/index.test.js:47:20)

● Next.js plugins › production mode › should list loaded plugins

expect(received).toMatch(expected)

Expected pattern: /loaded plugin: @zeit\/next-plugin-scope/i
Received string:  "info  - Creating an optimized production build...
Loaded plugin: @next/plugin-google-analytics@0.0.1·
info  - Compiled successfully
info  - Collecting page data...
info  - Generating static pages (0/3)
info  - Finalizing page optimization...·
Page                             Size     First Load JS
┌ λ /                            364 B          64.1 kB
├ ○ /404                         2.77 kB        63.6 kB
├ ○ /another                     344 B          64.1 kB
└ ○ /something                   345 B          64.1 kB
+ First Load JS shared by all    60.8 kB
  ├ chunks/commons.e0b46b.js     11.3 kB
  ├ chunks/framework.b7f785.js   40.4 kB
  ├ chunks/main.9428f0.js        7.38 kB
  ├ chunks/pages/_app.753b30.js  1.01 kB
  └ chunks/webpack.e06743.js     751 B·
λ  (Server)  server-side renders at runtime (uses getInitialProps or getServerSideProps)
○  (Static)  automatically rendered as static HTML (uses no initial props)
●  (SSG)     automatically generated as static HTML + JSON (uses getStaticProps)
   (ISR)     incremental static regeneration (uses revalidate in getStaticProps)·
"

  45 |   it('should list loaded plugins', async () => {
  46 |     expect(stdout).toMatch(/loaded plugin: @next\/plugin-google-analytics/i)
> 47 |     expect(stdout).toMatch(/loaded plugin: @zeit\/next-plugin-scope/i)
     |                    ^
  48 |     expect(stdout).toMatch(/loaded plugin: next-plugin-normal/i)
  49 |   })
  50 | 

  at Object.<anonymous> (integration/next-plugins/test/index.test.js:47:20)

● Next.js plugins › serverless mode › should list loaded plugins

expect(received).toMatch(expected)

Expected pattern: /loaded plugin: @zeit\/next-plugin-scope/i
Received string:  "info  - Creating an optimized production build...
Loaded plugin: @next/plugin-google-analytics@0.0.1·
info  - Collecting page data...
info  - Generating static pages (0/3)
info  - Finalizing page optimization...·
Page                             Size     First Load JS
┌ λ /                            364 B          64.1 kB
├ ○ /404                         2.77 kB        63.6 kB
├ ○ /another                     344 B          64.1 kB
└ ○ /something                   345 B          64.1 kB
+ First Load JS shared by all    60.8 kB
  ├ chunks/commons.e0b46b.js     11.3 kB
  ├ chunks/framework.b7f785.js   40.4 kB
  ├ chunks/main.9428f0.js        7.38 kB
  ├ chunks/pages/_app.753b30.js  1.01 kB
  └ chunks/webpack.e06743.js     751 B·
λ  (Lambda)  server-side renders at runtime (uses getInitialProps or getServerSideProps)
○  (Static)  automatically rendered as static HTML (uses no initial props)
●  (SSG)     automatically generated as static HTML + JSON (uses getStaticProps)
   (ISR)     incremental static regeneration (uses revalidate in getStaticProps)·
"

  45 |   it('should list loaded plugins', async () => {
  46 |     expect(stdout).toMatch(/loaded plugin: @next\/plugin-google-analytics/i)
> 47 |     expect(stdout).toMatch(/loaded plugin: @zeit\/next-plugin-scope/i)
     |                    ^
  48 |     expect(stdout).toMatch(/loaded plugin: next-plugin-normal/i)
  49 |   })
  50 | 

  at Object.<anonymous> (integration/next-plugins/test/index.test.js:47:20)

test/integration/i18n-support/test/index.test.js

  • i18n Support > serverless mode > should render 404 for fallback page that returned 404
Expand output

● i18n Support › serverless mode › should render 404 for fallback page that returned 404

JavascriptError: javascript error: Cannot read property 'innerHTML' of null
JavaScript stack:
TypeError: Cannot read property 'innerHTML' of null

  at eval (eval at executeAsyncScript (:556:26)../, <anonymous>:6:36)
  at eval (eval at executeAsyncScript (:556:26)../, <anonymous>:20:8)
  at eval (eval at executeAsyncScript (:556:26)../, <anonymous>:21:4)
  at executeAsyncScript (../<anonymous>:556:47)
  at callFunction (../<anonymous>:450:22)
    (Session info: headless chrome=86.0.4240.75)
  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 thenableWebDriverProxy.execute (../node_modules/selenium-webdriver/lib/webdriver.js:700:17)
  at _default (lib/next-webdriver.js:179:5)
  at Object.<anonymous> (integration/i18n-support/test/index.test.js:675:21)

@timneutkens timneutkens merged commit dfcf267 into vercel:canary Oct 16, 2020
@timneutkens timneutkens deleted the add/change-plugin-loading branch October 16, 2020 16:38
@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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants