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

Upgrade to Chokidar 3. #17558

Merged
merged 2 commits into from Oct 21, 2020
Merged

Upgrade to Chokidar 3. #17558

merged 2 commits into from Oct 21, 2020

Conversation

ludofischer
Copy link
Contributor

@ludofischer ludofischer commented Oct 2, 2020

The Chokidar changelog https://github.com/paulmillr/chokidar/releases/tag/3.0.0
mentions no API changes. The major version bump is because it drops support
for Node < v6, but it should not cause problems because Next itself only supports Node v10.13+.

- Get rid of vulnerability warning (#17416)
- Get rid of `npm install` message
  `deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.`
- Improve compatibility and performance (see discussion at webpack/watchpack#130)

The Chokidar changelog https://github.com/paulmillr/chokidar/releases/tag/3.0.0
mentions no API changes. The major version bump is because it drops support
for Node < v6, but it should not cause problems because Next itself only supports Node v10.13+.
@ijjk
Copy link
Member

ijjk commented Oct 2, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
buildDuration 13.7s 14.1s ⚠️ +433ms
nodeModulesSize 63.1 MB 63.1 MB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
/ failed reqs 0 0
/ total time (seconds) 2.581 2.661 ⚠️ +0.08
/ avg req/sec 968.76 939.67 ⚠️ -29.09
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.517 1.546 ⚠️ +0.03
/error-in-render avg req/sec 1647.63 1616.89 ⚠️ -30.74
Client Bundles (main, webpack, commons)
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-d493e7d..42f5.js gzip 7.17 kB 7.17 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.8 kB 57.8 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-f8905d4..dule.js gzip 6.24 kB 6.24 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.7 kB 52.7 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ludovicofischer/next.js chokidar-3 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-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary ludovicofischer/next.js chokidar-3 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-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary ludovicofischer/next.js chokidar-3 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 ludovicofischer/next.js chokidar-3 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 ludovicofischer/next.js chokidar-3 Change
buildDuration 16.2s 15.6s -598ms
nodeModulesSize 63.1 MB 63.1 MB
Client Bundles (main, webpack, commons)
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-d493e7d..42f5.js gzip 7.17 kB 7.17 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.8 kB 57.8 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-f8905d4..dule.js gzip 6.24 kB 6.24 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.7 kB 52.7 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ludovicofischer/next.js chokidar-3 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-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary ludovicofischer/next.js chokidar-3 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-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary ludovicofischer/next.js chokidar-3 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 ludovicofischer/next.js chokidar-3 Change
_error.js 1.05 MB 1.05 MB
404.html 4.34 kB 4.34 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.05 MB 1.05 MB
link.js 1.1 MB 1.1 MB
routerDirect.js 1.09 MB 1.09 MB
withRouter.js 1.09 MB 1.09 MB
Overall change 5.4 MB 5.4 MB
Commit: 86414c5

@ijjk
Copy link
Member

ijjk commented Oct 2, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
buildDuration 14.1s 13.9s -183ms
nodeModulesSize 63.1 MB 63.1 MB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
/ failed reqs 0 0
/ total time (seconds) 2.582 2.721 ⚠️ +0.14
/ avg req/sec 968.14 918.82 ⚠️ -49.32
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.601 1.793 ⚠️ +0.19
/error-in-render avg req/sec 1561.7 1394.11 ⚠️ -167.59
Client Bundles (main, webpack, commons)
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-d493e7d..42f5.js gzip 7.17 kB 7.17 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.8 kB 57.8 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-f8905d4..dule.js gzip 6.24 kB 6.24 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.7 kB 52.7 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ludovicofischer/next.js chokidar-3 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-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary ludovicofischer/next.js chokidar-3 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-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary ludovicofischer/next.js chokidar-3 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 ludovicofischer/next.js chokidar-3 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 ludovicofischer/next.js chokidar-3 Change
buildDuration 15s 15.5s ⚠️ +527ms
nodeModulesSize 63.1 MB 63.1 MB
Client Bundles (main, webpack, commons)
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-d493e7d..42f5.js gzip 7.17 kB 7.17 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.8 kB 57.8 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-f8905d4..dule.js gzip 6.24 kB 6.24 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.7 kB 52.7 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary ludovicofischer/next.js chokidar-3 Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ludovicofischer/next.js chokidar-3 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-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary ludovicofischer/next.js chokidar-3 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-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary ludovicofischer/next.js chokidar-3 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 ludovicofischer/next.js chokidar-3 Change
_error.js 1.05 MB 1.05 MB
404.html 4.34 kB 4.34 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.05 MB 1.05 MB
link.js 1.1 MB 1.1 MB
routerDirect.js 1.09 MB 1.09 MB
withRouter.js 1.09 MB 1.09 MB
Overall change 5.4 MB 5.4 MB
Commit: 53513ec

@ludofischer
Copy link
Contributor Author

Since chokidar is included as an external in packages/next/taskfile.js but it’s not directly compiled through ncc, I must confess I don’t quite understand why require() would pull the top chokidar in node_modules . But this commit a7bf8c2 explicitly added the chokidar dependency to package.json, so I suppose the top-level one gets included.

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.

Thanks! Looks great 👍

@timneutkens timneutkens merged commit 6212823 into vercel:canary Oct 21, 2020
@ludofischer ludofischer deleted the chokidar-3 branch October 21, 2020 15:02
@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

4 participants