Check latest updates from Docusaurus here: https://docusaurus.io/docs
Refer https://github.com/facebook/react-native-website/blob/main/website/docusaurus.config.ts
https://docusaurus.io/docs/migration
🔁 Step-by-Step Migration from Docusaurus v1 → v2
1. 📦 Install Docusaurus v2
bash
npm install --save @docusaurus/core@latest @docusaurus/preset-classic@latest
Or if using Yarn:
bash
yarn add @docusaurus/core@latest @docusaurus/preset-classic@latest
2. 📁 Rename siteConfig.js to docusaurus.config.js
Then start adapting its contents. For example:
v1:
js
const siteConfig = {
title: 'My Site',
tagline: 'The tagline',
...
};
v2:
js
module.exports = {
title: 'My Site',
tagline: 'The tagline',
url: 'https://yoursite.com',
baseUrl: '/',
...
}
More about docusaurus.config.js:
👉 v2 config reference
3. 🧹 Remove pages/ and use /src/pages
Docusaurus v2 uses src/pages for your custom React pages.
You can convert Markdown docs to use the docs/ folder and React pages into src/pages.
4. 📑 Move docs/, update sidebar
js
module.exports = {
docs: [
{
type: 'category',
label: 'Getting Started',
items: ['intro', 'installation'],
},
],
};
5. 🎨 Update custom styling
js
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
6. ✨ Use Presets
In docusaurus.config.js, use the @docusaurus/preset-classic preset to enable docs/blog/theme:
js
presets: [
[
'@docusaurus/preset-classic',
{
docs: {
sidebarPath: require.resolve('./sidebars.js'),
editUrl: 'https://github.com/your-org/repo/edit/main/docs/',
},
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
},
],
],
7. 🖼 Update Images and Assets
Move static assets like logos, favicons, etc. into /static.
Access them in code like /img/logo.svg.
8. 🧪 Test Locally
This runs your site at http://localhost:3000
🧰 Optional: Use Migration Tool
There's a v1 to v2 migration tool to help convert common config:
bash
npx @docusaurus/migrate
Run it inside your existing Docusaurus v1 project.
✅ Summary Checklist
Task Done?
| Task |
Done? |
| Install v2 packages |
🔜 |
| Rename siteConfig.js |
🔜 |
| Setup docs, src/pages |
🔜 |
| Create sidebars.js |
🔜 |
| Move assets to /static |
🔜 |
| Update styling |
🔜 |
| Run site locally |
🔜 |
To migrate your Docusaurus site to version 3.7, follow these steps:
📦 1. Upgrade Dependencies
Update your Docusaurus packages to the latest versions:
npm install @docusaurus/core@latest @docusaurus/preset-classic@latest
yarn add @docusaurus/core@latest @docusaurus/preset-classic@latest
🔄 2. Review Breaking Changes
Docusaurus v3 introduces updates, especially related to MDX. Review the migration guide to understand necessary changes:
Docusaurus v3 Migration Guide
docusaurus.io
🚀 3. Leverage New Features in v3.7
Docusaurus v3.7 includes several enhancements:
docusaurus.io
React 19 Support.
Rspack Incremental Builds: Improved build performance with Rspack incremental builds enabled by default.
Enhanced Blog Plugin: Support for additional author social icons like Bluesky, Mastodon, Threads, Twitch, YouTube, and Instagram.
New SVGR Plugin: Facilitates importing SVGs as React components.
For a comprehensive list of changes, refer to the v3.7.0 changelog.
docusaurus.io
🧪 4. Test Your Site
After upgrading, run your site locally to ensure everything works as expected:
Address any issues that arise during testing.
Check latest updates from Docusaurus here: https://docusaurus.io/docs
Refer https://github.com/facebook/react-native-website/blob/main/website/docusaurus.config.ts
https://docusaurus.io/docs/migration
🔁 Step-by-Step Migration from Docusaurus v1 → v2
1. 📦 Install Docusaurus v2
Or if using Yarn:
2. 📁 Rename
siteConfig.jstodocusaurus.config.jsThen start adapting its contents. For example:
v1:
v2:
More about
docusaurus.config.js: 👉 v2 config reference3. 🧹 Remove
pages/and use/src/pagesDocusaurus v2 uses
src/pagesfor your custom React pages.You can convert Markdown docs to use the
docs/folder and React pages intosrc/pages.4. 📑 Move
docs/, update sidebarKeep your Markdown files under
/docs.Create a
sidebars.jsfile for navigation:5. 🎨 Update custom styling
Put custom CSS into
src/css/custom.css.Add it to your config:
6. ✨ Use Presets
In
docusaurus.config.js, use the@docusaurus/preset-classicpreset to enable docs/blog/theme:7. 🖼 Update Images and Assets
Move static assets like logos, favicons, etc. into
/static.Access them in code like
/img/logo.svg.8. 🧪 Test Locally
This runs your site at http://localhost:3000
🧰 Optional: Use Migration Tool
There's a v1 to v2 migration tool to help convert common config:
Run it inside your existing Docusaurus v1 project.
✅ Summary Checklist
Task Done?
To migrate your Docusaurus site to version 3.7, follow these steps:
📦 1. Upgrade Dependencies
Update your Docusaurus packages to the latest versions:
🔄 2. Review Breaking Changes
Docusaurus v3 introduces updates, especially related to MDX. Review the migration guide to understand necessary changes:
Docusaurus v3 Migration Guide
docusaurus.io
🚀 3. Leverage New Features in v3.7
Docusaurus v3.7 includes several enhancements:
docusaurus.io
React 19 Support.
Rspack Incremental Builds: Improved build performance with Rspack incremental builds enabled by default.
Enhanced Blog Plugin: Support for additional author social icons like Bluesky, Mastodon, Threads, Twitch, YouTube, and Instagram.
New SVGR Plugin: Facilitates importing SVGs as React components.
For a comprehensive list of changes, refer to the v3.7.0 changelog.
docusaurus.io
🧪 4. Test Your Site
After upgrading, run your site locally to ensure everything works as expected:
Address any issues that arise during testing.