* add support for advanced mode
* add support for directory mode
* use asset fallback as in cloudflare's docs
* update locals
* come up with new runtime in `Astro.locals`
* add overwrite protection
* minor cleanup
* changeset
* address review comments
* move overwrite protection to adapter
* fix types
* fix comment
* resolve review comments
* update changeset
* add test
* redo ts
* fix integration test port
* updated tests, add new port
* add TODO comment
* update changeset
* add JSDoc
* Update packages/integrations/cloudflare/src/runtime.ts
---------
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* more efficient _routes.json for cloudflare integration
* added tests
* updated pnpm-lock.yaml
* added changeset
* cleaned up test
* fix: convert window path separators
* updated docs
* handle more cases
* Apply suggestions from code review
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
* incorporate feedback from code review
* used other pnpm version
* better fallback for empty include array
* adjust test case to changed fallback for empty include array
* updated docs
---------
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
* Remove experimental flag for redirects config
* Remove experimental from tests
* Remove experimental CLI flag
* Add changeset
* Removing redirect test that is no longer relevant
* Remove experimental label"
* Update .changeset/dry-beers-grow.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Update .changeset/dry-beers-grow.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Remove old function
---------
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* initial commit
* try to fix windows
* output files directly into the correct folder
* allow for rest parameters
* use fixed hook
* improve tests
* apply doc's team suggestions for README
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* try to fix prerendering
* apply doc's team suggestion for changeset
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* bump to minor
* readme update
* resolve review comments
* optimize memory allocation
* resolve review comments
* add removed link, to make sure old docs keep same
* resolve comment
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
---------
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Redirects spike
* Allow redirects in static mode
* Support in Netlify as well
* Adding a changeset
* Rename file
* Fix build problem
* Refactor to be more modular
* Fix location ref
* Late test should only run in SSR
* Support redirects in Netlify SSR configuration (#7167)
* Implement support for dynamic routes in redirects (#7173)
* Implement support for dynamic routes in redirects
* Remove the .only
* No need to special-case redirects in static build
* Implement support for redirects config in the Vercel adapter (#7182)
* Implement support for redirects config in the Vercel adapter
* Remove unused condition
* Move to a internal helper package
* Add support for the object notation in redirects
* Use status 308 for non-GET redirects (#7186)
* Implement redirects in Cloudflare (#7198)
* Implement redirects in Cloudflare
* Fix build
* Update tests b/c of new ordering
* Debug issue
* Use posix.join
* Update packages/underscore-redirects/package.json
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
* Update based on review comments
* Update broken test
---------
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
* Test that redirects can come from middleware (#7213)
* Test that redirects can come from middleware
* Allow non-promise returns for middleware
* Implement priority (#7210)
* Refactor
* Fix netlify test ordering
* Fix ordering again
* Redirects: Allow preventing the output of the static HTML file (#7245)
* Do a simple push for priority
* Adding changesets
* Put the implementation behind a flag.
* Self review
* Update .changeset/chatty-actors-stare.md
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/astro/src/@types/astro.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/astro/src/@types/astro.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/astro/src/@types/astro.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/astro/src/@types/astro.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update docs on dynamic restrictions.
* Update packages/astro/src/@types/astro.ts
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Update packages/astro/src/@types/astro.ts
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Code review changes
* Document netlify static adapter
* Update packages/astro/src/@types/astro.ts
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Slight reword
* Update .changeset/twenty-suns-vanish.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Add a note about public/_redirects file
* Update packages/astro/src/@types/astro.ts
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
---------
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* update config schema
* adapt default route `prerender` value
* adapt error message for hybrid output
* core hybrid output support
* add JSDocs for hybrid output
* dev server hybrid output support
* defer hybrid output check
* update endpoint request warning
* support `output=hybrid` in integrations
* put constant variable out of for loop
* revert: reapply back ssr plugin in ssr mode
* change `prerender` option default
* apply `prerender` by default in hybrid mode
* simplfy conditional
* update config schema
* add `isHybridOutput` helper
* more readable prerender condition
* set default prerender value if no export is found
* only add `pagesVirtualModuleId` ro rollup input in `output=static`
* don't export vite plugin
* remove unneeded check
* don't prerender when it shouldn't
* extract fallback `prerender` meta
Extract the fallback `prerender` module meta out of the `scan` function.
It shouldn't be its responsibility to handle that
* pass missing argument to function
* test: update cloudflare integration tests
* test: update tests of vercel integration
* test: update tests of node integration
* test: update tests of netlify func integration
* test: update tests of netlify edge integration
* throw when `hybrid` mode is malconfigured
* update node integraiton `output` warning
* test(WIP): skip node prerendering tests for now
* remove non-existant import
* test: bring back prerendering tests
* remove outdated comments
* test: refactor test to support windows paths
* remove outdated comments
* apply sarah review
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* docs: `experiment.hybridOutput` jsodcs
* test: prevent import from being cached
* refactor: extract hybrid output check to function
* add `hybrid` to output warning in adapter hooks
* chore: changeset
* add `.js` extension to import
* chore: use spaces instead of tabs for gh formating
* resolve merge conflict
* chore: move test to another file for consitency
---------
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
* Prevent hydration scripts from being rendered in the wrong order
* Remove comment
* Update jsx
* Remove promise for stop
* Try skipping lit tests
* Stringify these chunks too
* Unskip lit