vp build / void deploy exit 0 when a page fails to prerender, and the page is silently missing
Maintainer thường phản hồi trong vòng 1 ngày
Một pull request liên quan đã được merge.
- #586 của @0froq — đã merge
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 76/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript, vite
- Lĩnh vực
- build-system, cli
Hướng nghiên cứu
Bắt đầu với packages/void/src/plugin-prerender.ts và cli/deploy-managed-full.ts, nơi issue cho biết các lần prerender thất bại chỉ được cảnh báo. Theo dõi cách mỗi luồng build và deploy xử lý result.failed, sau đó kiểm tra hành vi build và deploy với bản repro app tĩnh được cung cấp. Công việc hoàn tất khi một trong hai luồng báo lỗi với mã thoát khác không nếu một trang prerender thất bại, hoặc triển khai hành vi strict opt-in được yêu cầu.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- TypeScript
- Star
- 580
- Fork
- 56
- Merge trung bình
- 11 giờ 23 phút
- Pull request đã merge (30 ngày)
- 153
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của voidzero-dev/void
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
voidzero-dev/void#627 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
voidzero-dev/void#619 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
voidzero-dev/void#606 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
@void/react: client environment has no optimizeDeps.entries for pages, causing a dev re-optimization reload on first loadCó thể đã có người làm @0froq đã nhận 1 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 66/100
voidzero-dev/void#599 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`void/log`: add `logger.child(fields)` to bind fields to every lineCó thể đã có người làm @Dazzanova đã nhận 2 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 82/100
voidzero-dev/void#596 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của voidzero-dev/void
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
gnosis/gnosis_vpn#661 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
content-freshness: staleOwnedContent doc comments still say 'complete receipt' (follow-up to #7912)Đang mởtriage:bug-verified
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
Maintainer thường phản hồi trong vòng 1 ngày
-
fix: reject sourceStorage/packagedStorage bucket that differs from the stack default (fail loud)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Eyevinn/open-videocore#1300 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
nextjs-tracking
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
cloudflare/vinext#4390 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
kind/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
kubernetes-sigs/headlamp#8175 ·
Maintainer thường phản hồi trong vòng 2 ngày