vp build / void deploy exit 0 when a page fails to prerender, and the page is silently missing
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 76/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- typescript, vite
- 領域
- build-system, cli
調査の方向性
packages/void/src/plugin-prerender.ts と cli/deploy-managed-full.ts から始めます。issue によると、ここでは prerender の失敗は警告されるだけです。各 build および deploy の経路で result.failed がどのように処理されるかを追い、次に提供された静的アプリの repro で build と deploy の動作を確認します。ページの prerender に失敗したときに、どちらかの経路がゼロ以外の終了コードで失敗を報告するか、要求された opt-in の strict 動作を実装すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Version: void 1.2.1 (also 1.1.12); main at a6de7829.
Repro
- A static Void app (
output: 'static'). pages/throws.island.tsx:export default function Throws(): never { throw new Error('boom'); }vp build; echo $?, thenls dist/client/throws.html.
Actual:
[void] prerender /throws failed: HTTP 500
[void] 1 page(s) failed to prerender
0
ls: cannot access 'dist/client/throws.html': No such file or directory
void deploy does the same (deploy-managed-full.ts), so the deploy ships without the page.
Expected: a non-zero exit when any page fails to prerender, or at least an opt-in such as routing.prerenderFailures: 'error' or --strict. A CI build should not report success while a route is gone from production.
Cause: packages/void/src/plugin-prerender.ts:67-69 and cli/deploy-managed-full.ts call voidWarn(...) on result.failed.length > 0 and nothing else. Throwing there (or this.error(...) in closeBundle) would fail the build.
- 主要言語
- TypeScript
- スター
- 580
- フォーク
- 56
- 平均マージ
- 8時間 36分
- マージ済み PR(30日)
- 110
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
voidzero-dev/void のほかの issue
-
Static Cloudflare deploy ignores `cloudflare.assets.html_handling`対応中かも @0froq が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
voidzero-dev/void#580 ·
メンテナーはふだん 1 日以内に返信
-
`void/log` serializes `Error` fields as `{}`, losing message and stack対応中かも @RaphaelFakhri が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
voidzero-dev/void#577 ·
メンテナーはふだん 1 日以内に返信
-
Dev: `better-auth/client/plugins` fails to resolve when auth is enabled (the `better-auth/client` alias matches it as a prefix)対応中かも @MaxtuneLee が 2 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
voidzero-dev/void#565 ·
メンテナーはふだん 1 日以内に返信
-
prepareDeployArtifact omits worker.vars that the CLI managed deploy includes対応中かも @dvkam が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
voidzero-dev/void#529 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 1/5 1〜3時間 初心者へのやさしさ 78/100
voidzero-dev/void#428 ·
メンテナーはふだん 1 日以内に返信
voidzero-dev/void の issue をすべて見る
似ている issue
-
type: bug
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
メンテナーはふだん 1 日以内に返信
-
0️⃣ phase/new
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 70/100
microsoft/playwright#43640 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100