Commit graph

977 commits

Author SHA1 Message Date
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
Erika
d5f526b339
test: add test in the Node adapter for astro:assets (#7734) 2023-07-26 23:58:47 +02: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
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
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
Birk Skyum
0c9959704f
Bump vite to 4.4.6 (#7746) 2023-07-24 16:21:17 +08: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
Erika
471324b0a3
test: add setup for Vercel / Netlify tests (#7716)
Co-authored-by: Yan Thomas <61414485+Yan-Thomas@users.noreply.github.com>
2023-07-21 21:24:36 +02: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
Bjorn Lu
d8bae784b4
Fix organize-imports-cli with satisfies operator (#7727) 2023-07-20 20:47:36 +08: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
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
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
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
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
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
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
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
Josh Goldberg ✨
df49bbe7f1
feat: bumped typescript-eslint to v6 stable 🥳 (#7626) 2023-07-12 15:11:46 +08:00
Emanuele Stoppa
2ddf342626
fix(@astrojs/vercel): improve file detection (#7621) 2023-07-12 08:06:08 +01: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
Houston (Bot)
f224078a65
[ci] release (#7578)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-06 23:16:08 +08:00
Emanuele Stoppa
6e9c295799
feat: astro info command (#7432)
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-07-05 17:02:51 +01:00
Emanuele Stoppa
9e5fafa2b2
feat: vercel edge middleware support (#7532)
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-07-05 16:45:58 +01:00
Houston (Bot)
f820bb3f0b
[ci] release (#7559)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-05 14:48:04 +08:00
Josh Goldberg ✨
2fea174303
feat: use typescript-eslint@v6's reworked configs (#7425) 2023-07-03 20:59:43 +08:00
Houston (Bot)
fc6826ff76
[ci] release (#7526)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-03 20:53:45 +08:00
Nate Moore
cdc28326cf
Update style attribute behavior for better object support (#7542) 2023-07-03 15:59:35 +08:00
金成
1170877b51
Fix multiple create-astro registry issues (#7539)
* fix: getVersion Error when registry ends with '/'

* Update .changeset/old-seahorses-fold.md

* Update .changeset/old-seahorses-fold.md

* refactor: cleanup registry logic

* chore: update changeset

* fix(create-astro): update registry logic to rely on `fetch`

* chore: update changeset

* chore: update lockfile

* Update old-seahorses-fold.md

---------

Co-authored-by: jincheng32537 <jincheng32537@hundsun.com>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Nate Moore <nate@astro.build>
2023-06-30 17:24:36 -05:00
Alexander Niebuhr
1a59185ddd
feature(astrojs/cloudflare): add support for splitted SSR bundles (#7464)
* 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>
2023-06-30 10:09:21 +01:00
Matthew Phillips
154af8f5ea
Split support in the Vercel Serverless adapter (#7514)
* start of vercel split support

* Split Mode with the Vercel Adapter

* Write routes into the config.json

* Add a changeset

* Add docs

* Better changeset
2023-06-29 16:18:28 -04:00
Houston (Bot)
56f1b1229c
[ci] release (#7496)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-29 17:14:24 +08:00
Ben Holmes
fb7af55114
feat: New Markdoc render API (#7468)
* feat: URL support for markdoc tags

* refactor: move to separate file

* feat: support URL for markdoc nodes

* feat: support `extends` with URL

* chore: changeset

* fix: bad AstroMarkdocConfig type

* fix: experimentalAssetsConfig missing

* fix: correctly merge runtime config

* chore: formatting

* deps: astro internal helpers

* feat: component() util, new astro bundling

* chore: remove now unused code

* todo: missing hint

* fix: import.meta.url type error

* wip: test nested collection calls

* feat: resolve paths from project root

* refactor: move getHeadings() to runtime module

* fix: broken collectHeadings

* test: update fixture configs

* chore: remove suggestions. Out of scope!

* fix: throw outside esbuild

* refactor: shuffle imports around

* Revert "wip: test nested collection calls"

This reverts commit 9354b3cf9222fd65b974b0cddf4e7a95ab3cd2b2.

* chore: revert back to mjs config

* chore: add jsdocs to stringified helpers

* fix: restore updated changeset

---------

Co-authored-by: bholmesdev <bholmesdev@gmail.com>
2023-06-27 15:05:17 -04:00
Bjorn Lu
a3928016cc
Fix CSS error line offset (#7491) 2023-06-27 21:16:43 +08:00
Houston (Bot)
da56a005d9
[ci] release (#7449)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-27 08:42:46 -04:00
Reuben Tier
f75b354715
Bump dependency versions (#7477) 2023-06-26 11:38:16 +08:00
Bjorn Lu
8e3cb20b5c
Format markdown files (#7439)
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
2023-06-26 11:34:13 +08:00
Willow (GHOST)
6e7f38dd79
Svelte Four (#7454) 2023-06-25 22:33:00 +08:00
Bjorn Lu
2b75399520
Remove slash package (#7440) 2023-06-23 16:48:05 +08:00
Houston (Bot)
38b104049a
[ci] release (#7434)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-22 10:06:15 -04:00
Wooseop Kim
9739adc91f
fix: encode spaces when generating srcset (#7340) 2023-06-22 15:56:41 +08:00
Ben Holmes
3f9f5c117e
fix: pnpm failure on create-astro (#7435)
* fix: use which-pm-runs instead of preferred-pm

* deps: remove preferred-pm

* chore: move which-pm-runs to regular deps

* chore: changeset
2023-06-21 16:02:20 -04:00
Bjorn Lu
f275d058fc
Update safe dependencies (#7430) 2023-06-21 21:09:49 +08:00
Emanuele Stoppa
459b5bd05f
feat: SSR split mode (#7220)
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-06-21 13:32:20 +01:00
Emanuele Stoppa
8e2923cc62
feat: expose locals to render api and from requests in dev mode (#7385)
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
Co-authored-by: wrapperup <wrapperup4@gmail.com>
2023-06-21 13:07:16 +01:00
Houston (Bot)
1589eaabcd
[ci] release (#7428)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-20 10:32:26 -04:00
Houston (Bot)
f87680f6df
[ci] release (#7390)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-19 11:36:45 -04:00
Nate Moore
d2020c29cf
Fix injected route edge case (#7399)
* fix(#7397): update astro page entryname logic

* chore: add changeset

* fix: update printed log for injected routes

* fix: ensure /index is included

* test: add custom-404-pkg test

* chore: cleanup
2023-06-16 15:58:07 -05:00
Tom
3f1cb6b1a0
@astrojs/tailwind: simplify, upgrade & fix support for ts config file (#6724)
Co-authored-by: bluwy <bjornlu.dev@gmail.com>
2023-06-14 17:55:37 +08:00
Houston (Bot)
06315a1fde
[ci] release (#7368)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-13 16:55:58 -04:00
beynar
6d8aa4b61f
[Cloudflare integration] Expose cf metadata and Cloudflare caches API (#7386)
* Add cf and cache properties to runtime

* add changeset

* reorder import

* fix types and add tests

* fix package name

* test
2023-06-13 16:34:44 -04:00
Matthew Phillips
0986a44ddd
Upgrade lit deps (#7373)
* Upgrade lit deps

* Add changeset

* Downgrade peer dep

* Upgrade lockfile

* add client dep
2023-06-12 15:52:13 -04:00
Bjorn Lu
718cebd526
Update example dependencies versions with a script (#7367) 2023-06-12 20:48:04 +08:00
Ben Holmes
a30f2f3de4
Fix Markdoc cloudflare errors (#7351)
* fix: move `node:` libs out of utils

* fix: node -> default

* chore: remove kleur from markdoc ex (why was this there??)

* chore: lock

* chore: changeset
2023-06-10 13:43:26 -04:00
Ben Holmes
491c2db424
Fix: better collection entry devalue error (#7341)
* feat: add clear error for devalue parse

* refactor: create error data entry

* deps: up devalue

* chore: changeset
2023-06-09 18:15:11 -04:00
Ben Holmes
f4f9524656
chore: bump pnpm to 8.6.0, lock to 6.1 (#7350) 2023-06-09 16:45:14 -04:00
Happydev
bc7c164bc3
Do not silence runtime MDX errors (#7089)
* test: add fixture

* chore: remove unneeded files in fixture

* test: update test mdx filfe

* test: add test case

* mark component as mdx

* add error builder utility

* throw error when it comes from an MDX component

* chore: update lock file

* Add comment to refactor later

* apply review

* add missing comma
2023-06-09 20:21:32 +00:00
Houston (Bot)
e138f66344
[ci] release (#7318)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-09 08:40:17 +03:00
Caleb Williams
1430ffb473
Fixes an issue where create Astro doesn't respect custom npm registries (#7326)
* Fixes an issue where create Astro doesn't respect custom npm registries

* chore: fix pnpm-lock

* chore: update lockfile

---------

Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2023-06-09 07:56:29 +03:00
wackbyte
e47e53dc0c
Update to svelte2tsx 0.6.15 and vite-plugin-svelte 2.4.1 (#7314) 2023-06-06 18:07:43 -05:00
Houston (Bot)
8a029d9889
[ci] release (#7312)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-06 17:24:57 -04:00
Ben Holmes
8034edd9ec
Fix [Object AsyncGenerator] logging for Markdoc components (#7307)
* Revert "Bug 6672 (#7062)"

This reverts commit cf621340b0.

* chore: remove unused test

* chore: changeset
2023-06-06 13:48:10 -04:00
Alex Sherwin
4929332c32
#7226 - fixes NodeJS adapter for multiple set-cookie headers (and other header issues) (#7227)
* Utilizes the new standard WebAPI Fetch Headers.getSetCookie() function
to safely handle multiple set-cookie headers when converting from a
WebAPI Response to a NodeJS ServerResponse

Modifies the existing nodeMiddleware logic which first set AstroCookies
on ServerResponse.setHeader(...) and then called
ServerResponse.writeHead(status, Response.headers) which means any that
if the WebAPI Response had any set-cookie headers on it, they would
replace anything from AstroCookies.

The new logic delegates appending AstroCookie values onto the WebAPI
Response Headers object, so that a single unified function safely
converts the WebAPI Response Headers into a NodeJS compatible
OutgoingHttpHeaders object utilizing the new standard
Headers.getSetCookie() function provided by the undici WebAPI polyfills.

Plus extensive test coverage.

* #7226 - changeset for NodeJS adapter set-cookie fix

* fixing all double quotes to single quotes

---------

Co-authored-by: Alex Sherwin <alex.sherwin@acadia.inc>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2023-06-06 10:09:16 -05:00
Matthew Phillips
57f8d14c02
Redirects (#7067)
* 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>
2023-06-05 09:03:20 -04:00
Bjorn Lu
6721b1f699
Run example check in parallel with 5 at most (#7275) 2023-06-02 21:14:44 +08:00
Ben Holmes
339529fc82
Markdoc asset bleed, second try (#7185)
* Revert "revert: markdoc asset bleed (#7178)"

This reverts commit 57e65d247f.

* fix: missing result param on `renderUniqueStylesheet`

* test: bundled styles (fails!)

* fix: use `type: 'external'` for links

* fix: split Astro components from markdoc config

* test: style bleed (it fails...)

* chore: remove unused util

* fix: revert entry change

* Stop traversing the graph when you encounter a propagated asset

* chore: cleanup unused `entry` prop

* refactor: add isPropagatedAssetsMod check

* chore: remove unused import

* chore: changeset

* Normalize path using vite

* Update packages/integrations/markdoc/src/index.ts

Co-authored-by: Ben Holmes <hey@bholmes.dev>

---------

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: bholmesdev <bholmesdev@gmail.com>
Co-authored-by: Matthew Phillips <matthew@matthewphillips.info>
2023-05-31 19:18:07 -04:00
Ben Holmes
290e344dee
Fix out-of-date example dependencies (#7248)
* revert changeset patch

* deps: bump astro across examples

* deps: bump @astrojs packages across examples

* deps: bump @astrojs/markdoc
2023-05-30 19:51:09 -04:00
Houston (Bot)
ba865f5d64
[ci] release (#7190)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-30 16:53:55 -04:00
Ben Holmes
bef3a75dbc
Markdoc - remove $entry variable (#7244)
* refactor: remove entry prop from `getRenderModule()`

* refactor: remove `$entry` from markdoc

* test: update entry-prop -> variables test

* refactor: unify `getEntryConfigByExt`

* chore: clean up shared content / data get logic

* docs: update `$entry` recommendation

* chore: rename entry-prop -> variables

* chore: changeset

* chore: missed a spot
2023-05-30 16:18:20 -04:00
wulinsheng123
cf621340b0
Bug 6672 (#7062)
* fix miss a head when the templaterender has a promise

* fix

* add some test

* test files move to md directory

* fix add

* delect file

---------

Co-authored-by: wuls <linsheng.wu@beantechs.com>
2023-05-30 08:05:48 -04:00
André Alves
bf63f615fc
Add global crypto to @astrojs/webapi (#6981)
* add crypto to be polyfilled

* chore: changeset

* chore: update deps for node types

---------

Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com>
Co-authored-by: Princesseuh <princssdev@gmail.com>
2023-05-26 15:02:35 +02:00
Ben Holmes
184870e2e2
deps: bump @babel/core and @babel/types (#7214) 2023-05-25 13:30:03 -04:00
Ben Holmes
16b8364119
Markdoc - improve syntax highlighting support (#7209)
* feat: prism and shiki support, with better exports!

* chore: update tests

* chore: fix lock

* chore: add prism test

* chore: remove `async` from prism

* docs: update syntax highlight readme

* chore: changeset

* edit: remove `await` from prism docs

* chore: update old changest with new shiki instructions

* fix: add trailing newline on ts-expect-error

* refactor: resolve promises internally

* docs: remove `await` from shiki examples
2023-05-25 11:35:07 -04:00
Bjorn Lu
ea16570b1e
Add MDX optimize option (#7151)
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-05-25 19:43:29 +08:00
Ben Holmes
1efaef6be0
Markdoc - Shiki (#7187)
* chore: remove unused util

* chore: changeset

* deps: shiki

* wip: first stab at shiki markdoc config

* feat: get shiki working!

* refactor: return HTML string directly from transform

* chore: move shiki to markdoc dev dep

* refactor: use async cache with clear docs on why

* test: transform units with Shiki config options

* refactor: switch to `extends` model

* refactor: nodes/ -> extensions/

* feat: raise friendly error for Promise extensions

* docs: README

* chore: lint

* chore: dead file

* chore: lowercase for fuzzy find please

* fix: bad ctx spread

* chore: clean up cache, add shiki imp error

* chore: add shiki to optional peer deps

* chore: hoist those consts

* docs: more explicit "install shiki now please"

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

* oops bad find and replace

* chore: update changeset

* nit: period haunts me

---------

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-05-24 16:52:22 -04:00
Bjorn Lu
27c6e01826
Remove @mdx-js/rollup dependency (#7191) 2023-05-24 17:02:04 +08:00
Bjorn Lu
4ce8bf7c62
Make vite-plugin-content-virtual-mod run getEntrySlug 10 at a time (#7125) 2023-05-23 21:54:59 +08:00
Happydev
8f418d13c5
fix(hybrid-output): no matched route when using getStaticPaths (#7150)
* `isPrenderDefault` ---> `isPrerenderDefault`

* test: add test fixture

* test: add hybrid getStaticPaths tests

* try fix in ci

* bring back edit lost on merge conflict fix

* back static paths guard

* move function to new file to avoid bundling issues

* remove unsued import

* debugging cleanup

* chore: update fixture's package.json

* cleanup test

* small test refactoring

* `status.ts` --> `metadata.ts`

* smol refactor

* chore: changeset

* just return the prerender metadata

* refactor tests

* chore: update lock file
2023-05-22 12:58:03 +00:00
Bjorn Lu
2b9a25beaf
Fix smoke test markdoc CI (#7131) 2023-05-19 19:19:34 +08:00
Houston (Bot)
31cbf4357e
[ci] release (#7090)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-18 12:31:59 -04:00
Johannes Spohr
e186ecc5e2
Parallelize rendering of sibling components to avoid async waterfalls (#7071)
* Parallelize rendering of sibling components to avoid async waterfalls

* Catch and rethrow errors when eagerly rendering children

* Catch `Response` in rendering stage and throw error

* Add changeset

* Fix test error message

* Improve unit tests

* Start async generators in non-buffered mode, and only start buffering once a component doesn't resolve immediatly

* Add more documentation
2023-05-18 09:54:23 -04:00
Ben Holmes
c6d7ebefdd
Data collections and references (#6850)
* feat: add generated lookup-map

* feat: wire up fast getEntryBySlug() lookup

* fix: consider frontmatter slugs

* chore: changeset

* chore: lint no-shadow

* fix: revert bad rootRelativePath change

* chore: better var name

* refactor: generated `.json` to in-memory map

* chore: removed unneeded await

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

* chore: removed unneeded await

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

* Revert "chore: removed unneeded await"

This reverts commit 1b0a8b00c2.

* fix: bad `GetEntryImport` type

* chore: remove unused variable

* refactor: for -> Promise.all

* refactor: replace duplicate parseSlug

* refactor: add cache layer

* Revert "refactor: add cache layer"

This reverts commit 1c3bfdc6b3.

* feat: json collection POC

* wip: add test json file

* wip: playing with api ideas

* refactor: extract getCollectionName

* feat: add defineDataCollection

* refactor: variable destructure

* wip: basic data entry pipeline

* chore: revert fixture playing

* wip: basic entry array parser

* feat: basic data type gen

* chore: add with-data playground

* feat: add error when `defineDataCollection()` isn't used

* fix: missing error message

* feat: data collections are here!

* wip: play with data query APIs

* feat: reference() util!

* fix: Markdoc `$entry` variable

* play: add reference util with markdoc

* chore: delete console logs

* feat: `src/data/`!

* feat: reference() errors

* fix: handle hoisted schema parse errors

* fix: reload config and invalid on collection changes

* feat: separate maps for content and data entries

* feat: new `reference()` API that fixes type inference

* feat: support `defineCollection()` for data config

* fix: defineCollection `type` inferenenceπinference

* chore: lock

* feat: getCollection() for everything!

* feat: get full entry access from reference()

* chore: changeset

* wip: type error on acorn?

* chore: lint

* chore: add slugger to data ID processing

* chore: astro/zod -> zod

* chore: example version

* chore: remove slugifier from data id

* chore: remove dead getDataCollection

* chore: remove dead defineDataCollection

* fix: bad collection import

* chore: lock

* feat: add data collections to lookup map

* refactor: stop resolving data from reference

* feat: introduce getEntry and new reference()

* fix: update config loader

* fix: reference() type

* feat: test self references (they work 🎉)

* fix: use `slug` for content references

* fix: bad getEntry content type

* chroe: remove console logs

* fix: strict null checks on with-data

* feat: add getEntries for ref arrays

* chore: fix type hints for reference strings

* chore: change to type never for clarity

* play: try getEntries

* Return to "everything goes in `src/content/`

This reverts commit cc637ec6db4fc23afab585df5f240b7f7c0abc8a.

* fix: remove old function

* chore: update to AstroErrors

* chore: remove unused fixture files

* play: names

* deps: js-yaml

* feat: data collection YAML with error handling

* refactor: remove console log

* refactor: code cleanup

* fix: allow mixed content to pass through glob imports

* chore: move lookupMap util to virtual-mod

* refactor: new lookupMap logic, better errors

* chore: change MixedContent title

* refactor: remove unneeded try / catch

* fix: use `ws.send` for type gen errors

* fix: bubble `ws.send` errors from astro sync

* refactor: revert verbose astroContentCollectionEntry

* fix: bad with-data package name

* fix: bad virtual mod flag

* chore: remove with-data playground

* test: data collection authors

* test: translations data collection

* fix: add `.yml` support

* refactor: mix in `.yaml` just for fun

* refactor: i18n -> translations

* chore: content-collection-references fixture

* chore: bad lockfile

* fix: bad ContentLookupMap import

* chore: revert back to astroContentCollectionEntry

* test: collection references

* fix: bad error code override

* chore: remove unused asset

* test: sync errors

* chore: remove stray console log

* chore: lock

* chore: revert with-markdoc changes

* chore: doc error states, remove bad merge code

* chore: remove bad `as any`

* chore: lint

* chore: inline ContentLookupMap comments

* chore: settings -> config

* fix: put back `defineCollection()`

* fix: entry.slug for get content collection

* chore: update get-entry-type tests

* docs: totally shorten "missing a `type`"

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

* docs: truncate share a `schema`

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

* chore: add `test:unit` and `test:unit:match`to base

* chore:  update changeset

* refactor: cleanup runtime types and inline comments

* nit: [0] instead of shift()

* refactor: `getRelativeEntryPath()` util

* chore: capitalized Collections for test:match

* nit: ?? viteId on split

* nit: separate Params obj

* chore: add try / catch on readFile

* nit: `const data`

* chore: clean up data collection exceptions

* nit: `?? ''` for search params

* chore: remove TODO on hoisted error

---------

Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-05-17 11:36:27 -04:00
Matthew Phillips
3d525efc95
Prevent removal of nested slots within islands (#7093)
* Prevent removal of nested slots within islands

* Fix build errors
2023-05-17 10:18:04 -04:00
wulinsheng123
763ff2d1e4
HTML minification (#6706)
* TDD pattern development

* add compact property when the user run pnpm run build

* add minification for pro

* fix yaml file collision

* fix yaml collision

* fix pageage file

* optimize unit test

* fix revert code

* fix comment

* update yaml

* fix default value

* add test for dev

* Update packages/astro/test/astro-minification-html.test.js

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

* Update packages/astro/test/astro-minification-html.test.js

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

* Update packages/astro/test/astro-minification-html.test.js

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

* Update packages/astro/test/astro-minification-html.test.js

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

* Update packages/astro/test/astro-minification-html.test.js

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

* Update the docs to reflect it's opt-in

* Add tests for SSR

* Document how the tests remove the doctype line

* Expand on the changeset

* rename for slice -100

* Updates based on PR comments

* optimize description

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

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

---------

Co-authored-by: wuls <linsheng.wu@beantechs.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Matthew Phillips <matthew@matthewphillips.info>
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-05-17 09:26:49 -04:00
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
Ben Holmes
fb84622af0
[Markdoc] headings and heading IDs (#7095)
* deps: markdown-remark

* wip: heading-ids function

* chore: add `@astrojs/markdoc` to external

* feat: `headings` support

* fix: allow `render` config on headings

* fix: nonexistent `userConfig`

* test: headings, toc, astro component render

* docs: README

* chore: changeset

* refactor: expose Markdoc helpers from runtime

* fix: bad named exports (commonjsssss)

* refactor: defaultNodes -> nodes

* deps: github-slugger

* fix: reset slugger cache on each render

* fix: bad astroNodes import

* docs: explain headingSlugger export

* docs: add back double stringify comment

* chore: bump to minor for internal exports change
2023-05-17 09:13:10 -04:00
Bjorn Lu
73ec6f6c16
Implement custom client directives (#7074)
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-05-17 20:51:27 +08:00
Bjorn Lu
2994bc52d3
Build edge/worker runtime with webworker ssr target (#7101) 2023-05-17 15:44:20 +08:00
Houston (Bot)
babe7700a2
[ci] update lockfile (#7075)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2023-05-16 09:32:18 -04:00
Johannes Spohr
2a1fa09b31
Add workerd and worker to cloudflare adapter bundling (#7092) 2023-05-16 20:00:29 +08:00
Houston (Bot)
dad5e2e513
[ci] update lockfile (#7054)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2023-05-11 14:14:41 -04:00
Craig Jennings
c87d42e766
fix: don't require 'paths' object in tsconfig to alias paths (#7000) 2023-05-11 17:08:16 +08:00
Houston (Bot)
18d0632911
[ci] update lockfile (#7018)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2023-05-09 16:29:35 -04:00
Reuben Tier
1b90a7a5d5
Fix generation for routes defined using getStaticPaths (#7029)
* Fix static site dynamic routes for sitemap integration

* Add changeset

* Update pnpm-lock

* Remove console.log
2023-05-08 16:12:41 -04:00
Emanuele Stoppa
e9f0dd9b47
fix(middleware): emit warning if next is called and nothing is returned (#7010)
* fix(middleware): emit warning if `next` is called and nothing is returned

* chore: add test case

* chore: changeset

* chore: restore code, ooops!

* chore: change logic

* change namespace
2023-05-05 13:20:33 -04:00
Houston (Bot)
890c8b3ea7
[ci] update lockfile (#7008)
* [ci] update lockfile

* Fix lint warnings

---------

Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2023-05-05 11:21:49 -04:00
Bjorn Lu
5182689086
Update template deps to latest (#7002) 2023-05-05 19:09:38 +08:00