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

Scripts: Update webpack to v5 (try 2) #33818

Merged
merged 15 commits into from
Aug 10, 2021
Merged

Scripts: Update webpack to v5 (try 2) #33818

merged 15 commits into from
Aug 10, 2021

Conversation

gziolo
Copy link
Member

@gziolo gziolo commented Aug 2, 2021

Description

Follow-up for #26382.
Fixes #33768, fixes #32203, fixes #30289.

It's a second attempt to upgrade webpack to v5.

Known Issues

  • wp-scripts build generates styles with a wrong name
    Screen Shot 2021-08-02 at 15 15 49
    it should be index-style.css in the context of a block
  • npm run build errors because of API changes in webpack plugins
    Screen Shot 2021-08-02 at 15 23 15
  • npm run storybook:build – Storybook has to be updated to work with webpack v5, more details at https://storybook.js.org/blog/storybook-for-webpack-5/

How has this been tested?

Build for Gutenberg

  • npm run dev
  • npm run build

Build for Storybook

  • npm run storybook:dev
  • npm run storybook:build

Build for @wordpress/scripts

npx wp-create-block example --no-wp-scripts
cd example
../node_modules/.bin/wp-script build

Types of changes

Breaking change for @wordpress/scripts users that provide their own config files for build tools.

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • I've tested my changes with keyboard and screen readers.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR (please manually search all *.native.js files for terms that need renaming or removal).

@gziolo gziolo added [Status] In Progress Tracking issues with work in progress [Tool] WP Scripts /packages/scripts labels Aug 2, 2021
@gziolo gziolo self-assigned this Aug 2, 2021
@gziolo gziolo requested a review from jsnajdr August 2, 2021 13:24
@gziolo gziolo added the [Type] Build Tooling Issues or PRs related to build tooling label Aug 2, 2021
@jsnajdr
Copy link
Member

jsnajdr commented Aug 2, 2021

