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

Update to PostCSS 8. #17415

Merged
merged 4 commits into from Oct 21, 2020
Merged

Update to PostCSS 8. #17415

merged 4 commits into from Oct 21, 2020

Conversation

ludofischer
Copy link
Contributor

@ludofischer ludofischer commented Sep 28, 2020

Fixes: #17242

  • Change type imports from postcss package to match new postcss export structure
  • Change cssnano-simple plugin type to OldPlugin since the Plugin type now represents PostCSS 8 plugin
  • Call postcss directly instead of plugin process() method; process() usage seems discouraged as PostCSS removed
    it from the plugin type definition

@ijjk
Copy link
Member

ijjk commented Sep 28, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary ludovicofischer/next.js fix-postcss8-types Change
buildDuration 11.9s 11.6s -272ms
nodeModulesSize 62.9 MB 62.1 MB -815 kB
Page Load Tests Overall increase ✓
vercel/next.js canary ludovicofischer/next.js fix-postcss8-types Change
/ failed reqs 0 0
/ total time (seconds) 2.11 2.108 0
/ avg req/sec 1184.94 1185.86 +0.92
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.173 1.15 -0.02
/error-in-render avg req/sec 2132.1 2174.58 +42.48
Client Bundles (main, webpack, commons)
vercel/next.js canary ludovicofischer/next.js fix-postcss8-types Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-e3dd5fc..bc67.js gzip 7.16 kB 7.16 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 fix-postcss8-types Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-f4d7a25..dule.js gzip 6.23 kB 6.23 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 ludovicofischer/next.js fix-postcss8-types Change
buildDuration 13.1s 13.3s ⚠️ +188ms
nodeModulesSize 62.9 MB 62.1 MB -815 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary ludovicofischer/next.js fix-postcss8-types Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-e3dd5fc..bc67.js gzip 7.16 kB 7.16 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 fix-postcss8-types Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-f4d7a25..dule.js gzip 6.23 kB 6.23 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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: dd2e1ba

@ijjk
Copy link
Member

ijjk commented Sep 29, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary ludovicofischer/next.js fix-postcss8-types Change
buildDuration 13.8s 13.4s -351ms
nodeModulesSize 62.9 MB 62.1 MB -815 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary ludovicofischer/next.js fix-postcss8-types Change
/ failed reqs 0 0
/ total time (seconds) 2.618 2.54 -0.08
/ avg req/sec 954.94 984.32 +29.38
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.412 1.462 ⚠️ +0.05
/error-in-render avg req/sec 1770.98 1710.26 ⚠️ -60.72
Client Bundles (main, webpack, commons)
vercel/next.js canary ludovicofischer/next.js fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 ludovicofischer/next.js fix-postcss8-types Change
buildDuration 14.6s 14.6s ⚠️ +36ms
nodeModulesSize 62.9 MB 62.1 MB -815 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary ludovicofischer/next.js fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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: 2c4b65d

Fixes: #17242

- Change type imports from `postcss` package to match new `postcss` export structure
- Change `cssnano-simple` plugin type to `OldPlugin` since the `Plugin` type now represents PostCSS 8 plugin
- Call postcss directly instead of plugin `process` method; `process` usage seems discouraged as PostCSS removed
  it from the plugin type definition
@ijjk
Copy link
Member

ijjk commented Sep 30, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary ludovicofischer/next.js fix-postcss8-types Change
buildDuration 11.6s 11.8s ⚠️ +241ms
nodeModulesSize 62.9 MB 62.1 MB -815 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary ludovicofischer/next.js fix-postcss8-types Change
/ failed reqs 0 0
/ total time (seconds) 2.097 2.169 ⚠️ +0.07
/ avg req/sec 1192.3 1152.6 ⚠️ -39.7
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.092 1.125 ⚠️ +0.03
/error-in-render avg req/sec 2288.35 2222.82 ⚠️ -65.53
Client Bundles (main, webpack, commons)
vercel/next.js canary ludovicofischer/next.js fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 ludovicofischer/next.js fix-postcss8-types Change
buildDuration 12.8s 12.8s ⚠️ +11ms
nodeModulesSize 62.9 MB 62.1 MB -815 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary ludovicofischer/next.js fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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 fix-postcss8-types 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: 3ea3b6e

@adamwathan
Copy link
Contributor

Just in case it's useful information, Tailwind CSS v2.0 will be out in about 4 weeks which includes moving to PostCSS 8, so it won't be compatible with Next anymore until we have PostCSS 8 support here. If there's anything we can do to help please let us know, we use Next for all of our own projects.

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.

Looks good overall however I'm concerned about double-installing postcss given that https://github.com/timer/cssnano-simple depends on postcss 7 as well as the preset that cssnano-simple depends on. @Timer is on holiday though, will be back next week. We might want to move the preset into Next.js itself as a separate package in the monorepo 🤔

@ludofischer
Copy link
Contributor Author

I have also opened #17458 to update PostCSS Loader since its latest release notes mention PostCSS 8 compatibility (webpack-contrib/postcss-loader#479) but I am not sure whether also upgrading the loader is required. In any case I had a lot more trouble updating the loader since it interferes more with Next’s build system

@ijjk
Copy link
Member

