diff options
author | 2025-01-13 16:23:26 +0100 | |
---|---|---|
committer | 2025-01-13 16:23:26 +0100 | |
commit | 0888511700723d57d714508f25bb1f1df88722b5 (patch) | |
tree | 5190216b93e83978775a865f2d7a5c8855e1282d /packages/integrations/cloudflare/src | |
parent | 03f15c41f13b7b707e2c13676c09e286c9a387f9 (diff) | |
download | astro-0888511700723d57d714508f25bb1f1df88722b5.tar.gz astro-0888511700723d57d714508f25bb1f1df88722b5.tar.zst astro-0888511700723d57d714508f25bb1f1df88722b5.zip |
feat: upgrade underscore-redirects (#501)
Diffstat (limited to 'packages/integrations/cloudflare/src')
-rw-r--r-- | packages/integrations/cloudflare/src/index.ts | 39 |
1 files changed, 8 insertions, 31 deletions
diff --git a/packages/integrations/cloudflare/src/index.ts b/packages/integrations/cloudflare/src/index.ts index fdef2eb28..a21d45fe7 100644 --- a/packages/integrations/cloudflare/src/index.ts +++ b/packages/integrations/cloudflare/src/index.ts @@ -3,7 +3,6 @@ import type { AstroIntegration, HookParameters, IntegrationResolvedRoute, - IntegrationRouteData, } from 'astro'; import type { PluginOption } from 'vite'; @@ -91,28 +90,6 @@ function setProcessEnv(config: AstroConfig, env: Record<string, unknown>) { } } -function resolvedRouteToRouteData( - assets: HookParameters<'astro:build:done'>['assets'], - route: IntegrationResolvedRoute -): IntegrationRouteData { - return { - pattern: route.patternRegex, - component: route.entrypoint, - prerender: route.isPrerendered, - route: route.pattern, - generate: route.generate, - params: route.params, - segments: route.segments, - type: route.type, - pathname: route.pathname, - redirect: route.redirect, - distURL: assets.get(route.pattern), - redirectRoute: route.redirectRoute - ? resolvedRouteToRouteData(assets, route.redirectRoute) - : undefined, - }; -} - export default function createIntegration(args?: Options): AstroIntegration { let _config: AstroConfig; let finalBuildOutput: HookParameters<'astro:config:done'>['buildOutput']; @@ -367,18 +344,18 @@ export default function createIntegration(args?: Options): AstroIntegration { ); } - const redirectRoutes: [IntegrationRouteData, string][] = []; - for (const route of _routes) { - // TODO: Replace workaround after upstream @astrojs/underscore-redirects is changed, to support new IntegrationResolvedRoute type - if (route.type === 'redirect') - redirectRoutes.push([resolvedRouteToRouteData(assets, route), '']); - } - const trueRedirects = createRedirectsFromAstroRoutes({ config: _config, - routeToDynamicTargetMap: new Map(Array.from(redirectRoutes)), + routeToDynamicTargetMap: new Map( + Array.from( + _routes + .filter((route) => route.type === 'redirect') + .map((route) => [route, ''] as const) + ) + ), dir, buildOutput: finalBuildOutput, + assets, }); if (!trueRedirects.empty()) { |