本文へ移動
技術を、自社の仕事に。
判断と実行を助けるメディア

記事を検索

Void公開 AstroサイトにDBを足す前の確認点

目次 · 6項目

静的サイトとして作った会社のホームページに、セミナーの申し込みを保存する、資料のダウンロードを会員だけにする、といった機能を足したいとき、静的なままでは受け止められません。フォームの送り先を外部のサービスにするか、サーバー側の処理を別に用意するかを選ぶことになります。

2026年10月15日、Cloudflareは公式ブログの記事「Deploy with Void」で、ViteのアプリをCloudflare Workersへ載せるフレームワーク兼デプロイの道具「Void」をオープンソースで公開したと発表しました。同じ日に1.1系がnpmに公開されています。リポジトリ(voidzero-dev/void)のLICENSEの著作権者は「Cloudflare, Inc.」で、MITライセンスです。READMEは「Build and deploy full-stack apps with Vite, running on Cloudflare Workers.」と説明しています。本記事では、2026年10月18日にnpmの void 1.1.11に同梱されている文書(docs/)、GitHubのREADMEとLICENSEを、10月19日にCloudflareの発表記事、公式サイト(void.cloud)の文書、同日に出た1.1.12の同梱文書を直接開いて確認した内容と、手元でのインストールの結果から、既存のAstroのサイトに使う前に確かめる点を整理します。Cloudflareのアカウントへのデプロイは行っていません。

Voidが受け持つ範囲

READMEによると、Voidは3つの道具の組み合わせです。

  • Void SDK: ファイルの配置で決まるAPIのルート、サーバー側で描画するページ、データベース・ストレージ・AIを扱う型付きのAPI
  • Void CLI: アプリのビルド、使うCloudflareのリソースの用意、データベースのマイグレーション、デプロイを1つのコマンドで行い、ログの確認やロールバックも同じCLIで扱う
  • Void Platform: チームや顧客のために、自分のCloudflareアカウントに共有のデプロイ環境を置く仕組み

void deploy は、コードの中で使っているリソース(D1、KV、R2、Workers AI、Queues、Durable Objects)を読み取り、足りないものを作り、ビルドしてWorkerを載せます(同梱の integrations/cloudflare.md)。作ったリソースのIDは void.lock.json に記録されます。

Astroのサイトで使う条件

Voidは、Astroを含む主要なフレームワークと組み合わせられます。発表記事は、Vinext、React Router、SvelteKit、Nuxt、TanStack Start、Astroを挙げています。同梱の integrations/frameworks/astro.md(公式サイトの同じページも同じ内容)が示す条件は次のとおりです。

  1. Astro 6以上:「Astro 6+ is required to use import { x } from "void/x" helpers in Astro apps.」
  2. 互換フラグ nodejs_als: void/db や void/kv などを使うには、Cloudflareの設定の compatibility_flags に nodejs_als が必要です
  3. AstroのCloudflareアダプター: @astrojs/cloudflare を使い、configPath に ./.void-wrangler.jsonc を指定します。Voidは astro.config.mjs の vite.plugins に voidPlugin() として入ります
  4. データを読むページは事前描画をやめる: 「Pages that access runtime bindings must opt out of prerendering」。該当するページに export const prerender = false; を書きます

ルーティングと描画は引き続きAstroが受け持ち、Voidはデータベースの型付け、マイグレーション、リソースの用意、デプロイを受け持つ分担です。静的な会社のページはそのまま事前描画にし、申し込みを受けるAPIのルートと、データを表示するページだけをサーバー側で動かす構成にできます。

一方、できないこともあります。同じ文書には「Void-managed auth is not supported in framework mode yet. Use Better Auth’s official Astro integration directly for now.」とあり、Astroと組み合わせる場合はVoidのログイン機能を使えません。会員ページを作るなら、認証は別に用意します。

既存のAstroサイトにVoidを足したときの分担を示す図。会社案内などの静的なページは事前描画のまま、申し込みを受けるAPIルートとデータを表示するページはprerender=falseでWorker上で動く。VoidはD1などのリソースの用意、マイグレーション、デプロイを受け持ち、Astroのフレームワークモードではログイン機能は使えない

手元で試して分かったこと

Voidの1.1系のpackage.jsonには "engines": { "node": ">=24.21.0" } があり、READMEも「Use Node.js 24.21.0 or later.」としています。記事のドラフトを作った作業環境(Node.js 22.22.0・npm 10.9.4)は、この条件を満たしていません。この環境で、2026年10月18日に次の2つを実行しました。

  • npx -y void --version を実行すると、1.1.11ではなく 0.10.13(2026年8月29日公開)が取得され、0.10.13 と表示されました
  • npx -y void@1.1.11 --version と、空のプロジェクトでの npm install -D void@1.1.11 は、どちらもnpmのエラー(Cannot read properties of null (reading 'edgesOut'))で止まりました

npmの公開記録を見ると、engines の指定がない最後の版が0.10.13で、0.20.0(9月17日公開)以降はすべて >=24.21.0 を指定しています。npmがNode.jsの条件を満たす版を選んだため、0.10.13が取得されたと考えられます(推測です)。2つ目のエラーの原因が、Node.jsの版によるものか、npmの版や依存関係の解決によるものかは切り分けられていません。分かったのは、条件を満たさない環境では、最新版が動かないだけでなく、意図しない古い版が黙って動くことがあるという点です。導入を試すときは、先にNode.jsを24.21.0以上にそろえ、npx void --version の表示が想定した版かを確かめてから進めてください。Node.js 24での動作と、void init・void deploy は確認できていません。

