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

feat(core): Replace Webpack with Rspack - siteConfig.future.experimental_faster.rspackBundler #10402

Merged
merged 65 commits into from
Oct 11, 2024

Conversation

slorber
Copy link
Collaborator

@slorber slorber commented Aug 14, 2024

Docusaurus Faster

This PR is part of the Docusaurus Faster project aiming at reducing production build times

Motivation

Rspack is mostly retro-compatible with Webpack and the most suitable choice for Docusaurus in the short term (see also #4765 (comment))

This PR adds opt-in experimental support for replacing Webpack with Rspack.

Note it's not 100% compatible. There are some subtle differences to consider.

Plugins authors implementing configureWebpack() might need to adjust their code to add Rspack support: see #10572

Extra notes:

Benchmark

This is an approximate local benchmark run locally on our Docusaurus website. It is not necessarily representative of the performance gains you'll obtain on your own site.

We are measuring with faster: true VS faster: false (not just rspackBundler: true which depends on some other options to be enabled).

Benchmark - Cold builds

As expected, Rspack is much faster on cold builds. In our case, more than 3x faster.

hyperfine --prepare 'yarn clear:website' --runs 3 'DOCUSAURUS_SLOWER=true yarn build:website:fast' 'yarn build:website:fast'

Benchmark 1: DOCUSAURUS_SLOWER=true yarn build:website:fast
  Time (mean ± σ):     48.484 s ±  1.350 s    [User: 115.380 s, System: 12.312 s]
  Range (min … max):   47.001 s … 49.642 s    3 runs

Benchmark 2: yarn build:website:fast
  Time (mean ± σ):     15.552 s ±  1.333 s    [User: 39.228 s, System: 6.693 s]
  Range (min … max):   14.749 s … 17.091 s    3 runs

Summary
  yarn build:website:fast ran
    3.12 ± 0.28 times faster than DOCUSAURUS_SLOWER=true yarn build:website:fast

Benchmark - Warm re-builds

As expected, Rpack is slightly slower on warm re-builds.

This is likely temporary until they implement support for Webpack persistent caching.

DOCUSAURUS_SLOWER=true yarn build:website:fast
hyperfine --runs 3 'DOCUSAURUS_SLOWER=true yarn build:website:fast' 'yarn build:website:fast'

Benchmark 1: DOCUSAURUS_SLOWER=true yarn build:website:fast
  Time (mean ± σ):     14.563 s ±  1.201 s    [User: 22.188 s, System: 4.829 s]
  Range (min … max):   13.807 s … 15.948 s    3 runs

Benchmark 2: yarn build:website:fast
  Time (mean ± σ):     15.248 s ±  0.219 s    [User: 38.438 s, System: 6.764 s]
  Range (min … max):   15.014 s … 15.447 s    3 runs

Summary
  DOCUSAURUS_SLOWER=true yarn build:website:fast ran
    1.05 ± 0.09 times faster than yarn build:website:fast

Note: despite slightly slower rebuilds, we believe it's still worth it to turn Rspack on to future-proof your site against Rspack.

This benchmark doesn't take into account any site edit that might invalidate the persistent cache. We didn't modify any JSX/MDX file before rebuilding, which happens in practice.

Also, faster Webpack rebuilds require additional CI setup to save/restore the persistent cache that we never documented properly (outside of mentioning it on issues such as #4765) so it's likely most users do not leverage it anyway.

Test Plan

CI + unit tests

Test links

https://deploy-preview-10402--docusaurus-2.netlify.app/

Related issues/PRs

#4765

@facebook-github-bot facebook-github-bot added the CLA Signed Signed Facebook CLA label Aug 14, 2024
Copy link

github-actions bot commented Aug 14, 2024

⚡️ Lighthouse report for the deploy preview of this PR

URL Performance Accessibility Best Practices SEO Report
/ 🟠 73 🟢 98 🟢 96 🟢 100 Report
/docs/installation 🟠 59 🟢 97 🟢 100 🟢 100 Report
/docs/category/getting-started 🟠 74 🟢 100 🟢 100 🟠 86 Report
/blog 🟠 63 🟢 96 🟢 100 🟠 86 Report
/blog/preparing-your-site-for-docusaurus-v3 🔴 48 🟢 92 🟢 100 🟢 100 Report
/blog/tags/release 🟠 64 🟢 96 🟢 100 🟠 86 Report
/blog/tags 🟠 74 🟢 100 🟢 100 🟠 86 Report

Copy link

netlify bot commented Aug 14, 2024

[V2]

Name Link
🔨 Latest commit b02fb3e
🔍 Latest deploy log https://app.netlify.com/sites/docusaurus-2/deploys/6708db13c734350008fb3ec5
😎 Deploy Preview https://deploy-preview-10402--docusaurus-2.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

github-actions bot commented Aug 14, 2024

Size Change: +63.4 kB (+0.57%)

Total Size: 11.2 MB

Filename Size Change
website/build/assets/css/styles.********.css 120 kB +528 B (+0.44%)
website/build/assets/js/main.********.js 728 kB +61.8 kB (+9.28%) 🔍
website/build/assets/js/runtime~main.********.js 35.8 kB +667 B (+1.9%)
ℹ️ View Unchanged
Filename Size Change
website/.docusaurus/codeTranslations.json 2 B 0 B
website/.docusaurus/docusaurus.config.mjs 28 kB 0 B
website/.docusaurus/globalData.json 30.2 kB 0 B
website/.docusaurus/i18n.json 930 B 0 B
website/.docusaurus/registry.js 155 kB 0 B
website/.docusaurus/routes.js 74.3 kB 0 B
website/.docusaurus/routesChunkNames.json 81.7 kB 0 B
website/.docusaurus/site-metadata.json 2.17 kB 0 B
website/build/blog.html 58.1 kB 0 B
website/build/blog/2017/12/14/introducing-docusaurus.html 72.2 kB 0 B
website/build/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus.html 45.1 kB +12 B (+0.03%)
website/build/blog/2018/09/11/Towards-Docusaurus-2.html 49.4 kB 0 B
website/build/blog/2018/12/14/Happy-First-Birthday-Slash.html 28.6 kB 0 B
website/build/blog/2019/12/30/docusaurus-2019-recap.html 37.5 kB -1 B (0%)
website/build/blog/2020/01/07/tribute-to-endi.html 32.1 kB 0 B
website/build/blog/2021/01/19/docusaurus-2020-recap.html 46.5 kB 0 B
website/build/blog/2021/03/09/releasing-docusaurus-i18n.html 42.9 kB -1 B (0%)
website/build/blog/2021/05/12/announcing-docusaurus-two-beta.html 45.2 kB 0 B
website/build/blog/2021/11/21/algolia-docsearch-migration.html 50.3 kB +12 B (+0.02%)
website/build/blog/2022/01/24/docusaurus-2021-recap.html 42.4 kB 0 B
website/build/blog/2022/08/01/announcing-docusaurus-2.0.html 134 kB 0 B
website/build/blog/2022/09/01/docusaurus-2.1.html 48.2 kB -1 B (0%)
website/build/blog/archive.html 23.1 kB 0 B
website/build/blog/authors.html 43.9 kB 0 B
website/build/blog/authors/j-marcey.html 61.9 kB 0 B
website/build/blog/authors/josh-cena.html 40.7 kB 0 B
website/build/blog/authors/lex-111.html 47.6 kB 0 B
website/build/blog/authors/slorber.html 58 kB 0 B
website/build/blog/authors/slorber/authors/2.html 61.8 kB 0 B
website/build/blog/authors/slorber/authors/3.html 73.6 kB 0 B
website/build/blog/authors/slorber/authors/4.html 42.1 kB 0 B
website/build/blog/authors/yangshun.html 54.8 kB 0 B
website/build/blog/authors/zpao.html 41.1 kB 0 B
website/build/blog/page/2.html 62.6 kB 0 B
website/build/blog/page/3.html 68.3 kB 0 B
website/build/blog/page/4.html 61.1 kB 0 B
website/build/blog/page/5.html 39.8 kB 0 B
website/build/blog/preparing-your-site-for-docusaurus-v3.html 132 kB +4 B (0%)
website/build/blog/releases/2.2.html 47.1 kB 0 B
website/build/blog/releases/2.3.html 57.9 kB 0 B
website/build/blog/releases/2.4.html 62.1 kB 0 B
website/build/blog/releases/3.0.html 107 kB +12 B (+0.01%)
website/build/blog/releases/3.1.html 49.5 kB +1 B (0%)
website/build/blog/releases/3.2.html 46.3 kB 0 B
website/build/blog/releases/3.3.html 52.9 kB 0 B
website/build/blog/releases/3.4.html 53.1 kB +7 B (+0.01%)
website/build/blog/releases/3.5.html 55.3 kB +1 B (0%)
website/build/blog/tags.html 26.7 kB 0 B
website/build/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing.html 123 kB 0 B
website/build/docs.html 47 kB 0 B
website/build/docs/advanced.html 29.4 kB 0 B
website/build/docs/advanced/architecture.html 28.9 kB +4 B (+0.01%)
website/build/docs/advanced/client.html 72.7 kB 0 B
website/build/docs/advanced/plugins.html 56 kB 0 B
website/build/docs/advanced/routing.html 70.8 kB +8 B (+0.01%)
website/build/docs/advanced/ssg.html 77.8 kB 0 B
website/build/docs/api/docusaurus-config.html 194 kB 0 B
website/build/docs/api/misc/@docusaurus/eslint-plugin.html 45.7 kB +4 B (+0.01%)
website/build/docs/api/misc/@docusaurus/eslint-plugin/no-html-links.html 36 kB 0 B
website/build/docs/api/misc/@docusaurus/eslint-plugin/no-untranslated-text.html 34.9 kB 0 B
website/build/docs/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading.html 36.2 kB +4 B (+0.01%)
website/build/docs/api/misc/@docusaurus/eslint-plugin/string-literal-i18n-messages.html 39.8 kB 0 B
website/build/docs/api/misc/@docusaurus/logger.html 37.9 kB 0 B
website/build/docs/api/misc/create-docusaurus.html 33 kB 0 B
website/build/docs/api/plugin-methods.html 64.6 kB +4 B (+0.01%)
website/build/docs/api/plugin-methods/extend-infrastructure.html 60.2 kB +4 B (+0.01%)
website/build/docs/api/plugin-methods/i18n-lifecycles.html 58.1 kB +4 B (+0.01%)
website/build/docs/api/plugin-methods/lifecycle-apis.html 164 kB 0 B
website/build/docs/api/plugin-methods/static-methods.html 44.4 kB +4 B (+0.01%)
website/build/docs/api/plugins.html 29.9 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-client-redirects.html 59.5 kB +13 B (+0.02%)
website/build/docs/api/plugins/@docusaurus/plugin-content-blog.html 189 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-content-docs.html 194 kB +9 B (0%)
website/build/docs/api/plugins/@docusaurus/plugin-content-pages.html 74 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-debug.html 48 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-google-analytics.html 48.9 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-google-gtag.html 48.5 kB -4 B (-0.01%)
website/build/docs/api/plugins/@docusaurus/plugin-google-tag-manager.html 47.3 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-ideal-image.html 48.4 kB +4 B (+0.01%)
website/build/docs/api/plugins/@docusaurus/plugin-pwa.html 116 kB +4 B (0%)
website/build/docs/api/plugins/@docusaurus/plugin-sitemap.html 65.3 kB +6 B (+0.01%)
website/build/docs/api/plugins/@docusaurus/plugin-vercel-analytics.html 39.9 kB +12 B (+0.03%)
website/build/docs/api/themes.html 28.7 kB 0 B
website/build/docs/api/themes/@docusaurus/theme-classic.html 44 kB +4 B (+0.01%)
website/build/docs/api/themes/@docusaurus/theme-live-codeblock.html 36.6 kB +4 B (+0.01%)
website/build/docs/api/themes/@docusaurus/theme-mermaid.html 35.5 kB +4 B (+0.01%)
website/build/docs/api/themes/@docusaurus/theme-search-algolia.html 32.8 kB 0 B
website/build/docs/api/themes/configuration.html 243 kB 0 B
website/build/docs/blog.html 211 kB +6 B (0%)
website/build/docs/browser-support.html 48.4 kB 0 B
website/build/docs/category/getting-started.html 26.6 kB 0 B
website/build/docs/category/guides.html 34.5 kB 0 B
website/build/docs/cli.html 59.9 kB +1 B (0%)
website/build/docs/configuration.html 98.7 kB +8 B (+0.01%)
website/build/docs/create-doc.html 62.3 kB +12 B (+0.02%)
website/build/docs/creating-pages.html 56.4 kB +1 B (0%)
website/build/docs/deployment.html 203 kB +8 B (0%)
website/build/docs/docs-introduction.html 50.9 kB 0 B
website/build/docs/docs-multi-instance.html 75 kB +4 B (+0.01%)
website/build/docs/docusaurus-core.html 236 kB 0 B
website/build/docs/guides/whats-next.html 30.9 kB 0 B
website/build/docs/i18n/crowdin.html 145 kB +12 B (+0.01%)
website/build/docs/i18n/git.html 78.8 kB +4 B (+0.01%)
website/build/docs/i18n/introduction.html 48.3 kB 0 B
website/build/docs/i18n/tutorial.html 164 kB +13 B (+0.01%)
website/build/docs/installation.html 70.7 kB +5 B (+0.01%)
website/build/docs/introduction/index.html 280 B 0 B
website/build/docs/markdown-features.html 79.9 kB +1 B (0%)
website/build/docs/markdown-features/admonitions.html 113 kB +4 B (0%)
website/build/docs/markdown-features/assets.html 89.2 kB +2 B (0%)
website/build/docs/markdown-features/code-blocks.html 235 kB +4 B (0%)
website/build/docs/markdown-features/diagrams.html 53.1 kB +14 B (+0.03%)
website/build/docs/markdown-features/head-metadata.html 50.1 kB 0 B
website/build/docs/markdown-features/links.html 40.8 kB 0 B
website/build/docs/markdown-features/math-equations.html 90.5 kB +11 B (+0.01%)
website/build/docs/markdown-features/plugins.html 96.6 kB +8 B (+0.01%)
website/build/docs/markdown-features/react.html 138 kB +5 B (0%)
website/build/docs/markdown-features/tabs.html 142 kB 0 B
website/build/docs/markdown-features/toc.html 84.8 kB +4 B (0%)
website/build/docs/migration.html 40.7 kB +4 B (+0.01%)
website/build/docs/migration/v2.html 39.1 kB 0 B
website/build/docs/migration/v2/automated.html 40.4 kB 0 B
website/build/docs/migration/v2/manual.html 198 kB 0 B
website/build/docs/migration/v2/translated-sites.html 50.3 kB 0 B
website/build/docs/migration/v2/versioned-sites.html 64.2 kB 0 B
website/build/docs/migration/v3.html 209 kB +1 B (0%)
website/build/docs/playground.html 30.7 kB 0 B
website/build/docs/resources/index.html 325 B 0 B
website/build/docs/search.html 116 kB +1 B (0%)
website/build/docs/seo.html 88.7 kB +13 B (+0.01%)
website/build/docs/sidebar.html 130 kB +4 B (0%)
website/build/docs/sidebar/autogenerated.html 150 kB +13 B (+0.01%)
website/build/docs/sidebar/items.html 180 kB 0 B
website/build/docs/sidebar/multiple-sidebars.html 63.7 kB +4 B (+0.01%)
website/build/docs/static-assets.html 53.4 kB +4 B (+0.01%)
website/build/docs/styling-layout.html 135 kB 0 B
website/build/docs/support/index.html 319 B 0 B
website/build/docs/swizzling.html 115 kB +14 B (+0.01%)
website/build/docs/team/index.html 310 B 0 B
website/build/docs/typescript-support.html 62.3 kB 0 B
website/build/docs/using-plugins.html 110 kB +13 B (+0.01%)
website/build/docs/versioning.html 83.1 kB +13 B (+0.02%)
website/build/index.html 35.8 kB 0 B

compressed-size-action

@slorber slorber added the Argos Add this label to run UI visual regression tests. See argos.yml GH action. label Aug 15, 2024
Copy link

argos-ci bot commented Aug 15, 2024

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
default (Inspect) ✅ No changes detected - Oct 11, 2024, 8:06 AM

@tmpaul
Copy link

tmpaul commented Aug 30, 2024

Are you considering runtime sizes as well before proceeding with this migration ? It seems that the bundler community is solely focused on who's faster (farmfe/rspack/turbopack etc), while almost no attention is being paid to the actual runtime javascript sizes whatsoever. Even rspack's documentation is very vague on what it does exactly to reduce the code size compared to webpack 5. I'm posting the measured network size (Chrome devtools Network tab) for the preview link vs the main branch. I do realize that this PR is behind the main branch, so the numbers might vary when the PR is updated. But here is what I see:

Rspack PoC (netlify URL)

JS: 9 requests, 1.0 MB compressed, 2.7 MB uncompressed
CSS: 2 requests, 26.8 KB compressed, 135 KB uncompressed
Total: 1050 Kb compressed, 2900 KB uncompressed

Webpack 5 (docusarus.io)

JS: 10 requests, 981 KB compressed, 2.0 MB uncompressed
CSS: 2 requests, 30.3 KB compressed, 136 KB uncompressed
Total: 1011.3 KB compressed, 2184 KB uncompressed

If we assume that the "base" is the same, there is a ~716 KB (minified) diff between webpack and rspack. Feel free to adjust the numbers after a rebase, but this is definitely concerning.

I appreciate the build time perf boost. It is quite important. But we must not forget that there is a lot more to performance than pure blind speed. I cannot see any concrete numbers or benchmarks around "runtime" sizes either. Most comparisons are based on webpack-bundle-analyzer, which is incorrect since the splitChunks configuration can affect which chunks are loaded on a route, and not all chunks in the analyzer are loaded for a given route. Build time static size analysis is not the right metric imo. Curious to hear your thoughts

@slorber
Copy link
Collaborator Author

slorber commented Aug 31, 2024

@tmpaul yes we obviously consider this, we even have a bot to warn us:
#10402 (comment)

And bundler authors as well
https://rspack.dev/blog/announcing-1-0#smaller-bundle-size

This is why this PR is a draft POC, it's not ready to merge. We are already aware of that code splitting problem.

Most likely we'll provide an experimental feature flag to turn Rspack on.

@slorber slorber mentioned this pull request Oct 4, 2024
@slorber slorber changed the title [WIP]: Use Rspack instead of Webpack feat(core): Replace Webpack with Rspack - siteConfig.future.experimental_faster.rspackBundler Oct 4, 2024
@slorber slorber marked this pull request as ready for review October 10, 2024 15:31
@slorber slorber requested a review from Josh-Cena as a code owner October 10, 2024 15:31
Copy link

New and removed dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/regenerate-unicode-properties@10.1.1 None 0 589 kB google-wombot
npm/regenerator-runtime@0.14.1 None 0 27.9 kB benjamn
npm/regenerator-transform@0.15.2 None 0 135 kB benjamn
npm/regexpu-core@5.3.2 None 0 53.8 kB google-wombot
npm/registry-auth-token@5.0.2 environment 0 15.1 kB rexxars
npm/registry-url@6.0.1 None 0 4.29 kB sindresorhus
npm/regjsparser@0.9.1 None 0 65.7 kB jviereck
npm/rehype-raw@7.0.0 None 0 12.5 kB wooorm
npm/relateurl@0.2.7 None 0 31.4 kB stevenvachon
npm/remark-directive@3.0.0 None 0 18.6 kB wooorm
npm/remark-emoji@4.0.1 None +2 185 kB rhysd
npm/remark-frontmatter@5.0.0 None 0 21.2 kB wooorm
npm/remark-gfm@4.0.0 None 0 21.4 kB wooorm
npm/remark-mdx@3.0.1 None 0 14.8 kB wooorm
npm/remark-parse@11.0.0 None 0 19.5 kB wooorm
npm/remark-rehype@11.1.0 None 0 42.6 kB wooorm
npm/remark-stringify@11.0.0 None 0 19.6 kB wooorm
npm/renderkid@3.0.0 None 0 169 kB ariaminaei
npm/require-from-string@2.0.2 unsafe 0 3.42 kB floatdrop
npm/require-like@0.1.2 unsafe 0 11.3 kB felixge
npm/requires-port@1.0.0 None 0 8.56 kB 3rdeden
npm/resolve-from@4.0.0 filesystem, unsafe 0 4.64 kB sindresorhus
npm/resolve-pathname@3.0.0 environment 0 11.7 kB mjackson
npm/responselike@3.0.0 None 0 5.55 kB sindresorhus
npm/retry@0.13.1 None 0 18.9 kB tim-kos
npm/reusify@1.0.4 None 0 9.44 kB matteo.collina
npm/rimraf@3.0.2 filesystem +1 72.4 kB isaacs
npm/rtl-detect@1.1.2 None 0 26.9 kB shadiabuhilal
npm/run-parallel@1.2.0 None 0 6.56 kB feross
npm/safe-buffer@5.1.2 None 0 31.7 kB feross
npm/safer-buffer@2.1.2 None 0 42.3 kB chalker
npm/section-matter@1.0.0 None 0 12.1 kB jonschlinkert
npm/select-hose@2.0.0 None 0 15.4 kB indutny
npm/selfsigned@2.4.1 None 0 25.4 kB jfromaniello
npm/semver-diff@4.0.0 None 0 5.17 kB sindresorhus
npm/semver@7.6.3 None 0 95.8 kB npm-cli-ops
npm/send@0.18.0 filesystem, network 0 50.1 kB dougwilson
npm/serve-handler@6.1.5 environment, filesystem 0 42.4 kB vercel-release-bot
npm/serve-index@1.9.1 filesystem, network +2 121 kB dougwilson
npm/serve-static@1.15.0 None 0 25.2 kB dougwilson
npm/set-function-length@1.2.2 None +2 56.5 kB ljharb
npm/setprototypeof@1.2.0 None 0 4.03 kB wesleytodd
npm/shallow-clone@3.0.1 None 0 9.45 kB jonschlinkert
npm/shallowequal@1.1.0 None 0 7.35 kB dashed
npm/shebang-command@2.0.0 None 0 2.56 kB kevva
npm/shebang-regex@3.0.0 None 0 2.83 kB sindresorhus
npm/shell-quote@1.8.1 None 0 45 kB ljharb
npm/shelljs@0.8.5 environment, filesystem 0 212 kB nfischer
npm/side-channel@1.0.6 None 0 23.2 kB ljharb
npm/sirv@2.0.4 filesystem 0 20.7 kB lukeed
npm/sisteransi@1.0.5 None 0 6.79 kB terkelg
npm/skin-tone@2.0.0 None 0 4.74 kB sindresorhus
npm/slash@3.0.0 None 0 3.51 kB sindresorhus
npm/snake-case@3.0.4 None 0 10.4 kB blakeembrey
npm/sockjs@0.3.24 filesystem, network 0 82.8 kB brycekahle
npm/sort-css-media-queries@2.2.0 filesystem 0 16.9 kB dutchenkooleg
npm/source-map-js@1.2.0 None 0 140 kB 7rulnik
npm/source-map-support@0.5.21 filesystem 0 85.2 kB linusu
npm/source-map@0.6.1 None 0 805 kB tromey
npm/space-separated-tokens@2.0.2 None 0 7.75 kB wooorm
npm/spdy-transport@3.0.0 None 0 136 kB daviddias
npm/spdy@4.0.2 network 0 57.7 kB indutny
npm/sprintf-js@1.0.3 None 0 34.8 kB alexei
npm/statuses@2.0.1 None 0 12.1 kB dougwilson
npm/std-env@3.7.0 None 0 26.2 kB pi0
npm/string_decoder@1.3.0 None 0 14.4 kB matteo.collina
npm/string-width@5.1.2 None 0 5.78 kB sindresorhus
npm/stringify-entities@4.0.4 None 0 23.8 kB wooorm
npm/stringify-object@3.3.0 None 0 8.12 kB sindresorhus
npm/strip-ansi@6.0.1 None 0 4.03 kB sindresorhus
npm/strip-bom-string@1.0.0 None 0 5.69 kB jonschlinkert
npm/strip-final-newline@2.0.0 None 0 3.05 kB sindresorhus
npm/style-to-object@0.4.4 None 0 41.3 kB remarkablemark
npm/stylehacks@6.1.1 None 0 38.7 kB ludovicofischer
npm/supports-color@7.2.0 None 0 7.04 kB sindresorhus
npm/supports-preserve-symlinks-flag@1.0.0 None 0 9.18 kB ljharb
npm/svg-parser@2.0.4 None 0 48.9 kB trysound
npm/terser-webpack-plugin@5.3.10 Transitive: environment +1 173 kB evilebottnawi
npm/terser@5.31.6 environment, eval 0 2.19 MB fabiosantoscode
npm/text-table@0.2.0 None 0 11 kB substack
npm/thunky@1.1.0 None 0 7.76 kB mafintosh
npm/tiny-invariant@1.3.3 None 0 14.8 kB alexreardon
npm/tiny-warning@1.0.3 None 0 8.31 kB alexreardon
npm/to-fast-properties@2.0.0 None 0 3.5 kB sindresorhus
npm/to-regex-range@5.0.1 None 0 22.9 kB jonschlinkert
npm/toidentifier@1.0.1 None 0 4.68 kB dougwilson
npm/totalist@3.0.1 filesystem 0 7.46 kB lukeed
npm/trim-lines@3.0.1 None 0 7.49 kB wooorm
npm/trough@2.2.0 None 0 22.9 kB wooorm
npm/tslib@2.6.3 None 0 84.9 kB typescript-bot
npm/type-fest@2.19.0 None 0 202 kB sindresorhus
npm/type-is@1.6.18 None +1 36.8 kB dougwilson
npm/typedarray-to-buffer@3.1.5 None 0 8.84 kB feross
npm/undici-types@6.13.0 None 0 82.7 kB matteo.collina
npm/unicode-canonical-property-names-ecmascript@2.0.0 None 0 5.01 kB google-wombot
npm/unicode-emoji-modifier-base@1.0.0 None 0 3.25 kB mathias
npm/unicode-match-property-ecmascript@2.0.0 None 0 5.05 kB google-wombot
npm/unicode-match-property-value-ecmascript@2.1.0 None 0 25.7 kB google-wombot
npm/unicode-property-aliases-ecmascript@2.1.0 None 0 5.98 kB google-wombot
npm/unique-string@3.0.0 None 0 2.79 kB sindresorhus
npm/unist-util-is@6.0.0 None 0 27.1 kB wooorm
npm/unist-util-position-from-estree@2.0.0 None 0 11.9 kB wooorm
npm/unist-util-position@5.0.0 None 0 12.8 kB wooorm
npm/unist-util-remove-position@5.0.0 None 0 11 kB wooorm
npm/unist-util-stringify-position@4.0.0 None 0 13.2 kB wooorm
npm/unist-util-visit-parents@6.0.1 None 0 32.9 kB wooorm
npm/unist-util-visit@5.0.0 None 0 28.5 kB wooorm
npm/universalify@2.0.1 None 0 4.67 kB ryanzim
npm/update-browserslist-db@1.1.0 environment, filesystem, shell 0 14.8 kB ai
npm/update-notifier@6.0.2 environment 0 15.6 kB sindresorhus
npm/uri-js@4.4.1 None 0 470 kB garycourt
npm/url-loader@4.1.1 None 0 29.6 kB evilebottnawi
npm/util-deprecate@1.0.2 None 0 5.48 kB tootallnate
npm/utila@0.4.0 None 0 24.2 kB ariaminaei
npm/utility-types@3.11.0 None 0 64.3 kB piotrwitek
npm/utils-merge@1.0.1 None 0 3.72 kB jaredhanson
npm/uuid@8.3.2 None 0 116 kB ctavan
npm/value-equal@1.0.1 environment 0 7.91 kB mjackson
npm/vary@1.1.2 None 0 8.75 kB dougwilson
npm/vfile-location@5.0.3 None 0 13.1 kB wooorm
npm/vfile-message@4.0.2 None 0 22.3 kB wooorm
npm/watchpack@2.4.2 environment, filesystem 0 56.4 kB evilebottnawi
npm/web-namespaces@2.0.1 None 0 7.44 kB wooorm
npm/webpack-bundle-analyzer@4.10.2 environment, filesystem, network +2 1.78 MB valscion
npm/webpack-dev-middleware@5.3.4 filesystem +1 266 kB evilebottnawi
npm/webpack-dev-server@4.15.2 environment, eval, network Transitive: filesystem, shell +2 713 kB evilebottnawi
npm/webpack-merge@5.10.0 None 0 47.9 kB bebraw
npm/webpack-sources@3.2.3 None 0 91.3 kB sokra
npm/webpack@5.93.0 environment, filesystem, network, unsafe +1 5.05 MB evilebottnawi
npm/webpackbar@5.0.2 environment 0 134 kB pi0
npm/websocket-extensions@0.1.4 None 0 55 kB jcoglan
npm/which@2.0.2 environment 0 9.97 kB isaacs
npm/widest-line@4.0.1 None 0 3.33 kB sindresorhus
npm/wildcard@2.0.1 None 0 13.5 kB damonoehlman
npm/wrap-ansi@8.1.0 None 0 11.8 kB sindresorhus
npm/wrappy@1.0.2 None 0 2.96 kB zkat
npm/write-file-atomic@3.0.3 filesystem 0 12.8 kB isaacs
npm/ws@7.5.10 network 0 122 kB lpinca
npm/yallist@3.1.1 None 0 14.8 kB isaacs
npm/yaml@1.10.2 environment 0 448 kB eemeli
npm/yocto-queue@0.1.0 None 0 6.03 kB sindresorhus
npm/zwitch@2.0.4 None 0 13.8 kB wooorm

🚮 Removed packages: npm/@algolia/autocomplete-plugin-algolia-insights@1.9.3, npm/@algolia/autocomplete-preset-algolia@1.9.3, npm/@algolia/autocomplete-shared@1.9.3, npm/@algolia/cache-browser-local-storage@4.24.0, npm/@algolia/cache-common@4.24.0, npm/@algolia/cache-in-memory@4.24.0, npm/@algolia/client-account@4.24.0, npm/@algolia/client-analytics@4.24.0, npm/@algolia/client-common@4.24.0, npm/@algolia/client-personalization@4.24.0, npm/@algolia/client-search@4.24.0, npm/@algolia/events@4.0.1, npm/@algolia/logger-common@4.24.0, npm/@algolia/logger-console@4.24.0, npm/@algolia/recommend@4.24.0, npm/@algolia/requester-browser-xhr@4.24.0, npm/@algolia/requester-common@4.24.0, npm/@algolia/requester-node-http@4.24.0, npm/@algolia/transporter@4.24.0, npm/@docsearch/css@3.6.1, npm/@docsearch/react@3.6.1, npm/@docusaurus/module-type-aliases@3.5.2, npm/@docusaurus/plugin-content-blog@3.5.2, npm/@docusaurus/plugin-content-docs@3.5.2, npm/@docusaurus/plugin-content-pages@3.5.2, npm/@docusaurus/plugin-debug@3.5.2, npm/@docusaurus/plugin-google-analytics@3.5.2, npm/@docusaurus/plugin-google-gtag@3.5.2, npm/@docusaurus/plugin-google-tag-manager@3.5.2, npm/@docusaurus/plugin-sitemap@3.5.2, npm/@docusaurus/preset-classic@3.5.2, npm/@docusaurus/theme-classic@3.5.2, npm/@docusaurus/theme-common@3.5.2, npm/@docusaurus/theme-search-algolia@3.5.2, npm/@docusaurus/theme-translations@3.5.2, npm/@docusaurus/tsconfig@3.5.2, npm/@docusaurus/types@3.5.2, npm/@mdx-js/react@3.0.1, npm/@pnpm/config.env-replace@1.1.0, npm/@pnpm/network.ca-file@1.0.2, npm/@types/gtag.js@0.0.12, npm/@types/history@4.7.11, npm/@types/prismjs@1.26.4, npm/@types/react-router-dom@5.3.3, npm/@types/sax@1.2.7, npm/algoliasearch-helper@3.22.3, npm/arg@5.0.2, npm/cheerio-select@2.1.0, npm/cheerio@1.0.0-rc.12, npm/clsx@2.1.1, npm/config-chain@1.1.13, npm/copy-text-to-clipboard@3.2.0, npm/core-util-is@1.0.3, npm/deep-extend@0.6.0, npm/estree-util-visit@2.0.0, npm/feed@4.2.2, npm/http-cache-semantics@4.1.1, npm/infima@0.2.0-alpha.44, npm/json-buffer@3.0.1, npm/keyv@4.5.4, npm/mimic-response@4.0.0, npm/minimist@1.2.8, npm/normalize-url@8.0.1, npm/nprogress@0.2.0, npm/p-try@2.2.0, npm/parse-numeric-range@1.3.0, npm/parse5-htmlparser2-tree-adapter@7.0.0, npm/prism-react-renderer@2.3.1, npm/prismjs@1.29.0, npm/process-nextick-args@2.0.1, npm/proto-list@1.2.4, npm/quick-lru@5.1.1, npm/react-dom@18.3.1, npm/react-json-view-lite@1.4.0, npm/react@18.3.1, npm/reading-time@1.5.0

View full report↗︎

@slorber
Copy link
Collaborator Author

slorber commented Oct 11, 2024

Rspack support is now good enough to merge 🎉

Note that the Rspack bundles are still a bit larger than Webpack:

CleanShot 2024-10-11 at 10 46 21

This is actively being worked on and will be fixed later as part of:

@slorber slorber merged commit 74c09ae into main Oct 11, 2024
37 checks passed
@slorber slorber deleted the slorber/poc-rspack branch October 11, 2024 08:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Argos Add this label to run UI visual regression tests. See argos.yml GH action. CLA Signed Signed Facebook CLA pr: new feature This PR adds a new API or behavior.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants