EY-Office ブログ

ホームページ構築ツールのAstroをバージョン3.6に更新しました

このブログを含むEY-Officeホームページは、Static Site GenerationツールAstroを使っています。 関連ブログ → EY-OfficeホームページのAstro化を進めています【速報】Astroは遅くなかった! 悪いのは私でした・・・

実はAstroのバージョンはAstroに置き換えた時点の2.3のままでしたが、最新の3.6に更新しました。

なぜバージョンアップしたのかは、

  1. バージョン3.0で高速化されたらしい
  2. 最近バージョン4.0 Betaリリースされ、遠くないうちに4.0がリリースされると思われます。一般的にソフトウェアのバージョンアップは1バージョン毎に行う必要があり、いずれバージョン3.0にアップする必要がある

Astro

Astro3.6への更新

公式ページにAstro v3へのアップグレードの手順通り行い、簡単にバージョンアップできました。 しかしビルドastro buildを実行したところ以下のようなエラーが発生しました(適当に改行しています)。

[@mdx-js/rollup] The argument 'path' must be a string or Uint8Array without
  null bytes.
Received '\x00@astro-page:src/pages/education_non_programer@_@mdx'
  file: @astro-page:src/pages/education_non_programer@_@mdx error

なんだろう!? 検索してみても的確な解答は見つかりませんでした。しかしヒントがありした!
このサイトの大部分Markdownで書かれているので、@astrojs/mdx npmを使っています。しかし、astro npmをバージョンアップしても @astrojs/mdx はバージョンアップされませんでした。
@astrojs/mdx npmをバージョンアップしたところ動くようになりました!

@astrojs/mdxはアドオンで@astrojs/mdxastroに依存していますが、フレームワークであるastro@astrojs/mdxには依存してないので、astroをバージョンアップしても@astrojs/mdxは自動的にバージョンアップされないのです。
アドオン機構を採用しているソフトのバージョンアップでは、注意が必要ですね!

高速化されたのか?

Astro3.6への更新たところ開発モードでの動作がキビキビしました。今までも遅くはなかったのですが、リンクをクリックしてページが表示される際の描画が激早です。
この時間は計測出来ないので、ビルドastro buildの時間を測定してみました。

バージョンビルド時間
2.38.4 秒
3.67.7 秒

10%ほど早くなってますね。
Viteベースになるバージョン4.0も楽しみです。😃

- about -

EY-Office代表取締役
・プログラマー
吉田裕美の
開発者向けブログ