本文へ移動

Docusaurus 3.3

·読み時間3分
Sébastien Lorber
Docusaurusメンテナー、「今週のReact」編集者

Docusaurus 3.3のリリースをお知らせします。

アップグレードは簡単です。当社のリリースプロセスセマンティックバージョニングを尊重しています。マイナーバージョンには破壊的変更は含まれていません。

Docusaurus blog post social card

ハイライト

React 19の準備

Reactコアチームは最近、最初のReact 19ベータ版をリリースしました。また、アップグレードガイドとReact v18.3リリースを公開し、React 19へのアップグレード前に問題を特定するための新しい警告を追加しました。

Docusaurus v3はReact 18.xに依存しています。新しいDocusaurusサイトを初期化する場合、新しいReact 18.3リリースが使用されます。依存関係をアップグレードするか、パッケージマネージャーのロックファイルを再生成する場合も同様です。

現状では、Docusaurusには修正すべき警告がいくつかありました。特に、ページの読み込みとナビゲーションのたびに開発コンソールにすぐに表示されるこの警告です。

警告:LoadableComponentはレガシーcontextTypes APIを使用しています。これはサポートされなくなり、次のメジャーリリースで削除されます。代わりに、React.createContext()とstatic contextTypeを使用してください。

#10079で、DocusaurusをReact 19に対応させました。発生したすべてのReact 18.3の警告を修正しました。見逃した警告がある場合は、新しい警告を報告してください。私たちだけでなく、他のDocusaurusサードパーティプラグインの作者にも報告してください。

createSitemapItems

#10083で、サイトマッププラグインに新しい柔軟なcreateSitemapItems()フックを導入しました。これにより、ユーザーは独自のカスタムロジックを使用してサイトマップアイテムの作成/フィルタリング/変換/拡張を行うことができます。

export default {
presets: [
[
'@docusaurus/preset-classic',
{
sitemap: {
createSitemapItems: async ({
defaultCreateSitemapItems,
...params
}) => {
const items = await defaultCreateSitemapItems(params);
return items.filter((item) => !item.url.includes('/tags/'));
},
},
},
],
],
};

ページプラグインの改善

Docusaurusのページプラグインは、これまで利用可能な機能の点で、ドキュメントとブログプラグインに遅れを取っていました。

#10032で、編集URLとMarkdownページの下部に表示される最終更新メタデータに関するいくつかの不足しているページプラグインAPIを追加することにより、各コアコンテンツプラグインで利用可能なオプションを正規化しました。

export default {
presets: [
[
'@docusaurus/preset-classic',
{
pages: {
editUrl:
'https://github.com/facebook/docusaurus/tree/main/website/src/pages',
editLocalizedFiles: true,
showLastUpdateAuthor: true,
showLastUpdateTime: true,
},
},
],
],
};
/examples/markdownPageExample
Markdownページのみ

これらの新しいプラグインオプションはMarkdownページのみに適用され、JSXを使用してレイアウトを完全に制御できるReactページには影響しません。

その他の変更点

その他の重要な変更点には、以下が含まれます。

  • #10064:新しいサイト設定オプションsiteConfig.markdown.anchors.maintainCase
  • #9767:新しいdocusaurus deploy --target-dirオプション
  • #10042:新しい(実験的)プラグインAPI:route.props
  • #10060:アプリのエントリポイントを最適化し、ナビゲーション時の不要な再レンダリングを回避
  • #10080<Admonition>コンポーネントは、見出し/アイコンなしで適切にレンダリングできます
  • #10091<Tabs>プロップスでデフォルト値を上書きできるようになりました
  • #10090docusaurus serve/baseUrl/パス名プレフィックスでより適切に動作するようになりました
  • #10070pt-BRのテーマ翻訳を追加
  • #10025:ドキュメントサイドバー項目のラベルがドキュメントページネーションラベルに影響するようになりました

変更点の完全なリストについては、3.3.0の変更ログエントリを確認してください。