[READ-ONLY] Mirror of https://github.com/bombshell-dev/docs. bomb.sh/docs
0

Configure Feed

Select the types of activity you want to include in your feed.

fix(404): test 404 page fix? (#53)

* ref(404): test 404 page

* ref(astro): add cloudflare adapter

* fix: router logic 404 special case

* chore(format): use tabs

* chore(deps): downgrade cloudflare

* chore(ci): force build

* fix(router): point to sibling deploy

---------

Co-authored-by: Felix Schneider <99918022+trueberryless@users.noreply.github.com>

authored by

Nate Moore
Felix Schneider
and committed by
GitHub
(Jun 6, 2026, 5:54 PM -0500) 9edc73a4 ad847dcb

+643 -18
+5 -2
astro.config.mjs
··· 1 - import starlight from "@astrojs/starlight"; 2 1 // @ts-check 3 2 import { defineConfig } from "astro/config"; 4 - 3 + import starlight from "@astrojs/starlight"; 4 + import cloudflare from "@astrojs/cloudflare"; 5 5 import ecTwoSlash from "expressive-code-twoslash"; 6 6 import topics from "starlight-sidebar-topics"; 7 7 ··· 9 9 10 10 // https://astro.build/config 11 11 export default defineConfig({ 12 + adapter: cloudflare({ 13 + imageService: 'compile' 14 + }), 12 15 site: "https://bomb.sh/", 13 16 base: "/docs", 14 17 outDir: "./dist/docs/",
+3 -2
package.json
··· 5 5 "scripts": { 6 6 "dev": "astro dev", 7 7 "start": "astro dev", 8 - "prebuild": "npm run snapshot", 8 + "prebuild": "pnpm run snapshot", 9 9 "build": "astro build && cp public/_headers dist/_headers", 10 10 "preview": "astro preview", 11 11 "astro": "astro", 12 12 "snapshot": "node --experimental-strip-types ./scripts/snapshot.ts" 13 13 }, 14 14 "dependencies": { 15 + "@astrojs/cloudflare": "^12.6.13", 15 16 "@astrojs/starlight": "^0.37.1", 16 17 "@bomb.sh/args": "^0.3.1", 17 18 "@clack/core": "^1.4.0", ··· 30 31 }, 31 32 "devDependencies": { 32 33 "tinyexec": "^1.0.2", 33 - "wrangler": "^4.14.4" 34 + "wrangler": "^4.97.0" 34 35 }, 35 36 "packageManager": "pnpm@11.1.2" 36 37 }
+592 -8
pnpm-lock.yaml
··· 8 8 9 9 .: 10 10 dependencies: 11 + '@astrojs/cloudflare': 12 + specifier: ^12.6.13 13 + version: 12.6.13(@types/node@22.19.3)(astro@5.16.6(@types/node@22.19.3)(rollup@4.55.1)(typescript@5.8.2)) 11 14 '@astrojs/starlight': 12 15 specifier: ^0.37.1 13 16 version: 0.37.1(astro@5.16.6(@types/node@22.19.3)(rollup@4.55.1)(typescript@5.8.2)) ··· 58 61 specifier: ^1.0.2 59 62 version: 1.0.2 60 63 wrangler: 61 - specifier: ^4.14.4 62 - version: 4.80.0(@cloudflare/workers-types@4.20260405.1) 64 + specifier: ^4.97.0 65 + version: 4.97.0(@cloudflare/workers-types@4.20260405.1) 63 66 64 67 router: 65 68 devDependencies: ··· 78 81 '@ark/util@0.56.0': 79 82 resolution: {integrity: sha512-BghfRC8b9pNs3vBoDJhcta0/c1J1rsoS1+HgVUreMFPdhz/CRAKReAu57YEllNaSy98rWAdY1gE+gFup7OXpgA==} 80 83 84 + '@astrojs/cloudflare@12.6.13': 85 + resolution: {integrity: sha512-oKaCyiovyQr183r9U93787Ju1zwk+rRMgPnLTwCLckHmOUK7sltA1Gp4LSGt8oNMgqQS6jR7uRdfQ/NPul37QA==} 86 + peerDependencies: 87 + astro: ^5.7.0 88 + 81 89 '@astrojs/compiler@2.13.0': 82 90 resolution: {integrity: sha512-mqVORhUJViA28fwHYaWmsXSzLO9osbdZ5ImUfxBarqsYdMlPbqAqGJCxsNzvppp1BEzc1mJNjOVvQqeDN8Vspw==} 83 91 84 92 '@astrojs/internal-helpers@0.7.5': 85 93 resolution: {integrity: sha512-vreGnYSSKhAjFJCWAwe/CNhONvoc5lokxtRoZims+0wa3KbHBdPHSSthJsKxPd8d/aic6lWKpRTYGY/hsgK6EA==} 94 + 95 + '@astrojs/internal-helpers@0.7.6': 96 + resolution: {integrity: sha512-GOle7smBWKfMSP8osUIGOlB5kaHdQLV3foCsf+5Q9Wsuu+C6Fs3Ez/ttXmhjZ1HkSgsogcM1RXSjjOVieHq16Q==} 86 97 87 98 '@astrojs/markdown-remark@6.3.10': 88 99 resolution: {integrity: sha512-kk4HeYR6AcnzC4QV8iSlOfh+N8TZ3MEStxPyenyCtemqn8IpEATBFMTJcfrNW32dgpt6MY3oCkMM/Tv3/I4G3A==} ··· 108 119 '@astrojs/telemetry@3.3.0': 109 120 resolution: {integrity: sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==} 110 121 engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} 122 + 123 + '@astrojs/underscore-redirects@1.0.0': 124 + resolution: {integrity: sha512-qZxHwVnmb5FXuvRsaIGaqWgnftjCuMY+GSbaVZdBmE4j8AfgPqKPxYp8SUERyJcjpKCEmO4wD6ybuGH8A2kVRQ==} 111 125 112 126 '@babel/helper-string-parser@7.27.1': 113 127 resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} ··· 149 163 resolution: {integrity: sha512-SIOD2DxrRRwQ+jgzlXCqoEFiKOFqaPjhnNTGKXSRLvp1HiOvapLaFG2kEr9dYQTYe8rKrd9uvDUzmAITeNyaHQ==} 150 164 engines: {node: '>=18.0.0'} 151 165 166 + '@cloudflare/kv-asset-handler@0.5.0': 167 + resolution: {integrity: sha512-jxQYkj8dSIzc0cD6cMMNdOc1UVjqSqu8BZdor5s8cGjW2I8BjODt/kWPVdY+u9zj3ms75Q5qaZgnxUad83+eAg==} 168 + engines: {node: '>=22.0.0'} 169 + 170 + '@cloudflare/unenv-preset@2.10.0': 171 + resolution: {integrity: sha512-/uII4vLQXhzCAZzEVeYAjFLBNg2nqTJ1JGzd2lRF6ItYe6U2zVoYGfeKpGx/EkBF6euiU+cyBXgMdtJih+nQ6g==} 172 + peerDependencies: 173 + unenv: 2.0.0-rc.24 174 + workerd: ^1.20251221.0 175 + peerDependenciesMeta: 176 + workerd: 177 + optional: true 178 + 152 179 '@cloudflare/unenv-preset@2.16.0': 153 180 resolution: {integrity: sha512-8ovsRpwzPoEqPUzoErAYVv8l3FMZNeBVQfJTvtzP4AgLSRGZISRfuChFxHWUQd3n6cnrwkuTGxT+2cGo8EsyYg==} 154 181 peerDependencies: ··· 158 185 workerd: 159 186 optional: true 160 187 188 + '@cloudflare/unenv-preset@2.16.1': 189 + resolution: {integrity: sha512-ECxObrMfyTl5bhQf/lZCXwo5G6xX9IAUo+nDMKK4SZ8m4Jvvxp52vilxyySSWh2YTZz8+HQ07qGH/2rEom1vDw==} 190 + peerDependencies: 191 + unenv: 2.0.0-rc.24 192 + workerd: '>1.20260305.0 <2.0.0-0' 193 + peerDependenciesMeta: 194 + workerd: 195 + optional: true 196 + 197 + '@cloudflare/workerd-darwin-64@1.20260114.0': 198 + resolution: {integrity: sha512-HNlsRkfNgardCig2P/5bp/dqDECsZ4+NU5XewqArWxMseqt3C5daSuptI620s4pn7Wr0ZKg7jVLH0PDEBkA+aA==} 199 + engines: {node: '>=16'} 200 + cpu: [x64] 201 + os: [darwin] 202 + 161 203 '@cloudflare/workerd-darwin-64@1.20260401.1': 162 204 resolution: {integrity: sha512-ZSmceM70jH6k+/62VkEcmMNzrpr4kSctkX5Lsgqv38KktfhPY/hsh75y1lRoPWS3H3kgMa4p2pUSlidZR1u2hw==} 163 205 engines: {node: '>=16'} 164 206 cpu: [x64] 165 207 os: [darwin] 166 208 209 + '@cloudflare/workerd-darwin-64@1.20260601.1': 210 + resolution: {integrity: sha512-iXZBVuRbvuVqQ/63wul01hHCv/3R8G5S8zbkjfoHvyPZFynmlKTV59Hk+H8whyGwFAZuB71UJGLr+G5mJKfjWA==} 211 + engines: {node: '>=16'} 212 + cpu: [x64] 213 + os: [darwin] 214 + 215 + '@cloudflare/workerd-darwin-arm64@1.20260114.0': 216 + resolution: {integrity: sha512-qyE1UdFnAlxzb+uCfN/d9c8icch7XRiH49/DjoqEa+bCDihTuRS7GL1RmhVIqHJhb3pX3DzxmKgQZBDBL83Inw==} 217 + engines: {node: '>=16'} 218 + cpu: [arm64] 219 + os: [darwin] 220 + 167 221 '@cloudflare/workerd-darwin-arm64@1.20260401.1': 168 222 resolution: {integrity: sha512-7UKWF+IUZ3NXMVPsDg8Cjg0r58b+uYlfvs5Yt8bvtU+geCtW4P2MxRHmRSEo8SryckXOJjb/b8tcncgCykFu8g==} 169 223 engines: {node: '>=16'} 170 224 cpu: [arm64] 171 225 os: [darwin] 172 226 227 + '@cloudflare/workerd-darwin-arm64@1.20260601.1': 228 + resolution: {integrity: sha512-veGpZQGBw07Twt+Y4z3oyo+/obKHt0iWUwvDV5GOiDAYjC/zW+YGstgVzg4SHq+k1sLH3ElqL2TXx20I5WBv3Q==} 229 + engines: {node: '>=16'} 230 + cpu: [arm64] 231 + os: [darwin] 232 + 233 + '@cloudflare/workerd-linux-64@1.20260114.0': 234 + resolution: {integrity: sha512-Z0BLvAj/JPOabzads2ddDEfgExWTlD22pnwsuNbPwZAGTSZeQa3Y47eGUWyHk+rSGngknk++S7zHTGbKuG7RRg==} 235 + engines: {node: '>=16'} 236 + cpu: [x64] 237 + os: [linux] 238 + 173 239 '@cloudflare/workerd-linux-64@1.20260401.1': 174 240 resolution: {integrity: sha512-MDWUH/0bvL/l9aauN8zEddyYOXId1OueqrUCXXENNJ95R/lSmF6OgGVuXaYhoIhxQkNiEJ/0NOlnVYj9mJq4dw==} 175 241 engines: {node: '>=16'} 176 242 cpu: [x64] 177 243 os: [linux] 178 244 245 + '@cloudflare/workerd-linux-64@1.20260601.1': 246 + resolution: {integrity: sha512-n/9hDz7fPGpYF0J684+Xr5zgjcS2jdmY2Of5m6e+eQ/M9+RfR+UaU8Ee/tkA1dDC0LYQB13hfPafZG66Ff1CsA==} 247 + engines: {node: '>=16'} 248 + cpu: [x64] 249 + os: [linux] 250 + 251 + '@cloudflare/workerd-linux-arm64@1.20260114.0': 252 + resolution: {integrity: sha512-kPUmEtUxUWlr9PQ64kuhdK0qyo8idPe5IIXUgi7xCD7mDd6EOe5J7ugDpbfvfbYKEjx4DpLvN2t45izyI/Sodw==} 253 + engines: {node: '>=16'} 254 + cpu: [arm64] 255 + os: [linux] 256 + 179 257 '@cloudflare/workerd-linux-arm64@1.20260401.1': 180 258 resolution: {integrity: sha512-UgkzpMzVWM/bwbo3vjCTg2aoKfGcUhiEoQoDdo6RGWvbHRJyLVZ4VQCG9ZcISiztkiS2ICCoYOtPy6M/lV6Gcw==} 181 259 engines: {node: '>=16'} 182 260 cpu: [arm64] 183 261 os: [linux] 262 + 263 + '@cloudflare/workerd-linux-arm64@1.20260601.1': 264 + resolution: {integrity: sha512-VHRZZbexATS+n+1j3x/CZaYbIJEye0J3iIHgG0Wp+l+NrZCKQ8qi8Lq1uTV0dLJQ67FuZtJtWdQ95mm9F7Fc+A==} 265 + engines: {node: '>=16'} 266 + cpu: [arm64] 267 + os: [linux] 268 + 269 + '@cloudflare/workerd-windows-64@1.20260114.0': 270 + resolution: {integrity: sha512-MJnKgm6i1jZGyt2ZHQYCnRlpFTEZcK2rv9y7asS3KdVEXaDgGF8kOns5u6YL6/+eMogfZuHRjfDS+UqRTUYIFA==} 271 + engines: {node: '>=16'} 272 + cpu: [x64] 273 + os: [win32] 184 274 185 275 '@cloudflare/workerd-windows-64@1.20260401.1': 186 276 resolution: {integrity: sha512-HBLzcQF5iF4Qv20tQ++pG7xs3OsCnaIbc+GAi6fmhUKZhvmzvml/jwrQzLJ+MPm0cQo41K5OO/U3T4S8tvJetQ==} ··· 188 278 cpu: [x64] 189 279 os: [win32] 190 280 281 + '@cloudflare/workerd-windows-64@1.20260601.1': 282 + resolution: {integrity: sha512-ye0C7MFLkeH16iTo8Tcjv2KiFmp23+sZGvUzSQa4xhP0QMe6EoJ+H/4SqqvnZ5nfN54slqKvx2VnXceENWe2CQ==} 283 + engines: {node: '>=16'} 284 + cpu: [x64] 285 + os: [win32] 286 + 191 287 '@cloudflare/workers-types@4.20260405.1': 192 288 resolution: {integrity: sha512-PokTmySa+D6MY01R1UfYH48korsN462NK/fl3aw47Hg7XuLuSo/RTpjT0vtWaJhJoFY5tHGOBBIbDcIc8wltLg==} 193 289 ··· 208 304 cpu: [ppc64] 209 305 os: [aix] 210 306 307 + '@esbuild/aix-ppc64@0.27.0': 308 + resolution: {integrity: sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A==} 309 + engines: {node: '>=18'} 310 + cpu: [ppc64] 311 + os: [aix] 312 + 211 313 '@esbuild/aix-ppc64@0.27.3': 212 314 resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} 213 315 engines: {node: '>=18'} ··· 220 322 cpu: [arm64] 221 323 os: [android] 222 324 325 + '@esbuild/android-arm64@0.27.0': 326 + resolution: {integrity: sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ==} 327 + engines: {node: '>=18'} 328 + cpu: [arm64] 329 + os: [android] 330 + 223 331 '@esbuild/android-arm64@0.27.3': 224 332 resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} 225 333 engines: {node: '>=18'} ··· 232 340 cpu: [arm] 233 341 os: [android] 234 342 343 + '@esbuild/android-arm@0.27.0': 344 + resolution: {integrity: sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ==} 345 + engines: {node: '>=18'} 346 + cpu: [arm] 347 + os: [android] 348 + 235 349 '@esbuild/android-arm@0.27.3': 236 350 resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} 237 351 engines: {node: '>=18'} ··· 244 358 cpu: [x64] 245 359 os: [android] 246 360 361 + '@esbuild/android-x64@0.27.0': 362 + resolution: {integrity: sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q==} 363 + engines: {node: '>=18'} 364 + cpu: [x64] 365 + os: [android] 366 + 247 367 '@esbuild/android-x64@0.27.3': 248 368 resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} 249 369 engines: {node: '>=18'} ··· 256 376 cpu: [arm64] 257 377 os: [darwin] 258 378 379 + '@esbuild/darwin-arm64@0.27.0': 380 + resolution: {integrity: sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg==} 381 + engines: {node: '>=18'} 382 + cpu: [arm64] 383 + os: [darwin] 384 + 259 385 '@esbuild/darwin-arm64@0.27.3': 260 386 resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} 261 387 engines: {node: '>=18'} ··· 268 394 cpu: [x64] 269 395 os: [darwin] 270 396 397 + '@esbuild/darwin-x64@0.27.0': 398 + resolution: {integrity: sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g==} 399 + engines: {node: '>=18'} 400 + cpu: [x64] 401 + os: [darwin] 402 + 271 403 '@esbuild/darwin-x64@0.27.3': 272 404 resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} 273 405 engines: {node: '>=18'} ··· 280 412 cpu: [arm64] 281 413 os: [freebsd] 282 414 415 + '@esbuild/freebsd-arm64@0.27.0': 416 + resolution: {integrity: sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw==} 417 + engines: {node: '>=18'} 418 + cpu: [arm64] 419 + os: [freebsd] 420 + 283 421 '@esbuild/freebsd-arm64@0.27.3': 284 422 resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} 285 423 engines: {node: '>=18'} ··· 292 430 cpu: [x64] 293 431 os: [freebsd] 294 432 433 + '@esbuild/freebsd-x64@0.27.0': 434 + resolution: {integrity: sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g==} 435 + engines: {node: '>=18'} 436 + cpu: [x64] 437 + os: [freebsd] 438 + 295 439 '@esbuild/freebsd-x64@0.27.3': 296 440 resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} 297 441 engines: {node: '>=18'} ··· 304 448 cpu: [arm64] 305 449 os: [linux] 306 450 451 + '@esbuild/linux-arm64@0.27.0': 452 + resolution: {integrity: sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ==} 453 + engines: {node: '>=18'} 454 + cpu: [arm64] 455 + os: [linux] 456 + 307 457 '@esbuild/linux-arm64@0.27.3': 308 458 resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} 309 459 engines: {node: '>=18'} ··· 312 462 313 463 '@esbuild/linux-arm@0.25.12': 314 464 resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} 465 + engines: {node: '>=18'} 466 + cpu: [arm] 467 + os: [linux] 468 + 469 + '@esbuild/linux-arm@0.27.0': 470 + resolution: {integrity: sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ==} 315 471 engines: {node: '>=18'} 316 472 cpu: [arm] 317 473 os: [linux] ··· 328 484 cpu: [ia32] 329 485 os: [linux] 330 486 487 + '@esbuild/linux-ia32@0.27.0': 488 + resolution: {integrity: sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw==} 489 + engines: {node: '>=18'} 490 + cpu: [ia32] 491 + os: [linux] 492 + 331 493 '@esbuild/linux-ia32@0.27.3': 332 494 resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} 333 495 engines: {node: '>=18'} ··· 340 502 cpu: [loong64] 341 503 os: [linux] 342 504 505 + '@esbuild/linux-loong64@0.27.0': 506 + resolution: {integrity: sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg==} 507 + engines: {node: '>=18'} 508 + cpu: [loong64] 509 + os: [linux] 510 + 343 511 '@esbuild/linux-loong64@0.27.3': 344 512 resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} 345 513 engines: {node: '>=18'} ··· 352 520 cpu: [mips64el] 353 521 os: [linux] 354 522 523 + '@esbuild/linux-mips64el@0.27.0': 524 + resolution: {integrity: sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg==} 525 + engines: {node: '>=18'} 526 + cpu: [mips64el] 527 + os: [linux] 528 + 355 529 '@esbuild/linux-mips64el@0.27.3': 356 530 resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} 357 531 engines: {node: '>=18'} ··· 364 538 cpu: [ppc64] 365 539 os: [linux] 366 540 541 + '@esbuild/linux-ppc64@0.27.0': 542 + resolution: {integrity: sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA==} 543 + engines: {node: '>=18'} 544 + cpu: [ppc64] 545 + os: [linux] 546 + 367 547 '@esbuild/linux-ppc64@0.27.3': 368 548 resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} 369 549 engines: {node: '>=18'} ··· 376 556 cpu: [riscv64] 377 557 os: [linux] 378 558 559 + '@esbuild/linux-riscv64@0.27.0': 560 + resolution: {integrity: sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ==} 561 + engines: {node: '>=18'} 562 + cpu: [riscv64] 563 + os: [linux] 564 + 379 565 '@esbuild/linux-riscv64@0.27.3': 380 566 resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} 381 567 engines: {node: '>=18'} ··· 388 574 cpu: [s390x] 389 575 os: [linux] 390 576 577 + '@esbuild/linux-s390x@0.27.0': 578 + resolution: {integrity: sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w==} 579 + engines: {node: '>=18'} 580 + cpu: [s390x] 581 + os: [linux] 582 + 391 583 '@esbuild/linux-s390x@0.27.3': 392 584 resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} 393 585 engines: {node: '>=18'} ··· 400 592 cpu: [x64] 401 593 os: [linux] 402 594 595 + '@esbuild/linux-x64@0.27.0': 596 + resolution: {integrity: sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw==} 597 + engines: {node: '>=18'} 598 + cpu: [x64] 599 + os: [linux] 600 + 403 601 '@esbuild/linux-x64@0.27.3': 404 602 resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} 405 603 engines: {node: '>=18'} ··· 412 610 cpu: [arm64] 413 611 os: [netbsd] 414 612 613 + '@esbuild/netbsd-arm64@0.27.0': 614 + resolution: {integrity: sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w==} 615 + engines: {node: '>=18'} 616 + cpu: [arm64] 617 + os: [netbsd] 618 + 415 619 '@esbuild/netbsd-arm64@0.27.3': 416 620 resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} 417 621 engines: {node: '>=18'} ··· 424 628 cpu: [x64] 425 629 os: [netbsd] 426 630 631 + '@esbuild/netbsd-x64@0.27.0': 632 + resolution: {integrity: sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA==} 633 + engines: {node: '>=18'} 634 + cpu: [x64] 635 + os: [netbsd] 636 + 427 637 '@esbuild/netbsd-x64@0.27.3': 428 638 resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} 429 639 engines: {node: '>=18'} ··· 436 646 cpu: [arm64] 437 647 os: [openbsd] 438 648 649 + '@esbuild/openbsd-arm64@0.27.0': 650 + resolution: {integrity: sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ==} 651 + engines: {node: '>=18'} 652 + cpu: [arm64] 653 + os: [openbsd] 654 + 439 655 '@esbuild/openbsd-arm64@0.27.3': 440 656 resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} 441 657 engines: {node: '>=18'} ··· 448 664 cpu: [x64] 449 665 os: [openbsd] 450 666 667 + '@esbuild/openbsd-x64@0.27.0': 668 + resolution: {integrity: sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A==} 669 + engines: {node: '>=18'} 670 + cpu: [x64] 671 + os: [openbsd] 672 + 451 673 '@esbuild/openbsd-x64@0.27.3': 452 674 resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} 453 675 engines: {node: '>=18'} ··· 460 682 cpu: [arm64] 461 683 os: [openharmony] 462 684 685 + '@esbuild/openharmony-arm64@0.27.0': 686 + resolution: {integrity: sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA==} 687 + engines: {node: '>=18'} 688 + cpu: [arm64] 689 + os: [openharmony] 690 + 463 691 '@esbuild/openharmony-arm64@0.27.3': 464 692 resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} 465 693 engines: {node: '>=18'} ··· 472 700 cpu: [x64] 473 701 os: [sunos] 474 702 703 + '@esbuild/sunos-x64@0.27.0': 704 + resolution: {integrity: sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA==} 705 + engines: {node: '>=18'} 706 + cpu: [x64] 707 + os: [sunos] 708 + 475 709 '@esbuild/sunos-x64@0.27.3': 476 710 resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} 477 711 engines: {node: '>=18'} ··· 480 714 481 715 '@esbuild/win32-arm64@0.25.12': 482 716 resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} 717 + engines: {node: '>=18'} 718 + cpu: [arm64] 719 + os: [win32] 720 + 721 + '@esbuild/win32-arm64@0.27.0': 722 + resolution: {integrity: sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg==} 483 723 engines: {node: '>=18'} 484 724 cpu: [arm64] 485 725 os: [win32] ··· 496 736 cpu: [ia32] 497 737 os: [win32] 498 738 739 + '@esbuild/win32-ia32@0.27.0': 740 + resolution: {integrity: sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ==} 741 + engines: {node: '>=18'} 742 + cpu: [ia32] 743 + os: [win32] 744 + 499 745 '@esbuild/win32-ia32@0.27.3': 500 746 resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} 501 747 engines: {node: '>=18'} ··· 508 754 cpu: [x64] 509 755 os: [win32] 510 756 757 + '@esbuild/win32-x64@0.27.0': 758 + resolution: {integrity: sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg==} 759 + engines: {node: '>=18'} 760 + cpu: [x64] 761 + os: [win32] 762 + 511 763 '@esbuild/win32-x64@0.27.3': 512 764 resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} 513 765 engines: {node: '>=18'} ··· 1088 1340 1089 1341 '@ungap/structured-clone@1.3.0': 1090 1342 resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} 1343 + deprecated: Potential CWE-502 - Update to 1.3.1 or higher 1091 1344 1092 1345 '@webcontainer/api@1.6.1': 1093 1346 resolution: {integrity: sha512-2RS2KiIw32BY1Icf6M1DvqSmcon9XICZCDgS29QJb2NmF12ZY2V5Ia+949hMKB3Wno+P/Y8W+sPP59PZeXSELg==} ··· 1404 1657 engines: {node: '>=18'} 1405 1658 hasBin: true 1406 1659 1660 + esbuild@0.27.0: 1661 + resolution: {integrity: sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA==} 1662 + engines: {node: '>=18'} 1663 + hasBin: true 1664 + 1407 1665 esbuild@0.27.3: 1408 1666 resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} 1409 1667 engines: {node: '>=18'} ··· 1823 2081 micromark@4.0.2: 1824 2082 resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} 1825 2083 2084 + miniflare@4.20260114.0: 2085 + resolution: {integrity: sha512-QwHT7S6XqGdQxIvql1uirH/7/i3zDEt0B/YBXTYzMfJtVCR4+ue3KPkU+Bl0zMxvpgkvjh9+eCHhJbKEqya70A==} 2086 + engines: {node: '>=18.0.0'} 2087 + hasBin: true 2088 + 1826 2089 miniflare@4.20260401.0: 1827 2090 resolution: {integrity: sha512-lngHPzZFN9sxYG/mhzvnWiBMNVAN5MsO/7g32ttJ07rymtiK/ZBalODTKb8Od+BQdlU5DOR4CjVt9NydjnUyYg==} 1828 2091 engines: {node: '>=18.0.0'} 2092 + hasBin: true 2093 + 2094 + miniflare@4.20260601.0: 2095 + resolution: {integrity: sha512-56TFiulSEQu43cYxdXgCiA3U3i+Ls0NoXwJXd6DmpNsx8yl/1Il2T3DQ4CMXjR6yfE7CSvC5MuXaqcSAMREjgw==} 2096 + engines: {node: '>=22.0.0'} 1829 2097 hasBin: true 1830 2098 1831 2099 mrmime@2.0.1: ··· 1921 2189 1922 2190 picomatch@4.0.3: 1923 2191 resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} 2192 + engines: {node: '>=12'} 2193 + 2194 + picomatch@4.0.4: 2195 + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} 1924 2196 engines: {node: '>=12'} 1925 2197 1926 2198 postcss-nested@6.2.0: ··· 2188 2460 undici-types@6.21.0: 2189 2461 resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 2190 2462 2463 + undici@7.14.0: 2464 + resolution: {integrity: sha512-Vqs8HTzjpQXZeXdpsfChQTlafcMQaaIwnGwLam1wudSSjlJeQ3bw1j+TLPePgrCnCpUXx7Ba5Pdpf5OBih62NQ==} 2465 + engines: {node: '>=20.18.1'} 2466 + 2191 2467 undici@7.24.4: 2192 2468 resolution: {integrity: sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==} 2193 2469 engines: {node: '>=20.18.1'} 2194 2470 2471 + undici@7.24.8: 2472 + resolution: {integrity: sha512-6KQ/+QxK49Z/p3HO6E5ZCZWNnCasyZLa5ExaVYyvPxUwKtbCPMKELJOqh7EqOle0t9cH/7d2TaaTRRa6Nhs4YQ==} 2473 + engines: {node: '>=20.18.1'} 2474 + 2195 2475 unenv@2.0.0-rc.24: 2196 2476 resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} 2197 2477 ··· 2370 2650 resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} 2371 2651 engines: {node: '>=18'} 2372 2652 2653 + workerd@1.20260114.0: 2654 + resolution: {integrity: sha512-kTJ+jNdIllOzWuVA3NRQRvywP0T135zdCjAE2dAUY1BFbxM6fmMZV8BbskEoQ4hAODVQUfZQmyGctcwvVCKxFA==} 2655 + engines: {node: '>=16'} 2656 + hasBin: true 2657 + 2373 2658 workerd@1.20260401.1: 2374 2659 resolution: {integrity: sha512-mUYCd+ohaWJWF5nhDzxugWaAD/DM8Dw0ze3B7bu8JaA7S70+XQJXcvcvwE8C4qGcxSdCyqjsrFzqxKubECDwzg==} 2375 2660 engines: {node: '>=16'} 2376 2661 hasBin: true 2377 2662 2663 + workerd@1.20260601.1: 2664 + resolution: {integrity: sha512-Bg4+HF3B8TW0urAv8chiz25HSQ/aJxMBjgheUzu/nB1NQa+CaKGrUPv+Z3bf0np/WxLHYW1kcseVEtzZVPbX4g==} 2665 + engines: {node: '>=16'} 2666 + hasBin: true 2667 + 2668 + wrangler@4.59.2: 2669 + resolution: {integrity: sha512-Z4xn6jFZTaugcOKz42xvRAYKgkVUERHVbuCJ5+f+gK+R6k12L02unakPGOA0L0ejhUl16dqDjKe4tmL9sedHcw==} 2670 + engines: {node: '>=20.0.0'} 2671 + hasBin: true 2672 + peerDependencies: 2673 + '@cloudflare/workers-types': ^4.20260114.0 2674 + peerDependenciesMeta: 2675 + '@cloudflare/workers-types': 2676 + optional: true 2677 + 2378 2678 wrangler@4.80.0: 2379 2679 resolution: {integrity: sha512-2ZKF7uPeOZy65BGk3YfvqBCPo/xH1MrAlMmH9mVP+tCNBrTUMnwOHSj1HrZHgR8LttkAqhko0fGz+I4ax1rzyQ==} 2380 2680 engines: {node: '>=20.3.0'} ··· 2385 2685 '@cloudflare/workers-types': 2386 2686 optional: true 2387 2687 2688 + wrangler@4.97.0: 2689 + resolution: {integrity: sha512-jzW/aNvjerV+4TmwbvwGY6lpcuBk7EFUTonMDNfci45wSmMTj2/OJN+83cc/CeepKdb+6ZjGJw9NRjmcQoxqRg==} 2690 + engines: {node: '>=22.0.0'} 2691 + hasBin: true 2692 + peerDependencies: 2693 + '@cloudflare/workers-types': ^4.20260601.1 2694 + peerDependenciesMeta: 2695 + '@cloudflare/workers-types': 2696 + optional: true 2697 + 2388 2698 wrap-ansi@9.0.2: 2389 2699 resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} 2390 2700 engines: {node: '>=18'} 2391 2701 2392 2702 ws@8.18.0: 2393 2703 resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} 2704 + engines: {node: '>=10.0.0'} 2705 + peerDependencies: 2706 + bufferutil: ^4.0.1 2707 + utf-8-validate: '>=5.0.2' 2708 + peerDependenciesMeta: 2709 + bufferutil: 2710 + optional: true 2711 + utf-8-validate: 2712 + optional: true 2713 + 2714 + ws@8.20.1: 2715 + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} 2394 2716 engines: {node: '>=10.0.0'} 2395 2717 peerDependencies: 2396 2718 bufferutil: ^4.0.1 ··· 2451 2773 2452 2774 '@ark/util@0.56.0': {} 2453 2775 2776 + '@astrojs/cloudflare@12.6.13(@types/node@22.19.3)(astro@5.16.6(@types/node@22.19.3)(rollup@4.55.1)(typescript@5.8.2))': 2777 + dependencies: 2778 + '@astrojs/internal-helpers': 0.7.6 2779 + '@astrojs/underscore-redirects': 1.0.0 2780 + '@cloudflare/workers-types': 4.20260405.1 2781 + astro: 5.16.6(@types/node@22.19.3)(rollup@4.55.1)(typescript@5.8.2) 2782 + tinyglobby: 0.2.15 2783 + vite: 6.4.1(@types/node@22.19.3) 2784 + wrangler: 4.59.2(@cloudflare/workers-types@4.20260405.1) 2785 + transitivePeerDependencies: 2786 + - '@types/node' 2787 + - bufferutil 2788 + - jiti 2789 + - less 2790 + - lightningcss 2791 + - sass 2792 + - sass-embedded 2793 + - stylus 2794 + - sugarss 2795 + - terser 2796 + - tsx 2797 + - utf-8-validate 2798 + - yaml 2799 + 2454 2800 '@astrojs/compiler@2.13.0': {} 2455 2801 2456 2802 '@astrojs/internal-helpers@0.7.5': {} 2803 + 2804 + '@astrojs/internal-helpers@0.7.6': {} 2457 2805 2458 2806 '@astrojs/markdown-remark@6.3.10': 2459 2807 dependencies: ··· 2556 2904 transitivePeerDependencies: 2557 2905 - supports-color 2558 2906 2907 + '@astrojs/underscore-redirects@1.0.0': {} 2908 + 2559 2909 '@babel/helper-string-parser@7.27.1': {} 2560 2910 2561 2911 '@babel/helper-validator-identifier@7.28.5': {} ··· 2591 2941 2592 2942 '@cloudflare/kv-asset-handler@0.4.2': {} 2593 2943 2944 + '@cloudflare/kv-asset-handler@0.5.0': {} 2945 + 2946 + '@cloudflare/unenv-preset@2.10.0(unenv@2.0.0-rc.24)(workerd@1.20260114.0)': 2947 + dependencies: 2948 + unenv: 2.0.0-rc.24 2949 + optionalDependencies: 2950 + workerd: 1.20260114.0 2951 + 2594 2952 '@cloudflare/unenv-preset@2.16.0(unenv@2.0.0-rc.24)(workerd@1.20260401.1)': 2595 2953 dependencies: 2596 2954 unenv: 2.0.0-rc.24 2597 2955 optionalDependencies: 2598 2956 workerd: 1.20260401.1 2599 2957 2958 + '@cloudflare/unenv-preset@2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260601.1)': 2959 + dependencies: 2960 + unenv: 2.0.0-rc.24 2961 + optionalDependencies: 2962 + workerd: 1.20260601.1 2963 + 2964 + '@cloudflare/workerd-darwin-64@1.20260114.0': 2965 + optional: true 2966 + 2600 2967 '@cloudflare/workerd-darwin-64@1.20260401.1': 2601 2968 optional: true 2602 2969 2970 + '@cloudflare/workerd-darwin-64@1.20260601.1': 2971 + optional: true 2972 + 2973 + '@cloudflare/workerd-darwin-arm64@1.20260114.0': 2974 + optional: true 2975 + 2603 2976 '@cloudflare/workerd-darwin-arm64@1.20260401.1': 2604 2977 optional: true 2605 2978 2979 + '@cloudflare/workerd-darwin-arm64@1.20260601.1': 2980 + optional: true 2981 + 2982 + '@cloudflare/workerd-linux-64@1.20260114.0': 2983 + optional: true 2984 + 2606 2985 '@cloudflare/workerd-linux-64@1.20260401.1': 2607 2986 optional: true 2608 2987 2988 + '@cloudflare/workerd-linux-64@1.20260601.1': 2989 + optional: true 2990 + 2991 + '@cloudflare/workerd-linux-arm64@1.20260114.0': 2992 + optional: true 2993 + 2609 2994 '@cloudflare/workerd-linux-arm64@1.20260401.1': 2610 2995 optional: true 2611 2996 2997 + '@cloudflare/workerd-linux-arm64@1.20260601.1': 2998 + optional: true 2999 + 3000 + '@cloudflare/workerd-windows-64@1.20260114.0': 3001 + optional: true 3002 + 2612 3003 '@cloudflare/workerd-windows-64@1.20260401.1': 3004 + optional: true 3005 + 3006 + '@cloudflare/workerd-windows-64@1.20260601.1': 2613 3007 optional: true 2614 3008 2615 3009 '@cloudflare/workers-types@4.20260405.1': {} ··· 2628 3022 '@esbuild/aix-ppc64@0.25.12': 2629 3023 optional: true 2630 3024 3025 + '@esbuild/aix-ppc64@0.27.0': 3026 + optional: true 3027 + 2631 3028 '@esbuild/aix-ppc64@0.27.3': 2632 3029 optional: true 2633 3030 2634 3031 '@esbuild/android-arm64@0.25.12': 3032 + optional: true 3033 + 3034 + '@esbuild/android-arm64@0.27.0': 2635 3035 optional: true 2636 3036 2637 3037 '@esbuild/android-arm64@0.27.3': ··· 2640 3040 '@esbuild/android-arm@0.25.12': 2641 3041 optional: true 2642 3042 3043 + '@esbuild/android-arm@0.27.0': 3044 + optional: true 3045 + 2643 3046 '@esbuild/android-arm@0.27.3': 2644 3047 optional: true 2645 3048 2646 3049 '@esbuild/android-x64@0.25.12': 2647 3050 optional: true 2648 3051 3052 + '@esbuild/android-x64@0.27.0': 3053 + optional: true 3054 + 2649 3055 '@esbuild/android-x64@0.27.3': 2650 3056 optional: true 2651 3057 2652 3058 '@esbuild/darwin-arm64@0.25.12': 3059 + optional: true 3060 + 3061 + '@esbuild/darwin-arm64@0.27.0': 2653 3062 optional: true 2654 3063 2655 3064 '@esbuild/darwin-arm64@0.27.3': ··· 2658 3067 '@esbuild/darwin-x64@0.25.12': 2659 3068 optional: true 2660 3069 3070 + '@esbuild/darwin-x64@0.27.0': 3071 + optional: true 3072 + 2661 3073 '@esbuild/darwin-x64@0.27.3': 2662 3074 optional: true 2663 3075 2664 3076 '@esbuild/freebsd-arm64@0.25.12': 2665 3077 optional: true 2666 3078 3079 + '@esbuild/freebsd-arm64@0.27.0': 3080 + optional: true 3081 + 2667 3082 '@esbuild/freebsd-arm64@0.27.3': 2668 3083 optional: true 2669 3084 2670 3085 '@esbuild/freebsd-x64@0.25.12': 2671 3086 optional: true 2672 3087 3088 + '@esbuild/freebsd-x64@0.27.0': 3089 + optional: true 3090 + 2673 3091 '@esbuild/freebsd-x64@0.27.3': 2674 3092 optional: true 2675 3093 2676 3094 '@esbuild/linux-arm64@0.25.12': 2677 3095 optional: true 2678 3096 3097 + '@esbuild/linux-arm64@0.27.0': 3098 + optional: true 3099 + 2679 3100 '@esbuild/linux-arm64@0.27.3': 2680 3101 optional: true 2681 3102 2682 3103 '@esbuild/linux-arm@0.25.12': 3104 + optional: true 3105 + 3106 + '@esbuild/linux-arm@0.27.0': 2683 3107 optional: true 2684 3108 2685 3109 '@esbuild/linux-arm@0.27.3': ··· 2688 3112 '@esbuild/linux-ia32@0.25.12': 2689 3113 optional: true 2690 3114 3115 + '@esbuild/linux-ia32@0.27.0': 3116 + optional: true 3117 + 2691 3118 '@esbuild/linux-ia32@0.27.3': 2692 3119 optional: true 2693 3120 2694 3121 '@esbuild/linux-loong64@0.25.12': 2695 3122 optional: true 2696 3123 3124 + '@esbuild/linux-loong64@0.27.0': 3125 + optional: true 3126 + 2697 3127 '@esbuild/linux-loong64@0.27.3': 2698 3128 optional: true 2699 3129 2700 3130 '@esbuild/linux-mips64el@0.25.12': 3131 + optional: true 3132 + 3133 + '@esbuild/linux-mips64el@0.27.0': 2701 3134 optional: true 2702 3135 2703 3136 '@esbuild/linux-mips64el@0.27.3': ··· 2706 3139 '@esbuild/linux-ppc64@0.25.12': 2707 3140 optional: true 2708 3141 3142 + '@esbuild/linux-ppc64@0.27.0': 3143 + optional: true 3144 + 2709 3145 '@esbuild/linux-ppc64@0.27.3': 2710 3146 optional: true 2711 3147 2712 3148 '@esbuild/linux-riscv64@0.25.12': 2713 3149 optional: true 2714 3150 3151 + '@esbuild/linux-riscv64@0.27.0': 3152 + optional: true 3153 + 2715 3154 '@esbuild/linux-riscv64@0.27.3': 2716 3155 optional: true 2717 3156 2718 3157 '@esbuild/linux-s390x@0.25.12': 3158 + optional: true 3159 + 3160 + '@esbuild/linux-s390x@0.27.0': 2719 3161 optional: true 2720 3162 2721 3163 '@esbuild/linux-s390x@0.27.3': ··· 2724 3166 '@esbuild/linux-x64@0.25.12': 2725 3167 optional: true 2726 3168 3169 + '@esbuild/linux-x64@0.27.0': 3170 + optional: true 3171 + 2727 3172 '@esbuild/linux-x64@0.27.3': 2728 3173 optional: true 2729 3174 2730 3175 '@esbuild/netbsd-arm64@0.25.12': 2731 3176 optional: true 2732 3177 3178 + '@esbuild/netbsd-arm64@0.27.0': 3179 + optional: true 3180 + 2733 3181 '@esbuild/netbsd-arm64@0.27.3': 2734 3182 optional: true 2735 3183 2736 3184 '@esbuild/netbsd-x64@0.25.12': 2737 3185 optional: true 2738 3186 3187 + '@esbuild/netbsd-x64@0.27.0': 3188 + optional: true 3189 + 2739 3190 '@esbuild/netbsd-x64@0.27.3': 2740 3191 optional: true 2741 3192 2742 3193 '@esbuild/openbsd-arm64@0.25.12': 2743 3194 optional: true 2744 3195 3196 + '@esbuild/openbsd-arm64@0.27.0': 3197 + optional: true 3198 + 2745 3199 '@esbuild/openbsd-arm64@0.27.3': 2746 3200 optional: true 2747 3201 2748 3202 '@esbuild/openbsd-x64@0.25.12': 2749 3203 optional: true 2750 3204 3205 + '@esbuild/openbsd-x64@0.27.0': 3206 + optional: true 3207 + 2751 3208 '@esbuild/openbsd-x64@0.27.3': 2752 3209 optional: true 2753 3210 2754 3211 '@esbuild/openharmony-arm64@0.25.12': 2755 3212 optional: true 2756 3213 3214 + '@esbuild/openharmony-arm64@0.27.0': 3215 + optional: true 3216 + 2757 3217 '@esbuild/openharmony-arm64@0.27.3': 2758 3218 optional: true 2759 3219 2760 3220 '@esbuild/sunos-x64@0.25.12': 3221 + optional: true 3222 + 3223 + '@esbuild/sunos-x64@0.27.0': 2761 3224 optional: true 2762 3225 2763 3226 '@esbuild/sunos-x64@0.27.3': 2764 3227 optional: true 2765 3228 2766 3229 '@esbuild/win32-arm64@0.25.12': 3230 + optional: true 3231 + 3232 + '@esbuild/win32-arm64@0.27.0': 2767 3233 optional: true 2768 3234 2769 3235 '@esbuild/win32-arm64@0.27.3': ··· 2772 3238 '@esbuild/win32-ia32@0.25.12': 2773 3239 optional: true 2774 3240 3241 + '@esbuild/win32-ia32@0.27.0': 3242 + optional: true 3243 + 2775 3244 '@esbuild/win32-ia32@0.27.3': 2776 3245 optional: true 2777 3246 2778 3247 '@esbuild/win32-x64@0.25.12': 3248 + optional: true 3249 + 3250 + '@esbuild/win32-x64@0.27.0': 2779 3251 optional: true 2780 3252 2781 3253 '@esbuild/win32-x64@0.27.3': ··· 3621 4093 '@esbuild/win32-ia32': 0.25.12 3622 4094 '@esbuild/win32-x64': 0.25.12 3623 4095 4096 + esbuild@0.27.0: 4097 + optionalDependencies: 4098 + '@esbuild/aix-ppc64': 0.27.0 4099 + '@esbuild/android-arm': 0.27.0 4100 + '@esbuild/android-arm64': 0.27.0 4101 + '@esbuild/android-x64': 0.27.0 4102 + '@esbuild/darwin-arm64': 0.27.0 4103 + '@esbuild/darwin-x64': 0.27.0 4104 + '@esbuild/freebsd-arm64': 0.27.0 4105 + '@esbuild/freebsd-x64': 0.27.0 4106 + '@esbuild/linux-arm': 0.27.0 4107 + '@esbuild/linux-arm64': 0.27.0 4108 + '@esbuild/linux-ia32': 0.27.0 4109 + '@esbuild/linux-loong64': 0.27.0 4110 + '@esbuild/linux-mips64el': 0.27.0 4111 + '@esbuild/linux-ppc64': 0.27.0 4112 + '@esbuild/linux-riscv64': 0.27.0 4113 + '@esbuild/linux-s390x': 0.27.0 4114 + '@esbuild/linux-x64': 0.27.0 4115 + '@esbuild/netbsd-arm64': 0.27.0 4116 + '@esbuild/netbsd-x64': 0.27.0 4117 + '@esbuild/openbsd-arm64': 0.27.0 4118 + '@esbuild/openbsd-x64': 0.27.0 4119 + '@esbuild/openharmony-arm64': 0.27.0 4120 + '@esbuild/sunos-x64': 0.27.0 4121 + '@esbuild/win32-arm64': 0.27.0 4122 + '@esbuild/win32-ia32': 0.27.0 4123 + '@esbuild/win32-x64': 0.27.0 4124 + 3624 4125 esbuild@0.27.3: 3625 4126 optionalDependencies: 3626 4127 '@esbuild/aix-ppc64': 0.27.3 ··· 3722 4223 dependencies: 3723 4224 fast-string-width: 3.0.2 3724 4225 3725 - fdir@6.5.0(picomatch@4.0.3): 4226 + fdir@6.5.0(picomatch@4.0.4): 3726 4227 optionalDependencies: 3727 - picomatch: 4.0.3 4228 + picomatch: 4.0.4 3728 4229 3729 4230 flattie@1.1.1: {} 3730 4231 ··· 4487 4988 transitivePeerDependencies: 4488 4989 - supports-color 4489 4990 4991 + miniflare@4.20260114.0: 4992 + dependencies: 4993 + '@cspotcode/source-map-support': 0.8.1 4994 + sharp: 0.34.5 4995 + undici: 7.14.0 4996 + workerd: 1.20260114.0 4997 + ws: 8.18.0 4998 + youch: 4.1.0-beta.10 4999 + zod: 3.25.76 5000 + transitivePeerDependencies: 5001 + - bufferutil 5002 + - utf-8-validate 5003 + 4490 5004 miniflare@4.20260401.0: 4491 5005 dependencies: 4492 5006 '@cspotcode/source-map-support': 0.8.1 ··· 4499 5013 - bufferutil 4500 5014 - utf-8-validate 4501 5015 5016 + miniflare@4.20260601.0: 5017 + dependencies: 5018 + '@cspotcode/source-map-support': 0.8.1 5019 + sharp: 0.34.5 5020 + undici: 7.24.8 5021 + workerd: 1.20260601.1 5022 + ws: 8.20.1 5023 + youch: 4.1.0-beta.10 5024 + transitivePeerDependencies: 5025 + - bufferutil 5026 + - utf-8-validate 5027 + 4502 5028 mrmime@2.0.1: {} 4503 5029 4504 5030 ms@2.1.3: {} ··· 4595 5121 picomatch@2.3.1: {} 4596 5122 4597 5123 picomatch@4.0.3: {} 5124 + 5125 + picomatch@4.0.4: {} 4598 5126 4599 5127 postcss-nested@6.2.0(postcss@8.5.6): 4600 5128 dependencies: ··· 4972 5500 4973 5501 tinyglobby@0.2.15: 4974 5502 dependencies: 4975 - fdir: 6.5.0(picomatch@4.0.3) 4976 - picomatch: 4.0.3 5503 + fdir: 6.5.0(picomatch@4.0.4) 5504 + picomatch: 4.0.4 4977 5505 4978 5506 trim-lines@3.0.1: {} 4979 5507 ··· 5007 5535 5008 5536 undici-types@6.21.0: {} 5009 5537 5538 + undici@7.14.0: {} 5539 + 5010 5540 undici@7.24.4: {} 5541 + 5542 + undici@7.24.8: {} 5011 5543 5012 5544 unenv@2.0.0-rc.24: 5013 5545 dependencies: ··· 5116 5648 vite@6.4.1(@types/node@22.19.3): 5117 5649 dependencies: 5118 5650 esbuild: 0.25.12 5119 - fdir: 6.5.0(picomatch@4.0.3) 5120 - picomatch: 4.0.3 5651 + fdir: 6.5.0(picomatch@4.0.4) 5652 + picomatch: 4.0.4 5121 5653 postcss: 8.5.6 5122 5654 rollup: 4.55.1 5123 5655 tinyglobby: 0.2.15 ··· 5136 5668 widest-line@5.0.0: 5137 5669 dependencies: 5138 5670 string-width: 7.2.0 5671 + 5672 + workerd@1.20260114.0: 5673 + optionalDependencies: 5674 + '@cloudflare/workerd-darwin-64': 1.20260114.0 5675 + '@cloudflare/workerd-darwin-arm64': 1.20260114.0 5676 + '@cloudflare/workerd-linux-64': 1.20260114.0 5677 + '@cloudflare/workerd-linux-arm64': 1.20260114.0 5678 + '@cloudflare/workerd-windows-64': 1.20260114.0 5139 5679 5140 5680 workerd@1.20260401.1: 5141 5681 optionalDependencies: ··· 5145 5685 '@cloudflare/workerd-linux-arm64': 1.20260401.1 5146 5686 '@cloudflare/workerd-windows-64': 1.20260401.1 5147 5687 5688 + workerd@1.20260601.1: 5689 + optionalDependencies: 5690 + '@cloudflare/workerd-darwin-64': 1.20260601.1 5691 + '@cloudflare/workerd-darwin-arm64': 1.20260601.1 5692 + '@cloudflare/workerd-linux-64': 1.20260601.1 5693 + '@cloudflare/workerd-linux-arm64': 1.20260601.1 5694 + '@cloudflare/workerd-windows-64': 1.20260601.1 5695 + 5696 + wrangler@4.59.2(@cloudflare/workers-types@4.20260405.1): 5697 + dependencies: 5698 + '@cloudflare/kv-asset-handler': 0.4.2 5699 + '@cloudflare/unenv-preset': 2.10.0(unenv@2.0.0-rc.24)(workerd@1.20260114.0) 5700 + blake3-wasm: 2.1.5 5701 + esbuild: 0.27.0 5702 + miniflare: 4.20260114.0 5703 + path-to-regexp: 6.3.0 5704 + unenv: 2.0.0-rc.24 5705 + workerd: 1.20260114.0 5706 + optionalDependencies: 5707 + '@cloudflare/workers-types': 4.20260405.1 5708 + fsevents: 2.3.3 5709 + transitivePeerDependencies: 5710 + - bufferutil 5711 + - utf-8-validate 5712 + 5148 5713 wrangler@4.80.0(@cloudflare/workers-types@4.20260405.1): 5149 5714 dependencies: 5150 5715 '@cloudflare/kv-asset-handler': 0.4.2 ··· 5162 5727 - bufferutil 5163 5728 - utf-8-validate 5164 5729 5730 + wrangler@4.97.0(@cloudflare/workers-types@4.20260405.1): 5731 + dependencies: 5732 + '@cloudflare/kv-asset-handler': 0.5.0 5733 + '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260601.1) 5734 + blake3-wasm: 2.1.5 5735 + esbuild: 0.27.3 5736 + miniflare: 4.20260601.0 5737 + path-to-regexp: 6.3.0 5738 + unenv: 2.0.0-rc.24 5739 + workerd: 1.20260601.1 5740 + optionalDependencies: 5741 + '@cloudflare/workers-types': 4.20260405.1 5742 + fsevents: 2.3.3 5743 + transitivePeerDependencies: 5744 + - bufferutil 5745 + - utf-8-validate 5746 + 5165 5747 wrap-ansi@9.0.2: 5166 5748 dependencies: 5167 5749 ansi-styles: 6.2.3 ··· 5169 5751 strip-ansi: 7.1.2 5170 5752 5171 5753 ws@8.18.0: {} 5754 + 5755 + ws@8.20.1: {} 5172 5756 5173 5757 xxhash-wasm@1.1.0: {} 5174 5758
+33 -6
router/src/index.ts
··· 1 - export interface Env {} 1 + export interface Env { } 2 + 3 + // Where to proxy docs requests. In production this is the live site. On 4 + // Cloudflare branch previews both Workers share the same branch slug 5 + // (e.g. `fix-404-bombsh-docs-router` ↔ `fix-404-bombshell-docs`), so we point 6 + // the router at the matching docs preview by rewriting our own hostname. 7 + // Per-version previews use an 8-char hex id that differs per Worker and can't 8 + // be mapped, so those fall back to production. 9 + function docsOrigin(host: string): string { 10 + const match = host.match(/^(.+)-bombsh-docs-router\.(.+\.workers\.dev)$/); 11 + if (match) { 12 + const [, slug, zone] = match; 13 + if (!/^[0-9a-f]{8}$/.test(slug)) { 14 + return `https://${slug}-bombshell-docs.${zone}`; 15 + } 16 + } 17 + return "https://docs.bomb.sh"; 18 + } 2 19 3 20 export default { 4 21 async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { 5 22 const url = new URL(request.url); 6 23 7 24 if (url.pathname.startsWith("/docs")) { 8 - const response = await fetch(new URL(url.pathname, "https://docs.bomb.sh/")); 25 + const origin = docsOrigin(url.host); 26 + let response = await fetch(new URL(url.pathname, origin)); 27 + 28 + // Special case for Starlight's 404 page 29 + let status = response.status; 30 + if (status === 404) 31 + response = await fetch(new URL("/docs/404.html", origin)) 32 + 9 33 const headers = new Headers(response.headers); 10 34 headers.set("Cross-Origin-Embedder-Policy", "require-corp"); 11 35 headers.set("Cross-Origin-Opener-Policy", "same-origin"); 12 36 headers.set("Cross-Origin-Resource-Policy", "cross-origin"); 13 37 headers.set("Referrer-Policy", "strict-origin-when-cross-origin"); 38 + 39 + // If we got 404, return the HTML, but set status to 404 manually, 40 + // because the response status would be 200 14 41 return new Response(response.body, { 15 - status: response.status, 16 - statusText: response.statusText, 42 + status: status, 43 + statusText: status === 404 ? "Not Found" : response.statusText, 17 44 headers, 18 45 }); 19 46 } 20 47 21 - return fetch(url); 48 + return fetch(request); 22 49 }, 23 - } satisfies ExportedHandler<Env>; 50 + } satisfies ExportedHandler<Env>;
+10
src/content/docs/404.mdx
··· 1 + --- 2 + title: "404" 3 + template: splash 4 + editUrl: false 5 + hero: 6 + title: "404: Kaboom" 7 + tagline: Page not found. It looks like this URL just took a direct hit. 8 + prev: false 9 + next: false 10 + ---