ijjk commented Oct 19, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary ludofischer/next.js fix-postcss8-types Change
buildDuration 12s 12.2s ⚠️ +131ms
nodeModulesSize 64.4 MB 63.6 MB -815 kB
Page Load Tests Overall increase ✓
vercel/next.js canary ludofischer/next.js fix-postcss8-types Change
/ failed reqs 0 0
/ total time (seconds) 2.254 2.206 -0.05
/ avg req/sec 1109.3 1133.03 +23.73
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.225 1.191 -0.03
/error-in-render avg req/sec 2041.15 2099.39 +58.24
Client Bundles (main, webpack, commons)
vercel/next.js canary ludofischer/next.js fix-postcss8-types Change
677f882d2ed8..7765.js gzip 11.1 kB 11.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5aa1543..4e79.js gzip 7.34 kB 7.34 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 ludofischer/next.js fix-postcss8-types Change
677f882d2ed8..dule.js gzip 6.94 kB 6.94 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-7d849dd..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 ludofischer/next.js fix-postcss8-types Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ludofischer/next.js fix-postcss8-types 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 ludofischer/next.js fix-postcss8-types 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 ludofischer/next.js fix-postcss8-types 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 ludofischer/next.js fix-postcss8-types 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 ludofischer/next.js fix-postcss8-types Change
buildDuration 13.8s 14.7s ⚠️ +882ms
nodeModulesSize 64.4 MB 63.6 MB -815 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary ludofischer/next.js fix-postcss8-types Change
677f882d2ed8..7765.js gzip 11.1 kB 11.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5aa1543..4e79.js gzip 7.34 kB 7.34 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 ludofischer/next.js fix-postcss8-types Change
677f882d2ed8..dule.js gzip 6.94 kB 6.94 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-7d849dd..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 ludofischer/next.js fix-postcss8-types Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ludofischer/next.js fix-postcss8-types 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 ludofischer/next.js fix-postcss8-types 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 ludofischer/next.js fix-postcss8-types 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 ludofischer/next.js fix-postcss8-types 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: 9eea9de

@timneutkens
Copy link
Member

I have also opened #17458 to update PostCSS Loader since its latest release notes mention PostCSS 8 compatibility (webpack-contrib/postcss-loader#479) but I am not sure whether also upgrading the loader is required. In any case I had a lot more trouble updating the loader since it interferes more with Next’s build system

Having a look at that one now. Talked about it with @adamwathan and we can land this and that PR I think.

@ijjk
Copy link
Member

ijjk commented Oct 20, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary ludofischer/next.js fix-postcss8-types Change
buildDuration 13.9s 12.9s -922ms
nodeModulesSize 64.5 MB 63.7 MB -815 kB
Page Load Tests Overall increase ✓
vercel/next.js canary ludofischer/next.js fix-postcss8-types Change
/ failed reqs 0 0
/ total time (seconds) 2.74 2.701 -0.04
/ avg req/sec 912.25 925.55 +13.3
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.739 1.687 -0.05
/error-in-render avg req/sec 1437.73 1482.35 +44.62
Client Bundles (main, webpack, commons)
vercel/next.js canary ludofischer/next.js fix-postcss8-types Change
677f882d2ed8..35e7.js gzip 11.1 kB 11.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-4622877..6010.js gzip 7.34 kB 7.34 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 ludofischer/next.js fix-postcss8-types Change
677f882d2ed8..dule.js gzip 6.94 kB 6.94 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-e9d8820..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 ludofischer/next.js fix-postcss8-types Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ludofischer/next.js fix-postcss8-types 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 ludofischer/next.js fix-postcss8-types 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 ludofischer/next.js fix-postcss8-types 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 ludofischer/next.js fix-postcss8-types Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 995 B 995 B
Overall change 3.01 kB 3.01 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary ludofischer/next.js fix-postcss8-types Change
buildDuration 15.6s 16.2s ⚠️ +583ms
nodeModulesSize 64.5 MB 63.7 MB -815 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary ludofischer/next.js fix-postcss8-types Change
677f882d2ed8..35e7.js gzip 11.1 kB 11.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-4622877..6010.js gzip 7.34 kB 7.34 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 ludofischer/next.js fix-postcss8-types Change
677f882d2ed8..dule.js gzip 6.94 kB 6.94 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-e9d8820..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 ludofischer/next.js fix-postcss8-types Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ludofischer/next.js fix-postcss8-types 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 ludofischer/next.js fix-postcss8-types 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 ludofischer/next.js fix-postcss8-types 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 ludofischer/next.js fix-postcss8-types 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: a3fa6b8

@timneutkens timneutkens merged commit b89d417 into vercel:canary Oct 21, 2020
@ludofischer ludofischer deleted the fix-postcss8-types branch October 21, 2020 10:32
@ai
Copy link

ai commented Oct 21, 2020

What is the current plan to release this PR? Will it be in the next major or in the patch?

I need it to tell PostCSS users in our PostCSS 8 migration wiki https://github.com/postcss/postcss/wiki/PostCSS-8-for-end-users

@timneutkens
Copy link
Member

Going to make sure it doesn't break against a few real applications first and then we'll probably release this in a patch version 👍 Will let you know.

@irfan-maulana-tkp
Copy link

Looks good overall however I'm concerned about double-installing postcss given that https://github.com/timer/cssnano-simple depends on postcss 7 as well as the preset that cssnano-simple depends on. @Timer is on holiday though, will be back next week. We might want to move the preset into Next.js itself as a separate package in the monorepo 🤔

How about this @timneutkens ? I see we still have double-installing postcss
Related Timer/cssnano-simple#10

@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.

PostCSS 8
6 participants