I fixed the copy-webpack-plugin issue by removing the flatten: true option from its config. As we are always copying from a single directory, build-style/*.css, not from a tree, it should not be needed.

Another issue will be solved by merging #33785 and rebasing.

@jsnajdr
Copy link
Member

jsnajdr commented Aug 2, 2021

wp-scripts build generates styles with a wrong name

@gziolo What's the fastest way to reproduce this?

@gziolo
Copy link
Member Author

gziolo commented Aug 2, 2021

wp-scripts build generates styles with a wrong name

@gziolo What's the fastest way to reproduce this?

The steps I use to create a custom block:

npx wp-create-block example --no-wp-scripts
cd example
../node_modules/.bin/wp-script build

@jsnajdr
Copy link
Member

jsnajdr commented Aug 2, 2021

The steps I use to create a custom block:

Thanks, now I have the 647.css file, too 🙂

@walbo
Copy link
Member

walbo commented Aug 2, 2021

I looked into updating to v5 when working on #33785. I belive @wordpress/custom-templated-path-webpack-plugin and @wordpress/library-export-default-webpack-plugin that has a few issues in v5 can be removed. You now have the option to set library in the entry config that will fix what those packages do. If you want I can create a PR that targets this branch.

@gziolo
Copy link
Member Author

gziolo commented Aug 2, 2021

I looked into updating to v5 when working on #33785. I belive @wordpress/custom-templated-path-webpack-plugin and @wordpress/library-export-default-webpack-plugin that has a few issues in v5 can be removed. You now have the option to set library in the entry config that will fix what those packages do.

If it is possible then it would be great and we could stop maintaining those two custom plugins. They were introduced only to deal with webpack's limitations.

@walbo
Copy link
Member

walbo commented Aug 2, 2021

If it is possible then it would be great and we could stop maintaining those two custom plugins. They were introduced only to deal with webpack's limitations.

Created #33826 based on this branch that removed those plugins. Runs npm run build without errors (as long as you rebase on trunk so #33785 is included)

@jsnajdr jsnajdr force-pushed the update/webpack-5-try-2 branch from 5b73112 to 797f4cd Compare August 3, 2021 05:08
@jsnajdr
Copy link
Member

jsnajdr commented Aug 3, 2021

The 647.css issue is solved. I had to provide a custom name function for the splitChunks.cacheGroup config that produced the desired name for the asset: cache group name (style) + original chunk name (index). Webpack 5 algorithm for splitting chunks and naming them is more complicated than it was in version 4.

@github-actions
Copy link

github-actions bot commented Aug 3, 2021

Size Change: -35.5 kB (-3%)

Total Size: 1.03 MB

Filename Size Change
build/a11y/index.min.js 931 B -186 B (-17%) 👏
build/admin-manifest/index.min.js 1.09 kB -365 B (-25%) 🎉
build/annotations/index.min.js 2.7 kB -232 B (-8%)
build/api-fetch/index.min.js 2.19 kB -250 B (-10%) 👏
build/autop/index.min.js 2.08 kB -201 B (-9%)
build/blob/index.min.js 459 B -214 B (-32%) 🎉
build/block-directory/index.min.js 6.21 kB -410 B (-6%)
build/block-editor/index.min.js 118 kB -8.91 kB (-7%)
build/block-library/blocks/file/view.min.js 322 B -389 B (-55%) 🏆
build/block-library/blocks/navigation/view.min.js 2.52 kB -313 B (-11%) 👏
build/block-library/index.min.js 146 kB -1.25 kB (-1%)
build/block-serialization-default-parser/index.min.js 1.09 kB -209 B (-16%) 👏
build/block-serialization-spec-parser/index.min.js 2.79 kB -267 B (-9%)
build/blocks/index.min.js 46.8 kB -464 B (-1%)
build/components/index.min.js 208 kB -8.07 kB (-4%)
build/compose/index.min.js 10.2 kB -73 B (-1%)
build/core-data/index.min.js 12.3 kB -233 B (-2%)
build/customize-widgets/index.min.js 10.4 kB -366 B (-3%)
build/data-controls/index.min.js 614 B -217 B (-26%) 🎉
build/data/index.min.js 7.03 kB -193 B (-3%)
build/date/index.min.js 31.5 kB -366 B (-1%)
build/deprecated/index.min.js 428 B -309 B (-42%) 🎉
build/dom-ready/index.min.js 304 B -272 B (-47%) 🎉
build/dom/index.min.js 4.53 kB -248 B (-5%)
build/edit-navigation/index.min.js 13.4 kB -538 B (-4%)
build/edit-post/index.min.js 28.4 kB -1.59 kB (-5%)
build/edit-site/index.min.js 25.7 kB -651 B (-2%)
build/edit-widgets/index.min.js 15.9 kB -778 B (-5%)
build/editor/index.min.js 37.5 kB -711 B (-2%)
build/element/index.min.js 3.16 kB -279 B (-8%)
build/escape-html/index.min.js 517 B -222 B (-30%) 🎉
build/format-library/index.min.js 5.36 kB -360 B (-6%)
build/hooks/index.min.js 1.55 kB -213 B (-12%) 👏
build/html-entities/index.min.js 424 B -204 B (-32%) 🎉
build/i18n/index.min.js 3.59 kB -138 B (-4%)
build/is-shallow-equal/index.min.js 501 B -209 B (-29%) 🎉
build/keyboard-shortcuts/index.min.js 1.49 kB -250 B (-14%) 👏
build/keycodes/index.min.js 1.25 kB -236 B (-16%) 👏
build/list-reusable-blocks/index.min.js 1.85 kB -216 B (-10%) 👏
build/media-utils/index.min.js 2.88 kB -206 B (-7%)
build/notices/index.min.js 845 B -226 B (-21%) 🎉
build/nux/index.min.js 2.03 kB -281 B (-12%) 👏
build/plugins/index.min.js 1.83 kB -156 B (-8%)
build/primitives/index.min.js 921 B -142 B (-13%) 👏
build/priority-queue/index.min.js 582 B -209 B (-26%) 🎉
build/react-i18n/index.min.js 671 B -251 B (-27%) 🎉
build/redux-routine/index.min.js 2.63 kB -192 B (-7%)
build/reusable-blocks/index.min.js 2.28 kB -283 B (-11%) 👏
build/rich-text/index.min.js 10.5 kB -303 B (-3%)
build/server-side-render/index.min.js 1.32 kB -320 B (-20%) 🎉
build/shortcode/index.min.js 1.48 kB -204 B (-12%) 👏
build/token-list/index.min.js 562 B -285 B (-34%) 🎉
build/url/index.min.js 1.72 kB -237 B (-12%) 👏
build/viewport/index.min.js 1.02 kB -259 B (-20%) 🎉
build/warning/index.min.js 248 B -913 B (-79%) 🏆
build/widgets/index.min.js 6.27 kB -213 B (-3%)
build/wordcount/index.min.js 1.04 kB -202 B (-16%) 👏
ℹ️ View Unchanged
Filename Size
build/block-directory/style-rtl.css 1.01 kB
build/block-directory/style.css 1.01 kB
build/block-editor/style-rtl.css 13.9 kB
build/block-editor/style.css 13.9 kB
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 65 B
build/block-library/blocks/archives/style.css 65 B
build/block-library/blocks/audio/editor-rtl.css 58 B
build/block-library/blocks/audio/editor.css 58 B
build/block-library/blocks/audio/style-rtl.css 111 B
build/block-library/blocks/audio/style.css 111 B
build/block-library/blocks/audio/theme-rtl.css 125 B
build/block-library/blocks/audio/theme.css 125 B
build/block-library/blocks/block/editor-rtl.css 161 B
build/block-library/blocks/block/editor.css 161 B
build/block-library/blocks/button/editor-rtl.css 474 B
build/block-library/blocks/button/editor.css 474 B
build/block-library/blocks/button/style-rtl.css 605 B
build/block-library/blocks/button/style.css 604 B
build/block-library/blocks/buttons/editor-rtl.css 315 B
build/block-library/blocks/buttons/editor.css 315 B
build/block-library/blocks/buttons/style-rtl.css 370 B
build/block-library/blocks/buttons/style.css 370 B
build/block-library/blocks/calendar/style-rtl.css 207 B
build/block-library/blocks/calendar/style.css 207 B
build/block-library/blocks/categories/editor-rtl.css 84 B
build/block-library/blocks/categories/editor.css 83 B
build/block-library/blocks/categories/style-rtl.css 79 B
build/block-library/blocks/categories/style.css 79 B
build/block-library/blocks/code/style-rtl.css 90 B
build/block-library/blocks/code/style.css 90 B
build/block-library/blocks/code/theme-rtl.css 131 B
build/block-library/blocks/code/theme.css 131 B
build/block-library/blocks/columns/editor-rtl.css 189 B
build/block-library/blocks/columns/editor.css 188 B
build/block-library/blocks/columns/style-rtl.css 474 B
build/block-library/blocks/columns/style.css 475 B
build/block-library/blocks/cover/editor-rtl.css 666 B
build/block-library/blocks/cover/editor.css 670 B
build/block-library/blocks/cover/style-rtl.css 1.23 kB
build/block-library/blocks/cover/style.css 1.23 kB
build/block-library/blocks/embed/editor-rtl.css 488 B
build/block-library/blocks/embed/editor.css 488 B
build/block-library/blocks/embed/style-rtl.css 400 B
build/block-library/blocks/embed/style.css 400 B
build/block-library/blocks/embed/theme-rtl.css 124 B
build/block-library/blocks/embed/theme.css 124 B
build/block-library/blocks/file/editor-rtl.css 300 B
build/block-library/blocks/file/editor.css 300 B
build/block-library/blocks/file/style-rtl.css 255 B
build/block-library/blocks/file/style.css 255 B
build/block-library/blocks/freeform/editor-rtl.css 2.44 kB
build/block-library/blocks/freeform/editor.css 2.44 kB
build/block-library/blocks/gallery/editor-rtl.css 707 B
build/block-library/blocks/gallery/editor.css 706 B
build/block-library/blocks/gallery/style-rtl.css 1.05 kB
build/block-library/blocks/gallery/style.css 1.05 kB
build/block-library/blocks/gallery/theme-rtl.css 122 B
build/block-library/blocks/gallery/theme.css 122 B
build/block-library/blocks/group/editor-rtl.css 159 B
build/block-library/blocks/group/editor.css 159 B
build/block-library/blocks/group/style-rtl.css 57 B
build/block-library/blocks/group/style.css 57 B
build/block-library/blocks/group/theme-rtl.css 93 B
build/block-library/blocks/group/theme.css 93 B
build/block-library/blocks/heading/editor-rtl.css 152 B
build/block-library/blocks/heading/editor.css 152 B
build/block-library/blocks/heading/style-rtl.css 76 B
build/block-library/blocks/heading/style.css 76 B
build/block-library/blocks/home-link/style-rtl.css 247 B
build/block-library/blocks/home-link/style.css 247 B
build/block-library/blocks/html/editor-rtl.css 283 B
build/block-library/blocks/html/editor.css 284 B
build/block-library/blocks/image/editor-rtl.css 728 B
build/block-library/blocks/image/editor.css 728 B
build/block-library/blocks/image/style-rtl.css 482 B
build/block-library/blocks/image/style.css 487 B
build/block-library/blocks/image/theme-rtl.css 124 B
build/block-library/blocks/image/theme.css 124 B
build/block-library/blocks/latest-comments/style-rtl.css 284 B
build/block-library/blocks/latest-comments/style.css 284 B
build/block-library/blocks/latest-posts/editor-rtl.css 137 B
build/block-library/blocks/latest-posts/editor.css 137 B
build/block-library/blocks/latest-posts/style-rtl.css 528 B
build/block-library/blocks/latest-posts/style.css 527 B
build/block-library/blocks/list/style-rtl.css 63 B
build/block-library/blocks/list/style.css 63 B
build/block-library/blocks/media-text/editor-rtl.css 266 B
build/block-library/blocks/media-text/editor.css 263 B
build/block-library/blocks/media-text/style-rtl.css 488 B
build/block-library/blocks/media-text/style.css 485 B
build/block-library/blocks/more/editor-rtl.css 431 B
build/block-library/blocks/more/editor.css 431 B
build/block-library/blocks/navigation-link/editor-rtl.css 474 B
build/block-library/blocks/navigation-link/editor.css 474 B
build/block-library/blocks/navigation-link/style-rtl.css 94 B
build/block-library/blocks/navigation-link/style.css 94 B
build/block-library/blocks/navigation/editor-rtl.css 1.67 kB
build/block-library/blocks/navigation/editor.css 1.68 kB
build/block-library/blocks/navigation/style-rtl.css 1.65 kB
build/block-library/blocks/navigation/style.css 1.64 kB
build/block-library/blocks/nextpage/editor-rtl.css 395 B
build/block-library/blocks/nextpage/editor.css 395 B
build/block-library/blocks/page-list/editor-rtl.css 310 B
build/block-library/blocks/page-list/editor.css 310 B
build/block-library/blocks/page-list/style-rtl.css 242 B
build/block-library/blocks/page-list/style.css 242 B
build/block-library/blocks/paragraph/editor-rtl.css 157 B
build/block-library/blocks/paragraph/editor.css 157 B
build/block-library/blocks/paragraph/style-rtl.css 248 B
build/block-library/blocks/paragraph/style.css 248 B
build/block-library/blocks/post-author/editor-rtl.css 210 B
build/block-library/blocks/post-author/editor.css 210 B
build/block-library/blocks/post-author/style-rtl.css 182 B
build/block-library/blocks/post-author/style.css 181 B
build/block-library/blocks/post-comments-form/style-rtl.css 140 B
build/block-library/blocks/post-comments-form/style.css 140 B
build/block-library/blocks/post-comments/style-rtl.css 360 B
build/block-library/blocks/post-comments/style.css 359 B
build/block-library/blocks/post-content/editor-rtl.css 138 B
build/block-library/blocks/post-content/editor.css 138 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B
build/block-library/blocks/post-excerpt/editor.css 73 B
build/block-library/blocks/post-excerpt/style-rtl.css 69 B
build/block-library/blocks/post-excerpt/style.css 69 B
build/block-library/blocks/post-featured-image/editor-rtl.css 412 B
build/block-library/blocks/post-featured-image/editor.css 412 B
build/block-library/blocks/post-featured-image/style-rtl.css 143 B
build/block-library/blocks/post-featured-image/style.css 143 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-template/style-rtl.css 378 B
build/block-library/blocks/post-template/style.css 379 B
build/block-library/blocks/post-terms/style-rtl.css 73 B
build/block-library/blocks/post-terms/style.css 73 B
build/block-library/blocks/post-title/style-rtl.css 60 B
build/block-library/blocks/post-title/style.css 60 B
build/block-library/blocks/preformatted/style-rtl.css 103 B
build/block-library/blocks/preformatted/style.css 103 B
build/block-library/blocks/pullquote/editor-rtl.css 198 B
build/block-library/blocks/pullquote/editor.css 198 B
build/block-library/blocks/pullquote/style-rtl.css 361 B
build/block-library/blocks/pullquote/style.css 360 B
build/block-library/blocks/pullquote/theme-rtl.css 167 B
build/block-library/blocks/pullquote/theme.css 167 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B
build/block-library/blocks/query-pagination/editor-rtl.css 270 B
build/block-library/blocks/query-pagination/editor.css 262 B
build/block-library/blocks/query-pagination/style-rtl.css 168 B
build/block-library/blocks/query-pagination/style.css 168 B
build/block-library/blocks/query-title/editor-rtl.css 85 B
build/block-library/blocks/query-title/editor.css 85 B
build/block-library/blocks/query/editor-rtl.css 131 B
build/block-library/blocks/query/editor.css 132 B
build/block-library/blocks/quote/style-rtl.css 169 B
build/block-library/blocks/quote/style.css 169 B
build/block-library/blocks/quote/theme-rtl.css 220 B
build/block-library/blocks/quote/theme.css 222 B
build/block-library/blocks/rss/editor-rtl.css 202 B
build/block-library/blocks/rss/editor.css 204 B
build/block-library/blocks/rss/style-rtl.css 289 B
build/block-library/blocks/rss/style.css 288 B
build/block-library/blocks/search/editor-rtl.css 209 B
build/block-library/blocks/search/editor.css 209 B
build/block-library/blocks/search/style-rtl.css 368 B
build/block-library/blocks/search/style.css 372 B
build/block-library/blocks/search/theme-rtl.css 64 B
build/block-library/blocks/search/theme.css 64 B
build/block-library/blocks/separator/editor-rtl.css 99 B
build/block-library/blocks/separator/editor.css 99 B
build/block-library/blocks/separator/style-rtl.css 250 B
build/block-library/blocks/separator/style.css 250 B
build/block-library/blocks/separator/theme-rtl.css 172 B
build/block-library/blocks/separator/theme.css 172 B
build/block-library/blocks/shortcode/editor-rtl.css 474 B
build/block-library/blocks/shortcode/editor.css 474 B
build/block-library/blocks/site-logo/editor-rtl.css 462 B
build/block-library/blocks/site-logo/editor.css 464 B
build/block-library/blocks/site-logo/style-rtl.css 153 B
build/block-library/blocks/site-logo/style.css 153 B
build/block-library/blocks/site-tagline/editor-rtl.css 86 B
build/block-library/blocks/site-tagline/editor.css 86 B
build/block-library/blocks/site-title/editor-rtl.css 84 B
build/block-library/blocks/site-title/editor.css 84 B
build/block-library/blocks/social-link/editor-rtl.css 165 B
build/block-library/blocks/social-link/editor.css 165 B
build/block-library/blocks/social-links/editor-rtl.css 812 B
build/block-library/blocks/social-links/editor.css 811 B
build/block-library/blocks/social-links/style-rtl.css 1.33 kB
build/block-library/blocks/social-links/style.css 1.33 kB
build/block-library/blocks/spacer/editor-rtl.css 307 B
build/block-library/blocks/spacer/editor.css 307 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table/editor-rtl.css 471 B
build/block-library/blocks/table/editor.css 472 B
build/block-library/blocks/table/style-rtl.css 481 B
build/block-library/blocks/table/style.css 481 B
build/block-library/blocks/table/theme-rtl.css 188 B
build/block-library/blocks/table/theme.css 188 B
build/block-library/blocks/tag-cloud/style-rtl.css 146 B
build/block-library/blocks/tag-cloud/style.css 146 B
build/block-library/blocks/template-part/editor-rtl.css 636 B
build/block-library/blocks/template-part/editor.css 635 B
build/block-library/blocks/template-part/theme-rtl.css 101 B
build/block-library/blocks/template-part/theme.css 101 B
build/block-library/blocks/term-description/editor-rtl.css 90 B
build/block-library/blocks/term-description/editor.css 90 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 166 B
build/block-library/blocks/text-columns/style.css 166 B
build/block-library/blocks/verse/style-rtl.css 87 B
build/block-library/blocks/verse/style.css 87 B
build/block-library/blocks/video/editor-rtl.css 571 B
build/block-library/blocks/video/editor.css 572 B
build/block-library/blocks/video/style-rtl.css 173 B
build/block-library/blocks/video/style.css 173 B
build/block-library/blocks/video/theme-rtl.css 124 B
build/block-library/blocks/video/theme.css 124 B
build/block-library/common-rtl.css 1.29 kB
build/block-library/common.css 1.29 kB
build/block-library/editor-rtl.css 9.87 kB
build/block-library/editor.css 9.85 kB
build/block-library/reset-rtl.css 527 B
build/block-library/reset.css 527 B
build/block-library/style-rtl.css 10.2 kB
build/block-library/style.css 10.2 kB
build/block-library/theme-rtl.css 688 B
build/block-library/theme.css 692 B
build/components/style-rtl.css 15.8 kB
build/components/style.css 15.8 kB
build/customize-widgets/style-rtl.css 1.5 kB
build/customize-widgets/style.css 1.49 kB
build/edit-navigation/style-rtl.css 3.1 kB
build/edit-navigation/style.css 3.1 kB
build/edit-post/classic-rtl.css 492 B
build/edit-post/classic.css 494 B
build/edit-post/style-rtl.css 7.18 kB
build/edit-post/style.css 7.17 kB
build/edit-site/style-rtl.css 5.01 kB
build/edit-site/style.css 5.01 kB
build/edit-widgets/style-rtl.css 4.01 kB
build/edit-widgets/style.css 4.02 kB
build/editor/style-rtl.css 3.92 kB
build/editor/style.css 3.91 kB
build/format-library/style-rtl.css 668 B
build/format-library/style.css 669 B
build/list-reusable-blocks/style-rtl.css 838 B
build/list-reusable-blocks/style.css 838 B
build/nux/style-rtl.css 747 B
build/nux/style.css 743 B
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/widgets/style-rtl.css 1.04 kB
build/widgets/style.css 1.04 kB

compressed-size-action

@jsnajdr jsnajdr force-pushed the update/webpack-5-try-2 branch from 797f4cd to 54aaf83 Compare August 3, 2021 07:19
@jsnajdr
Copy link
Member

jsnajdr commented Aug 3, 2021

@walbo The changes in #33826 look good and are very helpful, so I cherry-picked the commit to this branch. That makes things simpler to administer.

'server-side-render',
'shortcode',
'warning',
];
Copy link
Member

Choose a reason for hiding this comment

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

It would be really nice if this information was part of the individual packages, like a flag in packages/api-fetch/package.json. The list shoudn't be maintained in a build script.

It's certainly a task for another PR, it just caught my attention here and I wanted to make a note.

Copy link
Member Author

Choose a reason for hiding this comment

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

I agree that it's a bit unfortunate that we have to list all of them. The benefit would be that we wouldn't have to maintain the same list in WordPress core. Still, it's a manual task that we will have to remember about.

@gziolo
Copy link
Member Author

gziolo commented Aug 3, 2021

All unit tests should be fixed with abbc15f. I marked @wordpress/library-export-default-webpack-plugin as deprecated in the context of webpack 5 and removed unit tests that were erroring. Unless you feel we should try to fix them and keep the plugin compatible with webpack 5. As discussed, it's obsolete now so better to ignore it.

In b257e9e, I added some tweaks to the default webpack config shipped with @wordpress/scripts. The biggest change is that file-loader is no longer necessary because webpack 5 has native assets handling. I tested fonts handling, I still need to verify images, including SVG.

@gziolo gziolo marked this pull request as ready for review August 3, 2021 10:40
@gziolo gziolo force-pushed the update/webpack-5-try-2 branch from b102916 to 2e50a68 Compare August 10, 2021 05:40
@gziolo gziolo merged commit a510403 into trunk Aug 10, 2021
@gziolo gziolo deleted the update/webpack-5-try-2 branch August 10, 2021 07:24
@github-actions github-actions bot added this to the Gutenberg 11.3 milestone Aug 10, 2021
@gziolo
Copy link
Member Author

gziolo commented Aug 17, 2021

I published a new version of @wordpress/scripts to npm to make it possible to test the upcoming changes. It is hidden behind the next dist tag:

npm i --save-dev @wordpress/scripts@next

@gziolo
Copy link
Member Author

gziolo commented Aug 17, 2021

I see an error that needs to be resolved before the final release:

[webpack-cli] Error: No browserslist config found to handle the 'browserslist' target.
See https://github.com/browserslist/browserslist#queries for possible ways to provide a config.
The recommended way is to add a 'browserslist' key to your package.json and list supported browsers (resp. node.js versions).
You can also more options via the 'target' option: 'browserslist' / 'browserslist:env' / 'browserslist:query' / 'browserslist:path-to-config' / 'browserslist:path-to-config:env'

It looks like we need to provide the fallback path to the browserlist config with browserslist:/path/to/config when a project doesn't provide its own config.

@gziolo
Copy link
Member Author

gziolo commented Aug 17, 2021

Fix is ready: #34112.

pento pushed a commit to WordPress/wordpress-develop that referenced this pull request Apr 11, 2022
Update webpack version to latest version https://www.npmjs.com/package/webpack. This aligns closer with how the Gutenberg plugin handles WordPress packages. Related update in Gutenberg from August 2021: WordPress/gutenberg#33818.

Props walbo, desrosj, mukesh27.
Fixes #51750.




git-svn-id: https://develop.svn.wordpress.org/trunk@53135 602fd350-edb4-49c9-b593-d223f7449a82
markjaquith pushed a commit to markjaquith/WordPress that referenced this pull request Apr 11, 2022
Update webpack version to latest version https://www.npmjs.com/package/webpack. This aligns closer with how the Gutenberg plugin handles WordPress packages. Related update in Gutenberg from August 2021: WordPress/gutenberg#33818.

Props walbo, desrosj, mukesh27.
Fixes #51750.



Built from https://develop.svn.wordpress.org/trunk@53135


git-svn-id: http://core.svn.wordpress.org/trunk@52724 1a063a9b-81f0-0310-95a4-ce76da25c4cd
github-actions bot pushed a commit to gilzow/wordpress-performance that referenced this pull request Apr 11, 2022
Update webpack version to latest version https://www.npmjs.com/package/webpack. This aligns closer with how the Gutenberg plugin handles WordPress packages. Related update in Gutenberg from August 2021: WordPress/gutenberg#33818.

Props walbo, desrosj, mukesh27.
Fixes #51750.



Built from https://develop.svn.wordpress.org/trunk@53135


git-svn-id: https://core.svn.wordpress.org/trunk@52724 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Storybook Storybook and its stories for components [Tool] WP Scripts /packages/scripts [Type] Build Tooling Issues or PRs related to build tooling
Projects
None yet
4 participants