Commit graph

71 commits

Author SHA1 Message Date
Happydev
719002ca5b
feat: hybrid output (#6991)
* 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>
2023-05-17 09:23:20 -04:00
André Alves
1e3873c04a
Fix no edge functions deployed to netlify (#6793) 2023-04-10 16:50:54 +08:00
matthewp
e0ee7765d0 [ci] format 2023-04-06 19:43:15 +00:00
Matthew Phillips
416ceb9730
Use Deno API to set Astro.clientAddress (#6651)
* Use Deno API to set Astro.clientAddress

* Add types
2023-04-06 15:40:50 -04:00
Erika
1e7d6af412
feat(all): Migrate to TypeScript 5.0 (#6579) 2023-03-20 17:02:07 +01:00
Erika
c44aa15534
fix: Enforce the usage of type imports when possible (#6502) 2023-03-10 16:19:57 +01:00
Bjorn Lu
2eb73cb9d1
Use .mjs extension when building for netlify edge and vercel serverless (#6317) 2023-02-21 22:14:47 +08:00
Erika
5e26bc891c
fix(cookies): Update Undici to 5.20 and fix cookies behaviour (#6323)
* fix(cookies): Update Undici to 5.20 and fix cookies behaviour

* chore: changeset
2023-02-21 14:18:17 +01:00
matthewp
cac11c98be [ci] format 2023-01-27 15:22:30 +00:00
Juan Miguel Guerrero
1c230f1037
feat(@astrojs/netlify): Add on-demand builders Netlify functions (#5874)
* Add on-demand builders option

* chore: add changeset

* docs: add documentation in configuration section

* Update packages/integrations/netlify/README.md

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Update packages/integrations/netlify/README.md

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Update packages/integrations/netlify/README.md

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Update .changeset/twenty-pans-agree.md

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

---------

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-01-27 10:20:34 -05:00
matthewp
0d0974722f [ci] format 2023-01-23 14:49:20 +00:00
Matthew Phillips
f5adbd6b55
Support prerender in Netlify redirects (#5904)
* Support prerender in Netlify redirects

* Updated sorting algorithm

* Update packages/integrations/netlify/src/shared.ts

Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>

Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
2023-01-23 09:47:33 -05:00
natemoo-re
39c1daa641 [ci] format 2023-01-18 18:56:34 +00:00
Nate Moore
8f1ae06e58
fix(#5723): build prerendered pages with Netlify edge functions (#5885)
* fix(#5723): build prerendered pages with Netlify edge functions

* chore: add changeset

Co-authored-by: Nate Moore <nate@astro.build>
2023-01-18 12:54:49 -06:00
Nate Moore
f8f4d49aba
Output assets to _astro directory (#5772)
* WIP: emit assets to _astro

* chore: better _astro handling

* refactor: emit server assets to `chunks/`

* chore: update /asset tests

* test: add explicit build output tests

* fix: update image to emit to configured asset path

* chore: update changeset

* chore: update image tests

* chore: update image tests

* test: update css test

* test: update bundling test

* test: update tests

* 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>

* chore: add clarifying comment

Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
2023-01-09 10:01:33 -06:00
Erika
2f6745019a
Drop Node 14 in CI for Node 16 and add Node 18 to the matrix (#5768)
* ci(node): Move CI to Node 16 and add Node 18 to the matrix

* fix(netlify): Fix set-cookie not working on Node 18

* fix(netlify): Handle if `set-cookie` is already somehow an array (apparently it can?)

* test(node): Fix `toPromise` to match Astro's

* fix(tests): Use the actual underlying ArrayBuffer instance to create the buffer in toPromise

* chore: changeset
2023-01-06 12:01:54 -05:00
wulinsheng123
9963c6e4d5
feat: change path into assets (#5584)
* feat: change path

* feat: fix bug #5502

* fix: astro fix to patch

* feat: change to major

* chore: update changelog

* fix: change entryFileNames into assets folder

* fix: fix error message in test

Co-authored-by: bluwy <bjornlu.dev@gmail.com>
2023-01-05 10:41:10 -06:00
Bjorn Lu
5eba34fcc6
Remove deprecated APIs (#5707)
* Remove deprecated Astro globals

* Remove deprecated hook param

* Fix test

* Add changeset

* Add TODO
2023-01-03 14:06:07 -05:00
Anders Kaseorg
53e0c98dae
Fix spelling mistakes found by codespell and mwic (#5627) 2022-12-19 12:00:00 +01:00
Nate Moore
d2960984c5
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>
2022-12-16 10:38:37 -06:00
Bjorn Lu
a79a37cad5
Support environment variables in Cloudflare and Netlify Edge functions (#5301)
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2022-11-08 21:54:49 +08:00
matthewp
575bf9205e [ci] format 2022-10-12 21:27:56 +00:00
Matthew Phillips
e55af8a232
Node.js standalone mode + support for astro preview (#5056)
* wip

* Deprecate buildConfig and move to config.build

* Implement the standalone server

* Stay backwards compat

* Add changesets

* correctly merge URLs

* Get config earlier

* update node tests

* Return the preview server

* update remaining tests

* swap usage and config ordering

* Update packages/astro/src/@types/astro.ts

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Update .changeset/metal-pumas-walk.md

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Update .changeset/metal-pumas-walk.md

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Update .changeset/stupid-points-refuse.md

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Update .changeset/stupid-points-refuse.md

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Link to build.server config

Co-authored-by: Fred K. Schott <fkschott@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2022-10-12 17:25:51 -04:00
matthewp
55a1b5bb58 [ci] format 2022-09-28 20:57:35 +00:00
Matthew Phillips
d3091f89e9
Astro.cookies implementation (#4876)
* Astro.cookies implementation

* Remove unused var

* Fix build

* Add a changesetp

* Remove spoken-word expires
2022-09-28 16:55:27 -04:00
matthewp
0f4f514fd9 [ci] format 2022-09-20 19:34:51 +00:00
Matthew Phillips
9bfbd63f05
Fixes processing of images in Netlify functions (#4820) 2022-09-20 15:33:01 -04:00
Ben Holmes
4bc70f3545
Fix route validation for Netlify Edge (#4722)
* fix: serialize route pattern for Netlify edge

Co-authored-by: Jackie Macharia <jackiewmacharia>

* chore: changeset
2022-09-12 19:33:44 -04:00
FredKSchott
a70d05bd44 [ci] format 2022-08-11 23:29:45 +00:00
Matthew Phillips
d3d09a2c9f
Add 404 routing logic to Netlify redirects file (#4274)
* Add 404 routing logic to Netlify redirects file

* changeset
2022-08-11 16:26:32 -07:00
FredKSchott
d2148ce982 [ci] format 2022-07-25 04:20:38 +00:00
Matthew Phillips
6fd161d769
Add the output option (#4015)
* Start of work on astroConfig.mode === 'server'

* Add tests and more

* adapter -> deploy in some places

* Add fallback for `adapter` config

* Update more tests

* Update image tests

* Fix clientAddress test

* Updates based on PR review

* Add a changeset

* Update integrations tests + readme

* Oops

* Remove old option

* Rename `mode` to `output`

* Update Node adapter test

* Update test

* fred pass

* fred pass

* fred pass

* fix test

Co-authored-by: Fred K. Schott <fkschott@gmail.com>
2022-07-25 00:18:02 -04:00
Okiki Ojo
0cc6ede362
SSR 404 and 500 routes in adapters (#4018)
* fix(WIP): SSR 404 and 500 routes

* Implement the feature

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2022-07-22 16:30:17 -04:00
Matthew Phillips
5a23483efb
Adds support for Astro.clientAddress (#3973)
* Adds support for Astro.clientAddress

* Pass through mode and adapterName in SSG

* Pass through the mode provided

* Provide an adapter specific error message when possible
2022-07-19 16:10:15 -04:00
bholmesdev
efd6548d49 [ci] format 2022-06-27 21:22:26 +00:00
Ben Holmes
4acd245d8f
Refactor: remove Deno shim to esbuild "banner" (#3734)
* refactor: remove Deno shim to esbuild "banner"

* refactor: move shim to const

* refactor: add shim to netlify edge

* chore: changeset
2022-06-27 17:20:28 -04:00
matthewp
948f82048b [ci] format 2022-06-21 12:33:55 +00:00
Matthew Phillips
f5afaf2498
Support re-exporting astro components containing client components (#3625)
* Support re-exporting astro components containing client components

* Include metadata for markdown too

* Fix ssr, probably

* Inject post-build

* Remove tagName custom element test

* Allows using the constructor for lit elements

* Fix hoisted script scanning

* Pass through plugin context

* Get edge functions working in the edge tests

* Fix types for the edge function integration

* Upgrade the compiler

* Upgrade compiler version

* Better release notes for lit

* Update .changeset/unlucky-hairs-camp.md

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>

* Properly test that the draft was not rendered

* Prevent from rendering draft posts

* Add a changeset about the build perf improvement.

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2022-06-21 08:32:05 -04:00
bholmesdev
8ce5b824ab [ci] format 2022-06-17 00:32:29 +00:00
Ben Holmes
fca58cfd91
Fix: Netlify edge deployment when using markdown (#3612)
* wip: revert sitemap PR

* fix: extract SSR-ready "slug" helper to separate module

* Un-revert sitemap PR. Not to blame!

This reverts commit 7cd2a8a5ea.

* fix: use .netlify for edge deployment test

* refactor: add md file to edge function fixture

* fix: add netlify edge tests to ci

* chore: remove stray console log

* wip: undo "dist" change on edge tests

* chore: changeset

* Revert "wip: undo "dist" change on edge tests"

This reverts commit 70e565ef06.

* temp: add ignore to breaking edge tests
2022-06-16 20:31:08 -04:00
tony-sull
a4c78b544e [ci] format 2022-06-15 19:50:36 +00:00
Tony Sullivan
0ddcef2043
Adds support base64 encoding in Netlify Functions (#3592)
* Adding support for base64 encoded responses in Netlify Functions

* chore: add changeset

* removing the regex check for a more simple header-based check

* nit: cleaning up the readme a bit
2022-06-15 19:49:09 +00:00
matthewp
0a978e22fd [ci] format 2022-06-07 15:43:33 +00:00
Matthew Phillips
f3ab822e32
Allow dynamic imports when using Netlify Edge Functions (#3535)
* Allow dynamic imports when using Netlify Edge Functions

* Update deno test script and changeset
2022-06-07 11:41:32 -04:00
FredKSchott
f0f6a3332f [ci] format 2022-06-06 16:49:53 +00:00
William Tetlow
207f58d171
fix: alias astro to @types/astro (#3503)
* fix: alias astro to @types/astro

* fix: handle resolve.alias being array

* chore: add integrations patch to changeset

* chore: remove empty file
2022-06-02 12:54:35 -05:00
Sarah Etter
43d922277a
Update out directories for Netlify Functions (#3381)
* Change out directories for Netlify Functions

* Changeset

* Update test
2022-05-16 14:44:21 -04:00
Sarah Etter
e1294c422b
Netlify outdirectory (#3377)
* Change dist directory, and functions out directory

* Add changeset

* update docs

* Fix changeset
2022-05-16 11:58:31 -04:00
matthewp
3bb07a01e0 [ci] format 2022-05-11 15:14:43 +00:00
Pascal Schilp
352fc3166f
Fix/netlify edge redirects (#3342)
* fix: create redirects file for netlify edge adapter

* chore: changeset

* chore: distinguish between edge/regular
2022-05-11 09:13:23 -06:00