Commit graph

2377 commits

Author SHA1 Message Date
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
Chris Swithinbank
a77741d25e
Add changeset & docs for next @astrojs/netlify release (#7700)
Co-authored-by: Yan Thomas <61414485+Yan-Thomas@users.noreply.github.com>
2023-07-18 16:57:19 +01:00
Nate Moore
06c255716a
Fix routing behavior when getStaticPaths params include hyphens (#7694) 2023-07-18 10:36:43 +01:00
Houston (Bot)
d80e5fcf8e
[ci] release (#7681)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-18 16:14:39 +08:00
Bjorn Lu
d9f4126645
Revert netlify edge middleware docs (#7698) 2023-07-18 16:07:11 +08:00
Erika
cc0f81c040
fix(assets): Remove Node deps from index of assets (#7691) 2023-07-17 22:32:23 +02:00
Nate Moore
dd931a7806
Sitemap should only include page routes (#7656)
* fix(#7080): sitemap should only add trailing slash to pages

* fix(sitemap): only include pages in sitemap

* chore: add test

* chore: remove unused import

* docs: update readme
2023-07-17 15:29:56 -05:00
Emanuele Stoppa
4c93bd8154
feat(@astrojs/netlify): edge middleware support (#7632)
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
Co-authored-by: Yan Thomas <61414485+Yan-Thomas@users.noreply.github.com>
2023-07-17 15:53:10 +01:00
Emanuele Stoppa
cc8e9de881
fix: throw an error for incorrect configuration (#7680)
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
2023-07-17 14:35:29 +01:00
Alexander Niebuhr
6ec040761e
fix(@astrojs/cloudflare): SSR split file renaming misses ts endpoints (#7568)
* fix bug, where ts files where not renamed correctly

* try to make rename logic more robust

* remove log

* update tests

* update changeset

* cleanup

* fix lint

* debug windows tests

* fix windows support

* fix cloudflare directory code

* use EventContext type

* improve for loop

* change changeset

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

* change changeset

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

---------

Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
2023-07-17 09:12:41 -04:00
Bjorn Lu
1f0d0b5863
Fix vercel build error when passing includeFiles (#7677) 2023-07-17 20:57:27 +08:00
Bjorn Lu
1a6f833c40
Fix cloudflare runtime env var handling (#7679)
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2023-07-17 20:57:08 +08:00
Houston (Bot)
dc7ab8af65
[ci] release (#7658)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-14 16:16:31 -05:00
Nate Moore
57a5eff5ce
fix(#7654): exclude @vercel/nft (#7659) 2023-07-14 16:01:06 -05:00
Nate Moore
c258492b72
Sitemap should only exclude 404 and 500 pages (#7655)
* fix(#7472): sitemap should only exclude 404 and 500 pages

* chore: refactor logic, add test
2023-07-14 14:30:33 -05:00
Houston (Bot)
1f2d52bd7b
[ci] release (#7645)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-14 10:44:25 -04:00
Bjorn Lu
8ee94ffbd9
Remove weird changeset symbols (#7648) 2023-07-14 17:20:44 +08:00
Matthew Phillips
213e10991a
Fixes for redirects config (#7644)
* Update redirects static generation based on recs

Got some great recommendations on how to handle our HTML written
redirect code based on SEO best practices.

See https://github.com/withastro/roadmap/issues/466#issuecomment-1595940678

This implements them all.

* Fix for using the root path / as a redirect

Fixes https://github.com/withastro/astro/issues/7478

* Fix static redirects prefer over dynamic page

Fixes https://github.com/withastro/astro/issues/7581
2023-07-13 16:09:44 -04:00
Erika
af5827d4f7
fix(assets): Fix images not following EXIF rotation (#7637) 2023-07-13 21:38:57 +02:00
Alvin Bryan
4b82e55cf1
Allow SVGs when using Assets (#7643)
* Allow SVG files when using Assets

* Fixed TypeScript error

* fix: some small nits and add a test

* chore: changeset

---------

Co-authored-by: Princesseuh <princssdev@gmail.com>
2023-07-13 21:22:31 +02:00
Houston (Bot)
db4095d3f5
[ci] release (#7624)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-13 21:43:11 +08:00
Emanuele Stoppa
f21357b69d
feat(@astrojs/netlify): add build.split support (#7615)
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
2023-07-13 09:21:33 +01:00
Emanuele Stoppa
2ddf342626
fix(@astrojs/vercel): improve file detection (#7621) 2023-07-12 08:06:08 +01:00
Matthew Phillips
86e19c7cf8
Fixes Response not being cloneable by middleware (#7623) 2023-07-11 14:21:05 -04:00
Houston (Bot)
f0666b92c3
[ci] release (#7594)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-11 22:27:04 +08:00
Chris Swithinbank
831dfd1516
Filter out astro from peerDependencies in astro add (#7620) 2023-07-11 12:42:11 +02:00