import type { RouteData } from 'astro'; import fs from 'fs'; export async function createRedirects( routes: RouteData[], dir: URL, entryFile: string, edge: boolean ) { const _redirectsURL = new URL('./_redirects', dir); const kind = edge ? 'edge-functions' : 'functions'; // Create the redirects file that is used for routing. let _redirects = ''; for (const route of routes) { if (route.pathname) { if (route.distURL) { _redirects += ` ${route.pathname} /${route.distURL.toString().replace(dir.toString(), '')} 200`; } else { _redirects += ` ${route.pathname} /.netlify/${kind}/${entryFile} 200`; if (route.route === '/404') { _redirects += ` /* /.netlify/${kind}/${entryFile} 404`; } } } else { const pattern = '/' + route.segments.map(([part]) => (part.dynamic ? '*' : part.content)).join('/'); if (route.distURL) { _redirects += ` ${pattern} /${route.distURL.toString().replace(dir.toString(), '')} 200`; } else { _redirects += ` ${pattern} /.netlify/${kind}/${entryFile} 200`; } } } // Always use appendFile() because the redirects file could already exist, // e.g. due to a `/public/_redirects` file that got copied to the output dir. // If the file does not exist yet, appendFile() automatically creates it. await fs.promises.appendFile(_redirectsURL, _redirects, 'utf-8'); } n> Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/packages/create-astro/create-astro.js (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-04-10attempt to fix the 'no commits' bug in changesetGravatar Fred K. Schott 1-1/+1
2022-04-10revert releaseGravatar Fred K. Schott 76-225/+329
2022-04-10Update astro changelogGravatar Fred K. Schott 1-29/+0
2022-04-11[ci] formatGravatar FredKSchott 3-34/+34
2022-04-10[ci] release (#3060)Gravatar github-actions[bot] 76-363/+288
2022-04-10update changesetGravatar Fred K. Schott 1-1/+0
2022-04-10update changesetGravatar Fred K. Schott 1-1/+1
2022-04-10update lockfile (#3059)Gravatar Fred K. Schott 29-914/+698
2022-04-10correct changesetsGravatar Fred K. Schott 3-3/+11
2022-04-10chore: webapi test now use chai (#3048)Gravatar Juan Martín Seery 16-814/+539
2022-04-10update test names containing spacesGravatar Fred K. Schott 26-17/+17
2022-04-11[ci] formatGravatar FredKSchott 2-8/+7
2022-04-10Fix SSR static build public file copying. fixes #3016 (#3037)Gravatar Steve Lee 8-5/+48
2022-04-10fix our weird beta release issues (#3031)Gravatar Fred K. Schott 4-6/+116
2022-04-10update tailwind integration readmeGravatar Fred K. Schott 2-9/+38
2022-04-10Fixed MD Lint issues (#3038)Gravatar Rafid Muhymin Wafi 1-12/+11