diff options
Diffstat (limited to 'packages/integrations/netlify')
4 files changed, 39 insertions, 19 deletions
diff --git a/packages/integrations/netlify/src/integration-static.ts b/packages/integrations/netlify/src/integration-static.ts index 8814f9d2a..78d0bb4b0 100644 --- a/packages/integrations/netlify/src/integration-static.ts +++ b/packages/integrations/netlify/src/integration-static.ts @@ -1,5 +1,4 @@ -import type { AstroAdapter, AstroConfig, AstroIntegration, RouteData } from 'astro'; -import type { Args } from './netlify-functions.js'; +import type { AstroIntegration } from 'astro'; import { createRedirects } from './shared.js'; export function netlifyStatic(): AstroIntegration { @@ -20,7 +19,7 @@ export function netlifyStatic(): AstroIntegration { }, 'astro:build:done': async ({ dir, routes }) => { await createRedirects(_config, routes, dir, '', 'static'); - } - } + }, + }, }; } diff --git a/packages/integrations/netlify/src/shared.ts b/packages/integrations/netlify/src/shared.ts index d452ada10..e4aabd824 100644 --- a/packages/integrations/netlify/src/shared.ts +++ b/packages/integrations/netlify/src/shared.ts @@ -1,5 +1,5 @@ -import type { AstroConfig, RouteData } from 'astro'; import { createRedirectsFromAstroRoutes } from '@astrojs/underscore-redirects'; +import type { AstroConfig, RouteData } from 'astro'; import fs from 'node:fs'; export async function createRedirects( @@ -14,7 +14,10 @@ export async function createRedirects( const _redirectsURL = new URL('./_redirects', dir); const _redirects = createRedirectsFromAstroRoutes({ - config, routes, dir, dynamicTarget + config, + routes, + dir, + dynamicTarget, }); const content = _redirects.print(); diff --git a/packages/integrations/netlify/test/functions/redirects.test.js b/packages/integrations/netlify/test/functions/redirects.test.js index 8a6d36694..767e5b13b 100644 --- a/packages/integrations/netlify/test/functions/redirects.test.js +++ b/packages/integrations/netlify/test/functions/redirects.test.js @@ -18,7 +18,7 @@ describe('SSG - Redirects', () => { site: `http://example.com`, integrations: [testIntegration()], redirects: { - '/other': '/' + '/other': '/', }, experimental: { redirects: true, @@ -31,14 +31,22 @@ describe('SSG - Redirects', () => { let redirects = await fixture.readFile('/_redirects'); let parts = redirects.split(/\s+/); expect(parts).to.deep.equal([ - '/other', '/', '301', + '/other', + '/', + '301', // This uses the dynamic Astro.redirect, so we don't know that it's a redirect // until runtime. This is correct! - '/nope', '/.netlify/functions/entry', '200', - '/', '/.netlify/functions/entry', '200', + '/nope', + '/.netlify/functions/entry', + '200', + '/', + '/.netlify/functions/entry', + '200', // A real route - '/team/articles/*', '/.netlify/functions/entry', '200', + '/team/articles/*', + '/.netlify/functions/entry', + '200', ]); }); }); diff --git a/packages/integrations/netlify/test/static/redirects.test.js b/packages/integrations/netlify/test/static/redirects.test.js index 0b153b31c..d2f87d4f6 100644 --- a/packages/integrations/netlify/test/static/redirects.test.js +++ b/packages/integrations/netlify/test/static/redirects.test.js @@ -20,10 +20,10 @@ describe('SSG - Redirects', () => { '/other': '/', '/two': { status: 302, - destination: '/' + destination: '/', }, - '/blog/[...slug]': '/team/articles/[...slug]' - } + '/blog/[...slug]': '/team/articles/[...slug]', + }, }); await fixture.build(); }); @@ -32,12 +32,22 @@ describe('SSG - Redirects', () => { let redirects = await fixture.readFile('/_redirects'); let parts = redirects.split(/\s+/); expect(parts).to.deep.equal([ - '/two', '/', '302', - '/other', '/', '301', - '/nope', '/', '301', + '/two', + '/', + '302', + '/other', + '/', + '301', + '/nope', + '/', + '301', - '/blog/*', '/team/articles/*/index.html', '301', - '/team/articles/*', '/team/articles/*/index.html', '200', + '/blog/*', + '/team/articles/*/index.html', + '301', + '/team/articles/*', + '/team/articles/*/index.html', + '200', ]); }); }); |