Commit graph

2402 commits

Author SHA1 Message Date
Sam Hulick
5c5da8d2fb
feat: add logging for when hydrate's JSON parse fails (#7887)
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
2023-08-01 16:33:38 +01:00
Nate Moore
298dbb89f2
Refactor 404 and 500 approach (#7754)
* fix(app): refactor 404 and 500 approach

* chore: refactor logic

* fix: always treat error as page

* test: migrate ssr-prerender-404 to node adapter

* feat: merge original response metadata with error response

* chore: update lockfile

* chore: trigger ci

* chore(lint): fix lint issue

* fix: ensure merged request has proper status

* fix(node): prerender test

* chore: update test label

* fix(node): improve 404 behavior in middleware mode

* fix(vercel): improve 404 behavior

* fix(netlify): improve 404 behavior

* chore: update test labels

* chore: force ci

* chore: fix lint

* fix: avoid infinite loops

* test: fix failing test in Node 18

* chore: remove volta
2023-08-01 09:52:16 -05:00
Bjorn Lu
0b8375fe82
Fix streaming Astro components (#7895) 2023-08-01 21:30:47 +08:00
Bjorn Lu
ebf7ebbf7a
Refactor and improve Astro config loading flow (#7879) 2023-08-01 17:11:26 +08:00
André Alves
9e22038472
Fix incorrect build path logging for 404.astro pages (#7885)
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2023-08-01 08:53:47 +01:00
Emanuele Stoppa
89d015db6c
fix: scan getStaticPaths only in .astro files (#7876) 2023-07-31 17:24:13 +01:00
Yan Thomas
1859960d04
Update old link from @astrojs/netlify README (#7862)
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
2023-07-31 13:50:53 +01:00
Houston (Bot)
d2b6dabfb3
[ci] release (#7854)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-28 12:34:00 -04:00
Matthew Phillips
861f10eafd
Fix redirect in SSR (Node and dynamic) (#7856) 2023-07-28 12:00:26 -04:00
Houston (Bot)
98ca04f915
[ci] release (#7851)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-28 09:12:05 -04:00
Matthew Phillips
49a4b28202
Scroll position restoration (#7800)
* Scroll position restoration

* Adding a changeset

* Throttle state persistence

* very important change
2023-07-28 09:07:00 -04:00
Bjorn Lu
e50f646758
Fix head propagation for MDX components (#7838) 2023-07-28 18:00:53 +08:00
Emanuele Stoppa
2275c7d56b
fix: dev server should redirect when a page doesn't exist (#7841) 2023-07-28 09:20:00 +01:00
Houston (Bot)
3b422272e6
[ci] release (#7813)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-27 15:33:13 -04:00
Matthew Phillips
59b5562326
Allow the Image component to get transitions (#7836)
* Images and view transitions

* Upgrade compiler

* Adding a changeset
2023-07-27 15:08:45 -04:00
Matthew Phillips
7dbcbc86b3
Track added links/styles/scripts to prevent duplicates (#7843)
* temporary change

* Track rendered styles and links to prevent duplicates

* Adding a changeset

* Fix names
2023-07-27 14:42:22 -04:00
Matthew Phillips
5161cf919c
Add astro:beforeload event (#7823)
* Add astro:beforeload event

* Adding a changeset

* Update .changeset/chilled-elephants-develop.md

Co-authored-by: Yan Thomas <61414485+Yan-Thomas@users.noreply.github.com>

---------

Co-authored-by: Yan Thomas <61414485+Yan-Thomas@users.noreply.github.com>
2023-07-27 08:57:37 -04:00
Matthew Phillips
267487e63e
Prevent navigation on hash change (#7824) 2023-07-27 08:42:04 -04:00
Erika
b063a2d8ae
fix(assets): Fix endpoint not being injected when an integration would enable experimental.assets (#7829) 2023-07-27 11:37:27 +02:00
Erika
d5f526b339
test: add test in the Node adapter for astro:assets (#7734) 2023-07-26 23:58:47 +02:00
Erika
31c4031ba7
fix: squoosh not working on Windows in certain situations (#7826) 2023-07-26 21:38:37 +02:00
Matthew Phillips
42a21b5da6
Prevent building .html files in hybrid mode (#7805)
* Prevent building .html files in hybrid mode

* Adding a changeset
2023-07-26 07:58:57 -04:00
Houston (Bot)
db8c04002f
[ci] release (#7784)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-25 15:15:41 -04:00
Bjorn Lu
0f677c009d
Refactor Astro rendering to write results directly (#7782) 2023-07-25 23:44:25 +08:00
Matthew Phillips
188eeddd47
Execute scripts on page navigation (view transitions) (#7786)
* Execute scripts on page navigation (view transitions)

* Update .changeset/sharp-seas-smile.md

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

---------

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-07-25 08:35:47 -04:00
Alex Sherwin
7461e82c81
Add "allowHTML" option for Markdoc with HTML parsing/processing (#7597)
* 7576 - initial support for HTML inside Markdoc.

This uses htmlparser2 to perform a pure token transform/mutation
on the markdown-it tokens, replacing the original raw HTML string
tokens with a richer set of tokens per HTML node, and in the process
Markdoc tags are interleaved in the resulting token graph at the
appropriate locations

This removes the legacy config of the @astrojs/markdoc integration
entirely (suggested by @bholmesdev) and introduces a new type for
options to be specified in the astro config, initially, with just the new
"enableHTML" option

When "enableHTML" is *not* enabled (the default), the behavior
of the entire @astrojs/markdoc integration should remain functionally
equivalent to before this change

* 7576 - fixed issues with whitespace preservation

also:

* cleaned up " to ' for astro project preferred linting
* made the html rendering test fixture use a dynamic path

* 7576 - detailed nested HTML test coverage

* 7576 -  component + HTML interleaved tests

* 7576 -  fix lint problems from previous changes

* 7576 -  some commentary

* 7576 -  file naming, refactor html under imports, package.json exports definition for html

* 7576

* move out of extensions dir, remove export
* cdata handling changes

* 7576

* inline license from third party code
* cleanup test class copy of HTML output
* remove // third party indicators for imports (clarification: not third party code, just a indicator this group of imports is third party)

* 7576 - fixed test before/after for DRY'ness

* 7576 - no need to React-ify HTML attribute case

* 7576 - rename "enableHTML" option to "allowHTML"

* Added Markdoc allowHTML feature changeset

* 7576 - updated README with allowHTML info

* 7576 - fixed changeset typo

* 7576 - minor edits based on PR feedback for docs

* 7576 - minor edits based on PR feedback for docs
2023-07-24 19:34:06 -04:00
Kevin Whinnery
0a1b33349f
Update esbuild target for Deno (#7687)
Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com>
2023-07-24 22:58:05 +08:00
Houston (Bot)
e80896a67c
[ci] release (#7763)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-24 17:09:11 +08:00
Bjorn Lu
3567afac44
Fix rendering TextEncoder encoding error regression (#7777) 2023-07-24 16:22:05 +08:00
Birk Skyum
0c9959704f
Bump vite to 4.4.6 (#7746) 2023-07-24 16:21:17 +08:00
Erika
da7f1128bf
Fix missing referrerpolicy attribute on script tags (#7766)
* fix(astro-jsx): Add missing `referrerpolicy` attribute for script tags

* chore: changeset
2023-07-23 15:00:41 +02:00
Erika
1792737dae
Misc improvements for astro:assets (#7759) 2023-07-21 23:59:14 +02:00
Houston (Bot)
16a41528e4
[ci] release (#7737)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-21 16:37:17 -04:00
Matthew Phillips
274e675328
Prevent FOUC with production links in ViewTransitions (#7756)
* Prevent FOUC with production links in ViewTransitions

* Adding changeset

* Move up so it works with fallback too
2023-07-21 16:26:42 -04:00
Matthew Phillips
c2d6cfd0c2
Prevent animations with prefers-reduced-motion (#7757)
* Prevent animations with prefers-reduced-motion

* Also disable animations in the fallback

* Change select to target elements
2023-07-21 16:10:48 -04:00
Matthew Phillips
201d32dcfc
Handle back navigation from page without VT (#7750)
* Handle back navigation from page without VT

* Adding a changeset
2023-07-21 10:40:36 -04:00
Anders Kaseorg
e528526289
Fix parsing image assets from a Markdown line along with other markup (#7742)
Every regex that tries to match a substring with .* or .+ is
guaranteed to be wrong.  In this case, it was giving incorrect matches
straddling multiple quoted attributes:

    <img __ASTRO_IMAGE_="../assets/image.png"> and <a href="link">link</a>
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Fixes #7741.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2023-07-21 07:59:10 +02:00
Arsh
35a0b6c8a9
fix(vercel): Switch to node 18 when local version is not supported (#7718)
* fix(vercel): switch to node 18 when needed

* fix types, reword

* reorder sentences

* add changeset

* fix(vercel): switch to node 18 when needed

* add referencce to vercel documentation

---------

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2023-07-20 13:39:46 -05:00
Houston (Bot)
92382ea1d4
[ci] release (#7714)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-20 12:09:38 -04:00
ottomated
3a6e42e190
Determine hoisted scripts via AST analysis (#7707)
* initial hacky

* plural importNames and exportNames

* extract into function

* Add test

* fix issue with another component importing our tracked component

* fix dynamic imports

* changeset

* add mdx to checklist

* mdx exports Content

* remove unused var

* Update packages/astro/test/hoisted-imports.test.js

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

* Update packages/astro/src/core/build/plugins/plugin-analyzer.ts

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

* Update packages/astro/src/core/build/plugins/plugin-analyzer.ts

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

* Update real-drinks-melt.md

* Update .changeset/real-drinks-melt.md

Co-authored-by: Yan Thomas <61414485+Yan-Thomas@users.noreply.github.com>

* Update .changeset/real-drinks-melt.md

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

* Update .changeset/real-drinks-melt.md

* Update .changeset/real-drinks-melt.md

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

---------

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Matthew Phillips <matthew@matthewphillips.info>
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
Co-authored-by: Yan Thomas <61414485+Yan-Thomas@users.noreply.github.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-07-20 12:03:40 -04:00
Nate Moore
77ffcc8f8b
fix(sitemap): ensure nested 404 and 500 pages are excluded (#7722) 2023-07-19 17:05:44 -05:00
Matthew Phillips
6a12fcecb0
Initial View Transition Support (#7511)
* Basic support

* Add the fade transition

* Move CSS into a separate file

* Add transition name

* View Transitions changeset

* Replace the boolean transition with 'morph'

* Update to use `transition:animate`

* Use head propagation

* Move CSS into a separate file

* Add builtin animations and namespaced module

* Misquote

* Remove unused code

* Add automatic prefetching to the View Transitions router

* Use a data attribute for back nav animations

* Use [data-astro-transition]

* Add view transitions to examples

* Wait on the HTML response before calling startViewTransition

* Updated stuff

* Update the compiler

* Fix

* Fallback support

* Properly do fallback

* Simplify the selectors

* Put viewTransitions support behind a flag

* Upgrade the compiler

* Remove unused import

* Add tests

* Use an explicit import instead of types

* Fix case where the click comes from within nested content

* Fix linting

* Add a test for the back button

* Prevent glitch in fallback

* Do not combine selectors

* Fallback to MPA nav if there is an issue fetching

* Fallback swap if there are no animations

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

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

* Update packages/astro/components/ViewTransitions.astro

Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>

* Update packages/astro/components/ViewTransitions.astro

Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>

* Update the changeset

* PR review changes

* Update more based on review comments.

* Update the updateDOM default

* Pass in transitions options to the compiler

* Update broken tests

* Update .changeset/silly-garlics-live.md

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

* Update .changeset/silly-garlics-live.md

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

* Update .changeset/silly-garlics-live.md

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

* Update .changeset/silly-garlics-live.md

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

* h2 -> h4

* Upgrade to stable compiler

* Remove exp redirects from sitemap

* Remove usage from examples

* Remove example updates

---------

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
2023-07-19 15:18:41 -04:00
Nate Moore
d088351f54
Warn when getStaticPaths exists without a prerender statement (#7713)
* wip: warning on getStaticPaths without prerender

* refactor: move getStaticPaths warning to scanner plugin

* chore: do not add to test fixture

* chore: remove legacy getStaticPaths validation

* refactor: update warning message

* chore: typo

* chore: add changeset

* chore: remove unused variables

* refactor: make settings optional

* chore: fix lint

* chore: update message to include reason
2023-07-19 09:33:45 -05:00
Matthew Phillips
ec745d689a
Remove experimental flag for redirects config (#7686)
* 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>
2023-07-19 09:31:07 -04:00
Bjorn Lu
d78db48ac4
Fix absolute path handling for config validation in windows (#7704) 2023-07-19 15:53:24 +08:00
Bjorn Lu
019b797bf8
Fix redirects map object-form value validation (#7701) 2023-07-19 15:52:50 +08:00
Houston (Bot)
de65ad25ea
[ci] release (#7699)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-19 09:32:32 +02:00
Nate Moore
72bbfac976
Fix 404 status code in dev server (#7711)
* chore: update tests

* chore: update tests

* fix(#7516): set response status to 404 when rendering 404 page

* chore: add changeset

* chore: update dev container test

* refactor: improve status handling logic

* chore: remove unused import
2023-07-18 16:40:09 -05:00
Nate Moore
d401866f93
Fix 404 handling in dev server (#7693)
* fix(#7301): load 404 page in dev server when returning 404 status code

* chore: add changeset

* fix(404): expose exact pathname/URL when rendering 404

* test: add custom-404-server test
2023-07-18 12:09:18 -05:00
Erika
4f6b5ae2ba
Fix/markdoc assets (#7706) 2023-07-18 18:03:46 +02:00