デプロイで残るもの・残らないもの

受託でサイトを納品する立場からは、デプロイが失敗したときと、引き継ぐときに何が残るかが気になります。同梱の文書から読み取れる点をまとめます。

場面文書の記述判断のしかた(編集部)
初回のデプロイが失敗した「A failed build or validation can leave provisioned resources in your account.」失敗後はCloudflareの管理画面で作られたD1やKVを確認する
複数の人・CIから載せる初回は1台から行い、void.lock.json をコミットしてから他の環境やCIで載せるリポジトリにロックファイルがあるかを引き継ぎの確認項目にする
ロールバックvoid project rollback はあるが「Rollback does not reverse database migrations.」データベースの変更を伴う更新は、戻す手順を別に用意する
データベースの復元(1.1.12の文書・公式サイト)自分のアカウントへのデプロイでは、マイグレーションの前にD1のTime Travelの復元点を保存し、void db restore のコマンドを表示する。復元すると復元点より後の書き込みは消え、復元点はWorkers Freeで7日、Workers Paidで30日で期限切れになる復元はデータの巻き戻しになるため、申し込みなどを受け付けている最中の復元は避け、期限内に判断する

CIから載せる場合は、CLOUDFLARE_API_TOKEN に「Workers Scripts: Edit」と、使うリソースの読み取り・作るリソースの編集の権限が必要です。顧客のCloudflareアカウントに載せるなら、トークンを誰のアカウントで発行し、納品後に誰が持つかを契約の段階で決めておきます。ローカルの .env はアップロードされず、本番の秘密情報は void secret put で設定します(同梱の guide/deployment.md)。

料金について、Void自体はMITライセンスのオープンソースで、READMEや発表記事に利用料の記載は見当たりません。ただし、作られるD1やKVなどはデプロイ先のCloudflareアカウントのリソースとして動きます。Cloudflare側の料金は確認していないので、無料枠に収まるかは各サービスの料金ページで確かめてください。

使う前に確かめること(編集部の提案)

  • Astroの版: Astro 5以前のサイトには、そのままでは使えません。版の上げ方はAstro 7.4へ上げる前の確認を参考にしてください
  • Node.jsの版: 開発者の端末、CI、ビルドの環境のすべてで24.21.0以上にそろえます
  • 認証が要るか: 会員ページが要件にあるなら、Astroとの組み合わせではVoidのログイン機能を使えない前提で設計します
  • どこまでをVoidに任せるか: Workersの上でAPIを書くだけなら、Honoなどで直接書く選択肢もあります。HonoとCloudflare Workersの記事と比べ、リソースの自動作成とマイグレーションの管理が要るかで選びます

ViteやAstroの開発元がCloudflareに加わった経緯と、受託で作ったサイトへの影響は、AstroもViteもCloudflare傘下にの記事で整理しています。Voidはその延長にある道具ですが、1.1系は公開されたばかりで、10月19日には1.1.12が出て文書にも追記がありました。まずは本番とは別のCloudflareアカウントで、申し込みフォーム1つ分の小さな構成から試してください。

2026年10月19日に、Cloudflareの発表記事「Deploy with Void」(2026年10月15日)、公式サイト void.cloud のトップ・Astro・Deployment・Cloudflareのページ、npmの void 1.1.12(10月19日公開)の同梱文書と engines、GitHubのリポジトリ情報とリリースを確認しました。2026年10月18日に、npmの void 1.1.11の同梱文書(README.md、docs/integrations/frameworks/astro.md・overview.md、docs/integrations/cloudflare.md、docs/guide/deployment.md・app-types.md・quickstart.md)、package.jsonの engines、npmの公開日時、GitHubの voidzero-dev/void のREADME.mdとLICENSEを直接取得して確認しました(資料調査)。記事のドラフトを作った作業環境(Node.js 22.22.0・npm 10.9.4)で npx -y void --version・npx -y void@1.1.11 --version・npm install -D void@1.1.11 を実行しました(実機での確認)。Node.js 24での動作、void init・void deploy、Cloudflareアカウントへのデプロイ、料金は確認していません。

既存のサイトへのフォームや会員機能の追加、Cloudflareでの構成の見直しは、グリームハブのHP制作・リニューアル相談で承っています。サイトの作りや必要な機能によって構成が変わるため、お問い合わせからご相談ください。

参考資料

この記事を共有XFacebook
鈴木 翔

技術の可能性に魅了され、学生時代からプログラミングとデジタルアートの分野に深い関心を持つ

この記事のテーマを、自社の次の一歩へ

Webサイトで、実現したいことから。

使う人の目的、必要な機能、更新の体制を整理し、制作・改善で最初に取り組むことを考えます。

  • サイトの目的
  • 機能と使いやすさ
  • 公開後の運用
Web制作・改善を相談する

構想段階からご相談いただけます。この記事の情報を相談フォームに引き継ぎます。

最新記事をメールで受け取る・Web制作ガイドを読む
無料ダウンロード

Web制作 費用・発注・集客 完全ガイド【2026年版】

費用相場・制作会社の選び方・集客戦略をPDFにまとめました。

The PDF and newsletter emails are currently in Japanese.

メルマガにも登録されます。いつでも解除可能です。