summaryrefslogtreecommitdiff
path: root/packages/integrations/netlify/src
diff options
context:
space:
mode:
authorGravatar Nate Moore <natemoo-re@users.noreply.github.com> 2022-12-16 11:38:37 -0500
committerGravatar GitHub <noreply@github.com> 2022-12-16 10:38:37 -0600
commitd2960984c59af7b60a3ea472c6c58fb00534a8e6 (patch)
tree4247b41b81014b21f521f75735fe099218f64a7e /packages/integrations/netlify/src
parent7cbe7f5623ef65739bd596267237cd03634668d0 (diff)
downloadastro-d2960984c59af7b60a3ea472c6c58fb00534a8e6.tar.gz
astro-d2960984c59af7b60a3ea472c6c58fb00534a8e6.tar.zst
astro-d2960984c59af7b60a3ea472c6c58fb00534a8e6.zip
Experimental Prerender API (#5297)
* wip: hybrid output * wip: hybrid output mvp * refactor: move hybrid => server * wip: hybrid support for `output: 'server'` * feat(hybrid): overwrite static files * fix: update static build * feat(hybrid): skip page generation if no static entrypoints * feat: migrate from hybrid output => prerender flag * fix: appease typescript * fix: appease typescript * fix: appease typescript * fix: appease typescript * fix: improve static cleanup * attempt: avoid preprocess scanning * hack: force generated .js files to be treated as ESM * better handling for astro metadata * fix: update scanner plugin * fix: page name bug * fix: keep ssr false when generating pages * fix: force output to be treated as ESM * fix: client output should respect buildConfig * fix: ensure outDir is always created * fix: do not replace files with noop * fix(netlify): add support for `experimental_prerender` pages * feat: switch to `experimental_prerender` * chore: update es-module-lexer code in test * feat: improved code-splitting, cleanup * feat: move prerender behind flag * test: prerender * test: update prerender test * chore: update lockfile * fix: only match `.html` files when resolving assets * chore: update changeset * chore: remove ESM hack * chore: allow `--experimental-prerender` flag, move `--experimental-error-overlay` into subobject * chore: update changeset * test(vite-plugin-scanner): add proper unit tests for vite-plugin-scanner * chore: remove leftover code * chore: add comment on cleanup task * refactor: move manual chunks logic to vite-plugin-prerender * fix: do not support let declarations * test: add var test * refactor: prefer existing util * Update packages/astro/src/@types/astro.ts Co-authored-by: Chris Swithinbank <swithinbank@gmail.com> * Update packages/astro/src/core/errors/errors-data.ts Co-authored-by: Chris Swithinbank <swithinbank@gmail.com> * Update packages/astro/src/@types/astro.ts Co-authored-by: Chris Swithinbank <swithinbank@gmail.com> Co-authored-by: Nate Moore <nate@astro.build> Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
Diffstat (limited to 'packages/integrations/netlify/src')
-rw-r--r--packages/integrations/netlify/src/shared.ts18
1 files changed, 14 insertions, 4 deletions
diff --git a/packages/integrations/netlify/src/shared.ts b/packages/integrations/netlify/src/shared.ts
index c0d8a4ce5..2c648984a 100644
--- a/packages/integrations/netlify/src/shared.ts
+++ b/packages/integrations/netlify/src/shared.ts
@@ -14,18 +14,28 @@ export async function createRedirects(
let _redirects = '';
for (const route of routes) {
if (route.pathname) {
- _redirects += `
+ 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 += `
+ if (route.route === '/404') {
+ _redirects += `
/* /.netlify/${kind}/${entryFile} 404`;
+ }
}
} else {
const pattern =
'/' + route.segments.map(([part]) => (part.dynamic ? '*' : part.content)).join('/');
- _redirects += `
+ if (route.distURL) {
+ _redirects += `
+ ${pattern} /${route.distURL.toString().replace(dir.toString(), '')} 200`;
+ } else {
+ _redirects += `
${pattern} /.netlify/${kind}/${entryFile} 200`;
+ }
}
}