Commit graph

2183 commits

Author SHA1 Message Date
Ben Holmes
630f8c8ef6
[Content collections] Fast getEntryBySlug() lookup (#6916)
* 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.

* refactor: add comment, move to virtual-mod

* chore: add jsdocs

* refactor: fiiiiine no more `??=`

* fix: ignore underscore files in lookup map

* chore: add unknowncollectionerror on bad file contents

---------

Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
2023-05-09 12:17:08 -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
Houston (Bot)
e54dcd5943
[ci] release (#7037)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-08 13:17:09 -04:00
Raul Melo
157357e1fb
fix middleware typing export (#7032)
* fix middleware typing export

* Update .changeset/new-seals-hear.md

---------

Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
2023-05-08 09:01:23 -04:00
Bjorn Lu
c009970333
Fix astro:assets SSR error (#7034) 2023-05-08 19:33:08 +08:00
Houston (Bot)
50bf66e4df
[ci] release (#7005)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-05 13:23:18 -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
Erika
1d4db68e64
fix: declare namespace so client-base.d.ts stays an ambient definition (#7009) 2023-05-05 16:20:37 +02:00
Waxer59
ad5c75447a
Fix partytown README (#7001)
* fix README

* add changeset
2023-05-05 09:52:41 +02:00
Houston (Bot)
170140083c
[ci] release (#6996)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-04 16:19:01 -04:00
Erika
71332cf969
fix: move service functions from astro/assets to astro/config so it can be imported (#6995)
* fix: move service functions from astro/assets to astro/config so people can import it

* chore: changeset
2023-05-04 15:57:23 -04:00
Houston (Bot)
51c8e7fe29
[ci] release (#6977)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-04 12:49:17 -04:00
Erika
818252acda
Add caching for optimized images (#6990) 2023-05-04 17:49:55 +02:00
Robin Neal
ca329bbcae
Generate unique ids within each React island (#6976) 2023-05-04 15:23:00 +01:00
Emanuele Stoppa
17c074b202
chore: update middleware changeset (#6986) 2023-05-04 08:03:52 -04:00
Arsh
80e3d4d3d0
feature: configuration for css inlining behavior (#6659)
* feature(inline stylesheets): implement as experimental

* test: rename css-inline -> css-import-as-inline

* test(content collections): add de-duplication of css

* test: add new suite for inlineStylesheets configuration

* fix(inline stylesheets): did not act on propagated styles

* hack(inline stylesheets testing): duplicate fixtures

Content collections reuses build data across multiple fixture.builds, even though a configuration change may have changed it.
Duplicating fixtures avoids usage of the stale cache.
https://cdn.discordapp.com/attachments/1039830843440504872/1097795182340092024/Screenshot_87_colored.png

* refactor(css plugin): reduce nesting

* optimization(css rendering): merge <style> tags

Chrome, but not Safari or Firefox, is slower to match rules when they are split across multiple files or style tags.
https://nolanlawson.com/2022/06/22/style-scoping-versus-shadow-dom-which-is-fastest/

Having the abiility to inline stylesheets opens us up to this optimization.
Ideally, it would extend to propagated styles, but that ended up being a rabbit hole.

* typedocs(inlineStylesheets config): ensure consistency

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

* chore(build internals): update comment

* correct minor mistake in test

* test(inline stylesheets): unique package names for duplicate fixtures

* refactor(css build plugin): maps -> records

* refactor(css build plugin): remove use of spread operator

---------

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-05-03 14:49:06 -04:00
Emanuele Stoppa
831b67cdb8
feat(astro): experimental middleware (#6721)
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-05-03 17:40:47 +01:00
Atila Fassina
ad907196cb
Sitemap: support SSR routes (#6534)
* feat(sitemap): support SSR generated routes

* feat(sitemap): add changeset for SSR support

* refactor: move logic to `astro:build:done`

* generate route to obey `trailingSlash` setting

* add logic to respect "directory" build format

* integration(sitemap): add unit test for ssr support
2023-05-03 12:19:45 -04:00
Bjorn Lu
cac4a321e8
Support <Code inline /> to output inline code (#6959)
* Support `<Code inline />` to output inline code

* Fix typo

* Fix typo again

* Remove expected error

---------

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2023-05-03 12:15:00 -04:00
Matthew Phillips
0883fd4875
Ensure multiple cookies set in dev result in multiple set-cookie headers (#6973)
* Ensure multiple cookies set in dev result in multiple set-cookie headers

* Adding a changeset

* Try connecting to localhost instead

* use localhost in the Host header

* Use 0.0.0.0

* localhost it is
2023-05-03 11:26:02 -04:00
Matthew Phillips
3326492b94
Implement scopedStyleStrategy (#6771)
* Implement scopedStyleStrategy

* Add changeset

* Update compiler

* Specify the eswalker version

* Update compiler

* Update .changeset/green-cups-hammer.md

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

* Update .changeset/green-cups-hammer.md

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

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

* Update .changeset/green-cups-hammer.md

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

---------

Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-05-03 11:16:03 -04:00
Bjorn Lu
49514e4ce4
Upgrade shiki to v0.14.1 (#6932)
* Upgrade shiki

* Update themes

* Update languages

* Simplify

* Fix compat for other remark code

* Update theme again

* Fix language gen

* Add changeset

* Fix code

* Update test theme colors

* Update changeset

* Fix test again
2023-05-03 11:07:57 -04:00
Houston (Bot)
297a1dae51
[ci] release (#6954)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-02 15:13:10 -04:00
Bjorn Lu
77270cc2cd
Avoid removing leading slash for build.assetsPrefix (#6969)
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2023-05-02 14:13:44 -04:00
Ben Holmes
b5482cee23
Fix: remove odd /1/ check on RSS canonicals (#6970)
* fix: remove odd `/1/` check on RSS canonicals

* chore: changeset
2023-05-02 13:48:44 -04:00
Matthew Phillips
b6797fc858
Update Solid ecosystem package logic to include packages with peerDep… (#6934)
* Update Solid ecosystem package logic to include packages with peerDep of Solid

* Remove solid as a noExternal

* Update the changeset
2023-05-02 13:23:28 -04:00
Bjorn Lu
72c6bf01fe
Fix content render imports flow (#6958) 2023-05-02 23:21:44 +08:00
Bjorn Lu
a8a319aef7
Fix astro-entry error on build with multiple JSX frameworks (#6967) 2023-05-02 23:18:34 +08:00
Erika
a695e44aed
fix(types): Fix getImage type requesting for a second parameter (#6961) 2023-05-02 14:23:37 +02:00
Erika
6063f56573
feat(vercel): Add support for image optimization API (#6845)
* feat(vercel): Add support for image optimization API

* chore: changeset

* feat: implement image service

* feat: dev service

* feat: full local service

* fix: move assets check to astro:config:done

* feat: update with new settings

* fix: remove unused param

* test: add tsets

* fix: rename to imageService

* docs: add docs

* Apply suggestions from code review

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

* docs(vercel): Add Added In mentions

---------

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-05-02 09:42:48 +02:00
Arsh
367e617761
Make prerendering decision based on PageBuildData instead of BuildInternals (#6956)
* read prerender flag from PageBuildData

* add changeset
2023-05-01 16:15:04 -04:00
Nate Moore
895fa07d8b
fix: inline process.env boolean values (0, 1, false, true) (#6910) 2023-05-01 10:51:47 -05:00
Erika
e5bd084c01
fix: fix sharp semver range to allow for 0.32.0 (#6952)
* fix: fix sharp semver range to allow for 0.3é20

* fix: revert back to 0.31.0
2023-05-01 17:32:50 +02:00
Houston (Bot)
d0cf3a2c01
[ci] release (#6924)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-01 10:58:03 -04:00
Chell
50975f2ea3
Fix slot tags uncleaned in HTML String (#6948)
* fix: slot regex

* add slot test

* change set

* add test
2023-05-01 10:49:23 -04:00
Erika
dc062f6695
Upgrade to version 1.0.0 of the language server (#6953) 2023-05-01 16:41:21 +02:00
Chris Swithinbank
a98df9374d
Show injected custom 404 route in dev (#6940)
* Add unit test for injected 404 routes

* Add fixture test for injected 404 routes

* Use any route pattern to find custom 404

* Fix frozen lockfile error

* Use `route` instead of `pattern` to match custom 404

Dynamic catch-all routes can match against `/404/` but will then error because they’re not actually designed to handle a param of `'404'`. Testing `route` instead excludes dynamic routes (because they’ll contain dynamic segments inside square brackets). Not sure if someone might _want_ to render the 404 via a dynamic route, but we already don’t support that, so this doesn’t change anything.

* Fix injected 404 fixture

* Add tests for `src/pages/404.html`

* Add changeset

* Fix lockfile

* And again
2023-05-01 10:37:07 -04:00
Matthew Phillips
c405cef647
Catch errors that occur within the stream in the Node adapter (#6935)
* Catch errors that occur within the stream in the Node adapter

* Adding a changeset

* Better error message on completely uncaught errors within the stream

* Update test
2023-05-01 10:08:18 -04:00
Matthew Phillips
649d70934e
Configure redoc to be noExternal (#6933) 2023-05-01 09:31:44 -04:00
Bjorn Lu
2dca81bf21
Update dependencies to remove peer dep warnings (#6930) 2023-04-28 21:21:47 +08:00
Bjorn Lu
ac57b5549f
Upgrade undici to v5.22.0 (#6929) 2023-04-28 21:13:49 +08:00
Yan Thomas
d11d185951
Add missing code language in Cloudflare README (#6925) 2023-04-28 14:37:26 +08:00
Erika
ebae1eaf87
feat(image): Update image service config to allow passing settings to the service (#6848) 2023-04-27 18:16:40 +02:00
Bjorn Lu
de5a25f4e9
Fix changeset publish (#6923) 2023-04-27 22:55:48 +08:00
Houston (Bot)
06c527330a
[ci] release (#6914)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-27 22:12:14 +08:00
Bjorn Lu
b89042553e
Fix tsconfig alias baseUrl handling for "." and ".." imports (#6920) 2023-04-27 18:30:17 +08:00
Bjorn Lu
465a1a5efe
Fix changeset version run (#6917) 2023-04-27 17:15:58 +08:00
Daniel
081b2402cf
esbuild respects vite.build.minify option (#6222)
* esbuild respects `vite.build.minify` option
* Docs update
---------
Co-authored-by: AirBorne04 <>
Co-authored-by: Yan Thomas <61414485+Yan-Thomas@users.noreply.github.com>
2023-04-27 10:11:05 +02:00
Phil Nash
4ea716e569
Adds extra elements to RSS items. (#6707) 2023-04-26 13:58:53 +01:00
Houston (Bot)
c6f1264586
[ci] release (#6863)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-25 22:48:36 +08:00
Bjorn Lu
edabf01b44
Upgrade to Vite 4.3 (#6877) 2023-04-25 22:04:45 +08:00
Bjorn Lu
0afff32741
Disable Vite optimizer for sync and config loading (#6902) 2023-04-25 20:54:41 +08:00
Bjorn Lu
b6154d2d57
Fix hoisted scripts path for linked package Astro components (#6872) 2023-04-21 10:42:23 +02:00
Nathaniel Blackburn
43230b2cac
Align adapter setup (#6874) 2023-04-19 09:36:46 +02:00
André Alves
4c7ba4da08
Fix Astro.params does not contain path parameter from URL with non-English characters (#6859) 2023-04-17 16:44:48 +02:00
jcdogo
1f2699461d
fix: astro island urls missing assetsPrefix in SSR mode (#6862)
Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com>
2023-04-17 08:35:48 +02:00
Houston (Bot)
763b7500e5
[ci] release (#6842)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-14 12:11:17 -04:00
Bjorn Lu
2e3125e180
Fix vercel edge private env vars (#6841) 2023-04-14 21:46:24 +08:00
Chris Swithinbank
00a2e1d7c7
Fix warning syntax in Vercel integration README (#6840) 2023-04-14 12:08:31 +02:00
Houston (Bot)
b105ccb9ca
[ci] release (#6835)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-13 14:41:56 -04:00
Bjorn Lu
8539eb1643
Support tsconfig aliases in CSS @import (#6816) 2023-04-13 22:11:21 +08:00
Erika
2511d58d58
feat(mdx): Add support for turning ![]() into <Image> (#6824) 2023-04-13 11:54:40 +02:00
Erika
948a6d7be0
fix(content): Remove unsupported file warning for images (#6825) 2023-04-13 11:54:26 +02:00
André Alves
3356023443
add validation for non-printable chars in CLI (#6682) 2023-04-12 15:30:09 -04:00
wulinsheng123
a9c22994e4
fix #6420 (#6544)
* fix #6420

* add test

* add test

* fix an error that parsed path

* fix path error when in Windows environment

* fix a path error

* update comment

---------

Co-authored-by: wuls <linsheng.wu@beantechs.com>
2023-04-12 14:26:53 -04:00
Houston (Bot)
b2254bd786
[ci] release (#6818)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-12 08:51:55 -04:00
Bjorn Lu
7653cf9e9f
Fix CSS chunking between multiple framework components (#6582)
* Fix CSS chunking between multiple framework components

* Better CSS dedupe handling

* Add more tests

* Update docs
2023-04-12 08:24:32 -04:00
Happydev
76dd53e3f6
Fix slot fallbacks unexpectedly showing up in some cases (#6819)
* test: add test fixture

* test: add test case

* test: revert unneeded changes in fixture

* fix

* chore: changeset
2023-04-12 08:23:14 -04:00
Erika
6c09ac03bf
Fix experimental.assets's Squoosh service not working on Netlify and Vercel SSR (#6765) 2023-04-12 10:45:35 +02:00
Ben Holmes
f882bc1636
Refactor content collection transforms (#6817)
* feat: json collection POC

* wip: add test json file

* refactor: rework content flag transforms

* refactor: simplify propagatedAsset check

* chore: remove JSON playground code

* chore: respect build sourcemap option

* deps: magic-string, source-map

* chore: formatting

* fix: add sourcemaps to MDX plugin

* chore: changeset

* deps: remove magic-string from mdx

* chore: remove unecessary MagicString
2023-04-11 13:44:39 -04:00
Houston (Bot)
b1d07bcf40
[ci] release (#6809)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-11 13:10:00 -04:00
Bjorn Lu
60c16db6ff
Fix check CLI fs load fallback behaviour (#6811) 2023-04-11 11:57:11 +08:00
amirhhashemi
c12ca5ece3
fix(error-overlay): force error overlay direction to be LTR (#6782) 2023-04-10 16:59:17 +02:00
Alper Doğan
99479e6b95
Optional Sizes prop on Picture component (#6773) 2023-04-10 14:09:02 +02:00
Houston (Bot)
a5601a3cd3
[ci] release (#6807)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-10 16:57:31 +08:00
André Alves
1e3873c04a
Fix no edge functions deployed to netlify (#6793) 2023-04-10 16:50:54 +08:00
Nathaniel Blackburn
84a4648884
Revert vercel env fix (#6776) 2023-04-10 16:40:29 +08:00
Houston (Bot)
d531239201
[ci] release (#6769)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-07 17:25:00 -04:00
Ben Holmes
7f74326b76
Fix: astro:server:setup middleware (#6781)
* Revert "Fix: stop executing `astro:server:setup` twice (#6693)"

This reverts commit c0b7864a41.

* fix: delay `astro:server:setup` to `configureServer`

* test: middleware from astro:server:setup

* chore: lock

* chore: changeset

* chore: remove minimal example change

* chore: revert minimal env change
2023-04-07 12:28:55 -04:00
Matthew Phillips
fa84f1a7d2
Support streaming inside of slots (#6775)
* Rename renderSlot to renderSlotToString for internal sync usage

* Support streaming inside of slots

* Fix lame lint warning

* Update compiler to fix test

* Up the wait

* Use compiler 1.3.1

* It should be exactly 3
2023-04-07 11:04:31 -04:00
Matthew Phillips
a98f6f418c
Prevent body head content injection in MDX when using layout (#6779) 2023-04-06 18:33:47 -04: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
Ben Holmes
9e88e0f23c
Fix: remove slug() from defineCollection() (#6774)
* fix: remove `slug()` from `defineCollection()`

* chore: changeset
2023-04-06 14:25:14 -04:00
Nate Moore
45bff6fccb
feat(prerender): support quoted true / false values and 0 / 1 (#6772) 2023-04-06 11:36:28 -05:00
Erika
52d7a4a011
Update client types to match Vite (#6770)
* fix(types): Update client types to match Vite's

* chore: changeset
2023-04-06 15:13:13 +02:00
Xetera
72fed684a3
Exporting ImageFunction from astro:content (#6766) 2023-04-06 13:58:34 +02:00
Houston (Bot)
29e7b82b8d
[ci] release (#6720)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-05 13:38:45 -04:00
Bjorn Lu
7116c021a3
Upgrade to Vite 4.2 (#6759) 2023-04-06 00:03:58 +08:00
Erika
8b88e4cf15
Show the actual error when there was an error while generating types (#6762) 2023-04-05 17:12:35 +02:00
Erika
a1108e0371
Move image() to be passed as part of schema (#6703)
* feat(images): Move image() to schema so we can do relative images easily instead of clumsily

* chore: changeset

* fix: apply feedback

* test: add more tests

* fix: properly infer type if a function is used

* feat(iamge): Add errors when using the old methods

* chore: update to minor

* feat(image): Move function shape to be experimental.asets only

* Update packages/astro/src/content/template/virtual-mod.mjs

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

---------

Co-authored-by: Ben Holmes <hey@bholmes.dev>
2023-04-05 15:40:05 +02:00
Bjorn Lu
ff04307863
Add build.assetsPrefix option for CDN support (#6714)
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-04-05 21:31:17 +08:00
Nathaniel Blackburn
26daba8d9f
@astrojs/vercel: Fix vercel analytics id not being provided (#6751)
* fix wrong environment variable being used

* added changeset
2023-04-05 09:23:40 -04:00
Bjorn Lu
489dd8d69c
Fix getViteConfig return type (#6753) 2023-04-05 09:06:00 -04:00
Augustine Kim
c7eb0d4310
Fix lit integration nested component rendering (#6752)
* Provide renderInfo to renderShadow

* Add test for rendering nested components

* Add changeset
2023-04-05 09:05:45 -04:00
Erika
4cc1bf61b8
fix(node): Fix malformed URLs crashing the server in certain cases (#6746) 2023-04-04 15:48:28 +02:00
André Alves
1ec1df1264
Fix #6618: sitemap urls generated without slash (#6658) 2023-04-04 21:13:49 +08:00
Erika
a1a4f45b51
fix(images): Simpler logic for collecting images in Markdown (#6744) 2023-04-04 10:21:13 +02:00
Erika
2f2e572e93
feat(image): Export more types and utilities for users to use (#6739) 2023-04-03 18:11:45 +02:00
Erika
4c347ab51e
fix(images): Return the proper content-type for the chosen format (#6741) 2023-04-03 18:11:32 +02:00
Ben Holmes
73fcc7627e
[Markdoc] Fix: Support render: null (#6723)
* fix: handle array of tree nodes

* test: render null in document node

* chore: lock

* refactor: consolidate render test logic

* chore: changeset
2023-04-03 11:27:51 -04:00