Skip to content

Commit 5d408ca

Browse files
committed
security: migrate packages/web to astro 6 (CVE-2026-50146, CVE-2026-54299)
These two astro advisories have no astro 5 backport, so upgrade the docs site to astro 6.4.8. Ecosystem bumps required for compatibility: - astro 5.15.9 -> 6.4.8 - @astrojs/cloudflare 12.6.13 -> 13.7.0 - @astrojs/starlight 0.34.3 -> 0.40.0 - @astrojs/solid-js 5.1.0 -> 6.0.1 - @astrojs/markdown-remark 6.3.1 -> 7.2.0 - @astrojs/check 0.9.6 -> 0.9.9 toolbeam-docs-theme has no astro 6 release; its plugin uses only stable Starlight APIs, so its peer range is widened via a patch (verified by a full build). astro and @astrojs/starlight are pinned via overrides so the theme's peer resolution dedupes onto the site's astro 6 / starlight 0.40 instead of pulling a nested astro 5.15.9 (which would leave the CVEs unfixed); both are used only by packages/web. @astrojs/cloudflare v13 prerenders in the workerd runtime by default, which lacks the Node built-ins (path/fs/url) that Astro/Zod internals import; set prerenderEnvironment: "node" to keep the v12 behavior. Full `astro build` passes: all locales prerendered, Pagefind search index and sitemap generated.
1 parent 7853037 commit 5d408ca

6 files changed

Lines changed: 173 additions & 300 deletions

File tree

bun.lock

Lines changed: 141 additions & 292 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,9 @@
144144
"@opentelemetry/core": "2.9.0",
145145
"@opentelemetry/sdk-trace-base": "2.9.0",
146146
"@opentelemetry/resources": "2.9.0",
147-
"@opentelemetry/sdk-trace-node": "2.9.0"
147+
"@opentelemetry/sdk-trace-node": "2.9.0",
148+
"astro": "6.4.8",
149+
"@astrojs/starlight": "0.40.0"
148150
},
149151
"patchedDependencies": {
150152
"@ff-labs/fff-bun@0.9.3": "patches/@ff-labs%2Ffff-bun@0.9.3.patch",
@@ -159,6 +161,7 @@
159161
"@tanstack/solid-virtual@3.13.28": "patches/@tanstack%2Fsolid-virtual@3.13.28.patch",
160162
"@pierre/trees@1.0.0-beta.4": "patches/@pierre%2Ftrees@1.0.0-beta.4.patch",
161163
"@modelcontextprotocol/sdk@1.29.0": "patches/@modelcontextprotocol%2Fsdk@1.29.0.patch",
162-
"@tanstack/virtual-core@3.17.0": "patches/@tanstack%2Fvirtual-core@3.17.0.patch"
164+
"@tanstack/virtual-core@3.17.0": "patches/@tanstack%2Fvirtual-core@3.17.0.patch",
165+
"toolbeam-docs-theme@0.4.8": "patches/toolbeam-docs-theme@0.4.8.patch"
163166
}
164167
}

packages/web/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
dist/
33
# generated types
44
.astro/
5+
# cloudflare adapter / miniflare state
6+
.wrangler/
57

68
# dependencies
79
node_modules/

packages/web/astro.config.mjs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ export default defineConfig({
1616
output: "server",
1717
adapter: cloudflare({
1818
imageService: "passthrough",
19+
// @astrojs/cloudflare v13 defaults to prerendering in the workerd runtime,
20+
// which lacks Node built-ins (path/fs/url) that Astro/Zod internals import.
21+
// Prerender in Node instead, matching the previous (v12) behavior.
22+
prerenderEnvironment: "node",
1923
}),
2024
devToolbar: {
2125
enabled: false,

packages/web/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,16 @@
1212
"astro": "astro"
1313
},
1414
"dependencies": {
15-
"@astrojs/cloudflare": "12.6.13",
16-
"@astrojs/markdown-remark": "6.3.1",
17-
"@astrojs/solid-js": "5.1.0",
18-
"@astrojs/starlight": "0.34.3",
15+
"@astrojs/cloudflare": "13.7.0",
16+
"@astrojs/markdown-remark": "7.2.0",
17+
"@astrojs/solid-js": "6.0.1",
18+
"@astrojs/starlight": "0.40.0",
1919
"@fontsource/ibm-plex-mono": "5.2.5",
2020
"@shikijs/transformers": "3.20.0",
2121
"@solid-primitives/resize-observer": "2.1.5",
2222
"@types/luxon": "catalog:",
2323
"ai": "catalog:",
24-
"astro": "5.15.9",
24+
"astro": "6.4.8",
2525
"diff": "catalog:",
2626
"js-base64": "3.7.7",
2727
"lang-map": "0.4.0",
@@ -38,7 +38,7 @@
3838
"devDependencies": {
3939
"@browser-use/browsercode-core": "workspace:*",
4040
"@types/node": "catalog:",
41-
"@astrojs/check": "0.9.6",
41+
"@astrojs/check": "0.9.9",
4242
"typescript": "catalog:"
4343
}
4444
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
diff --git a/package.json b/package.json
2+
index 04cb0f7f1265123ea3319a78527c42155fca7fbf..3d3385ff2131cf9975d8d2619715d08cc771a9ce 100644
3+
--- a/package.json
4+
+++ b/package.json
5+
@@ -24,7 +24,7 @@
6+
"typescript": "^5.5.4"
7+
},
8+
"peerDependencies": {
9+
- "@astrojs/starlight": "^0.34.3",
10+
- "astro": "^5.7.13"
11+
+ "@astrojs/starlight": "^0.34.3 || ^0.40.0",
12+
+ "astro": "^5.7.13 || ^6.4.5"
13+
}
14+
}
15+
\ No newline at end of file

0 commit comments

Comments
 (0)