From 8cfcacee7335c116c255cd5e0c3a3cdf4aa4f489 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Nov 2026 18:31:52 +0000 Subject: [PATCH 1/2] chore: bump itty-router from 5.0.22 to 5.0.24 Bumps [itty-router](https://github.com/kwhitley/itty-router) from 5.0.22 to 5.0.24. - [Release notes](https://github.com/kwhitley/itty-router/releases) - [Changelog](https://github.com/kwhitley/itty-router/blob/v5.x/CHANGELOG.md) - [Commits](https://github.com/kwhitley/itty-router/compare/v5.0.22...v5.0.24) --- updated-dependencies: - dependency-name: itty-router dependency-version: 5.0.24 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 91cf70c8..cdd71e31 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@aws-sdk/client-s3": "^3.859.0", "@sentry/cloudflare": "^10.60.0", - "itty-router": "^5.0.22", + "itty-router": "^5.0.24", "mustache": "^4.2.0" }, "devDependencies": { @@ -5321,9 +5321,9 @@ "dev": true }, "node_modules/itty-router": { - "version": "5.0.22", - "resolved": "https://registry.npmjs.org/itty-router/-/itty-router-5.0.22.tgz", - "integrity": "sha512-9hmdGErWdYDOurGYxSbqLhy4EFReIwk71hMZTJ5b+zfa2zjMNV1ftFno2b8VjAQvX615gNB8Qxbl9JMRqHnIVA==", + "version": "5.0.24", + "resolved": "https://registry.npmjs.org/itty-router/-/itty-router-5.0.24.tgz", + "integrity": "sha512-PXij1qGKtE6jg3dLgrTRdh/Frovl5Wc4Av67sD2xfhDPrgNt4u79++/il8/c/OfZGkhD/8uYJub8tjo+H165rA==", "license": "MIT" }, "node_modules/jackspeak": { diff --git a/package.json b/package.json index f1866b27..9d526fb5 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "dependencies": { "@aws-sdk/client-s3": "^3.859.0", "@sentry/cloudflare": "^10.60.0", - "itty-router": "^5.0.22", + "itty-router": "^5.0.24", "mustache": "^4.2.0" } } From 0c18148c564f4030a165d9eb6cb3abb6c874d4d1 Mon Sep 17 00:00:00 2001 From: Claudio Wunder Date: Sun, 1 Nov 2026 19:58:43 +0100 Subject: [PATCH 2/2] fix: match bare directory paths with optional greedy route params itty-router 5.0.24 stopped greedy params (`:filePath+`) from matching an empty value, so `/dist`, `/dist/`, `/download/`, `/api/` and `/metrics/` fell through to the 404 handler. `:filePath+?` makes the param optional, like the docs route already does. On those paths it leaves `filePath` undefined, which r2Middleware already maps to ''. Assisted-by: Claude Opus 5.5 --- src/routes/index.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/routes/index.ts b/src/routes/index.ts index 244184ee..ef685c2d 100644 --- a/src/routes/index.ts +++ b/src/routes/index.ts @@ -17,8 +17,8 @@ export function registerRoutes(router: Router): void { router.options('*', new OptionsMiddleware()); - router.head('/metrics/?:filePath+', r2Middleware); - router.get('/metrics/?:filePath+', r2Middleware); + router.head('/metrics/:filePath+?', r2Middleware); + router.get('/metrics/:filePath+?', r2Middleware); router.all('/api/corepack.html', corepackRedirectMiddleware); router.all('/docs/latest/api/corepack.html', corepackRedirectMiddleware); @@ -48,14 +48,14 @@ export function registerRoutes(router: Router): void { router.head('/llms.txt', r2Middleware); router.get('/llms.txt', r2Middleware); - router.head('/dist/?:filePath+', r2Middleware); - router.get('/dist/?:filePath+', r2Middleware); + router.head('/dist/:filePath+?', r2Middleware); + router.get('/dist/:filePath+?', r2Middleware); - router.head('/download/?:filePath+', r2Middleware); - router.get('/download/?:filePath+', r2Middleware); + router.head('/download/:filePath+?', r2Middleware); + router.get('/download/:filePath+?', r2Middleware); - router.head('/api/?:filePath+', r2Middleware); - router.get('/api/?:filePath+', r2Middleware); + router.head('/api/:filePath+?', r2Middleware); + router.get('/api/:filePath+?', r2Middleware); router.head('/docs/?:version?/:filePath+?', r2Middleware); router.get('/docs/?:version?/:filePath+?', r2Middleware);