From 2a9c91e1e6145c484d89e78fd936a25e3f9d4939 Mon Sep 17 00:00:00 2001 From: Ken Date: Wed, 27 May 2026 07:19:52 +0000 Subject: [PATCH] feat: add Cloudpack series to homepage --- src/pages/index.astro | 65 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/src/pages/index.astro b/src/pages/index.astro index 80047c9..c432750 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -46,6 +46,47 @@ const rageSeries = [ description: rageDescriptions[i], }; }); + +// Match cloudpack series titles to actual published posts by slug +const cloudpackPosts: Record = { + '604ms Rebuilds at 50,000 Modules': '604ms-rebuilds-at-50000-modules', + '50KB Down to 2KB: Why We Stopped Parsing Source Files': '50kb-down-to-2kb-why-we-stopped-parsing', + 'We Shipped 40% Less JavaScript and Nobody Noticed': 'we-shipped-40-percent-less-javascript', + '50% Less Bandwidth Per Deploy': '50-percent-less-bandwidth-per-deploy', + 'Your Users Are Already Telling You How to Bundle': 'your-users-are-already-telling-you-how-to-bundle', + "A Compromised Server Can't Inject Code": 'a-compromised-server-cant-inject-code', +}; + +const cloudpackDescriptions = [ + 'The outcome: 604ms warm rebuilds. The insight: the bundle is a query, not a file.', + '25x compression. Module summaries replace full parsing. 50k modules fit in L3 cache.', + 'Two-layer tree-shaking. Module-level conservative. Function-level aggressive via call-edge graph.', + 'Delta manifests. Browser says what it has, server returns what\'s missing. 47 GB/week saved.', + 'Real browser sessions drive chunk grouping. No rebuild required. C³ clustering from live traffic.', + 'Ed25519 signing. The threat model: ABS compromise ≠ code injection. Two breaches required.', +]; + +const cloudpackTitles = [ + '604ms Rebuilds at 50,000 Modules', + '50KB Down to 2KB: Why We Stopped Parsing Source Files', + 'We Shipped 40% Less JavaScript and Nobody Noticed', + '50% Less Bandwidth Per Deploy', + 'Your Users Are Already Telling You How to Bundle', + "A Compromised Server Can't Inject Code", +]; + +const cloudpackSeries = cloudpackTitles.map((title, i) => { + const slug = cloudpackPosts[title]; + const post = slug ? posts.find(p => p.id === slug) : null; + return { + title, + slug: slug || null, + published: !!post, + readingTime: post?.body ? getReadingTime(post.body) : null, + number: i + 1, + description: cloudpackDescriptions[i], + }; +}); --- @@ -130,6 +171,30 @@ const rageSeries = [ + +
+

Cloudpack: The Module Graph Is the Software

+

A six-part investigation into cloudpack, a Rust-based bundler where the bundle is a query against a continuously-maintained module graph. 604ms rebuilds at 50k modules. 50% less CDN bandwidth per deploy. Dead code that actually stays dead.

+
+ {cloudpackSeries.map((item) => ( +
+ {String(item.number).padStart(2, '0')} +
+ {item.title} + {item.description} + {item.published ? ( + + Read · {item.readingTime} min + + ) : ( + Coming soon + )} +
+
+ ))} +
+
+

All Posts