facebook / facebook/docusaurus

Performance - Reduce build time and memory usage

Open
#4,765 131 comments 43 reactions 0 assignees View on GitHub
domain: performance proposal
Dominant language
TypeScript
Stars
66.2k
Forks
10k
Avg merge
1d 3h
Merged PRs (30d)
52

Description

## 💥 Proposal

With [Webpack 5 support](https://github.com/facebook/docusaurus/pull/4089), re-build times are now faster.

But we still need to improve the time for the first build which is not so good currently.

Some tools to explore:
- https://github.com/evanw/esbuild
- https://github.com/swc-project/swc
- https://github.com/alangpierce/sucrase

It will be hard to decouple Docusaurus totally from Webpack at this point.

But we should at least provide a way for users to use an alternative (non-Babel) JS loader that could be faster and good enough. Docusaurus core should be able to provide a few alternate loaders that would work by default using the theme classic, by just switching a config flag.

If successful and faster, we could make one of those alternate loader the default loader for new sites (when no custom babel config is found in the project).

Existing PR by @SamChou19815 for esbuild: https://github.com/facebook/docusaurus/pull/4532

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.