diff options
author | 2022-12-16 11:38:37 -0500 | |
---|---|---|
committer | 2022-12-16 10:38:37 -0600 | |
commit | d2960984c59af7b60a3ea472c6c58fb00534a8e6 (patch) | |
tree | 4247b41b81014b21f521f75735fe099218f64a7e /packages/integrations/netlify/src | |
parent | 7cbe7f5623ef65739bd596267237cd03634668d0 (diff) | |
download | astro-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.ts | 18 |
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`; + } } } |