0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2025-03-10 23:01:26 -05:00

[ci] release (alpha) (#11787)

* [ci] release (alpha)

* Update packages/astro/CHANGELOG.md

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

* links to existing experimental docs instead of ones that don't exist yet!

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
This commit is contained in:
Houston (Bot) 2024-08-23 10:46:18 -07:00 committed by GitHub
parent 7c0ccfc269
commit 5966accdc1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
49 changed files with 338 additions and 112 deletions

View file

@ -32,15 +32,30 @@
"@astrojs/upgrade": "0.3.1" "@astrojs/upgrade": "0.3.1"
}, },
"changesets": [ "changesets": [
"blue-boats-relax",
"chatty-teachers-sit", "chatty-teachers-sit",
"eighty-boxes-applaud",
"fair-rats-fail",
"healthy-ads-scream",
"itchy-toys-march",
"long-months-burn",
"many-garlics-lick",
"mighty-trees-teach", "mighty-trees-teach",
"modern-bears-deny",
"new-pillows-kick", "new-pillows-kick",
"odd-donuts-impress",
"perfect-fans-fly",
"poor-frogs-dream", "poor-frogs-dream",
"quick-ads-exercise", "quick-ads-exercise",
"selfish-impalas-grin",
"small-ties-sort", "small-ties-sort",
"smart-comics-doubt", "smart-comics-doubt",
"smooth-melons-cough",
"spicy-houses-fry", "spicy-houses-fry",
"spotty-garlics-cheat",
"ten-students-repair", "ten-students-repair",
"weak-dancers-beam" "tiny-lamps-lick",
"weak-dancers-beam",
"weak-masks-do"
] ]
} }

View file

@ -11,6 +11,6 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"astro": "^5.0.0-alpha.0" "astro": "^5.0.0-alpha.1"
} }
} }

View file

@ -11,9 +11,9 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/mdx": "^4.0.0-alpha.0", "@astrojs/mdx": "^4.0.0-alpha.1",
"@astrojs/rss": "^4.0.7", "@astrojs/rss": "^4.0.7",
"@astrojs/sitemap": "^3.1.6", "@astrojs/sitemap": "^3.1.6",
"astro": "^5.0.0-alpha.0" "astro": "^5.0.0-alpha.1"
} }
} }

View file

@ -15,7 +15,7 @@
], ],
"scripts": {}, "scripts": {},
"devDependencies": { "devDependencies": {
"astro": "^5.0.0-alpha.0" "astro": "^5.0.0-alpha.1"
}, },
"peerDependencies": { "peerDependencies": {
"astro": "^4.0.0" "astro": "^4.0.0"

View file

@ -12,7 +12,7 @@
"test": "vitest run" "test": "vitest run"
}, },
"dependencies": { "dependencies": {
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"@astrojs/react": "^3.6.2", "@astrojs/react": "^3.6.2",
"react": "^18.3.1", "react": "^18.3.1",
"react-dom": "^18.3.1", "react-dom": "^18.3.1",

View file

@ -14,6 +14,6 @@
"@astrojs/alpinejs": "^0.4.0", "@astrojs/alpinejs": "^0.4.0",
"@types/alpinejs": "^3.13.10", "@types/alpinejs": "^3.13.10",
"alpinejs": "^3.14.1", "alpinejs": "^3.14.1",
"astro": "^5.0.0-alpha.0" "astro": "^5.0.0-alpha.1"
} }
} }

View file

@ -18,7 +18,7 @@
"@astrojs/vue": "^5.0.0-alpha.0", "@astrojs/vue": "^5.0.0-alpha.0",
"@types/react": "^18.3.3", "@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0", "@types/react-dom": "^18.3.0",
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"preact": "^10.23.2", "preact": "^10.23.2",
"react": "^18.3.1", "react": "^18.3.1",
"react-dom": "^18.3.1", "react-dom": "^18.3.1",

View file

@ -13,7 +13,7 @@
"dependencies": { "dependencies": {
"@astrojs/preact": "^3.5.1", "@astrojs/preact": "^3.5.1",
"@preact/signals": "^1.3.0", "@preact/signals": "^1.3.0",
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"preact": "^10.23.2" "preact": "^10.23.2"
} }
} }

View file

@ -14,7 +14,7 @@
"@astrojs/react": "^3.6.2", "@astrojs/react": "^3.6.2",
"@types/react": "^18.3.3", "@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0", "@types/react-dom": "^18.3.0",
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"react": "^18.3.1", "react": "^18.3.1",
"react-dom": "^18.3.1" "react-dom": "^18.3.1"
} }

View file

@ -12,7 +12,7 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/solid-js": "^4.4.1", "@astrojs/solid-js": "^4.4.1",
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"solid-js": "^1.8.21" "solid-js": "^1.8.21"
} }
} }

View file

@ -12,7 +12,7 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/svelte": "^6.0.0-alpha.0", "@astrojs/svelte": "^6.0.0-alpha.0",
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"svelte": "^4.2.18" "svelte": "^4.2.18"
} }
} }

View file

@ -12,7 +12,7 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/vue": "^5.0.0-alpha.0", "@astrojs/vue": "^5.0.0-alpha.0",
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"vue": "^3.4.38" "vue": "^3.4.38"
} }
} }

View file

@ -11,7 +11,7 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/node": "^9.0.0-alpha.0", "@astrojs/node": "^9.0.0-alpha.1",
"astro": "^5.0.0-alpha.0" "astro": "^5.0.0-alpha.1"
} }
} }

View file

@ -15,7 +15,7 @@
], ],
"scripts": {}, "scripts": {},
"devDependencies": { "devDependencies": {
"astro": "^5.0.0-alpha.0" "astro": "^5.0.0-alpha.1"
}, },
"peerDependencies": { "peerDependencies": {
"astro": "^4.0.0" "astro": "^4.0.0"

View file

@ -12,8 +12,8 @@
"server": "node dist/server/entry.mjs" "server": "node dist/server/entry.mjs"
}, },
"dependencies": { "dependencies": {
"@astrojs/node": "^9.0.0-alpha.0", "@astrojs/node": "^9.0.0-alpha.1",
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"html-minifier": "^4.0.0" "html-minifier": "^4.0.0"
}, },
"devDependencies": { "devDependencies": {

View file

@ -11,6 +11,6 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"astro": "^5.0.0-alpha.0" "astro": "^5.0.0-alpha.1"
} }
} }

View file

@ -11,6 +11,6 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"astro": "^5.0.0-alpha.0" "astro": "^5.0.0-alpha.1"
} }
} }

View file

@ -11,6 +11,6 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"astro": "^5.0.0-alpha.0" "astro": "^5.0.0-alpha.1"
} }
} }

View file

@ -10,14 +10,14 @@
"astro": "astro" "astro": "astro"
}, },
"devDependencies": { "devDependencies": {
"@astrojs/node": "^9.0.0-alpha.0", "@astrojs/node": "^9.0.0-alpha.1",
"@astrojs/react": "^3.6.2", "@astrojs/react": "^3.6.2",
"@astrojs/tailwind": "^6.0.0-alpha.0", "@astrojs/tailwind": "^6.0.0-alpha.0",
"@fortawesome/fontawesome-free": "^6.6.0", "@fortawesome/fontawesome-free": "^6.6.0",
"@tailwindcss/forms": "^0.5.7", "@tailwindcss/forms": "^0.5.7",
"@types/react": "^18.3.3", "@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0", "@types/react-dom": "^18.3.0",
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"postcss": "^8.4.41", "postcss": "^8.4.41",
"react": "^18.3.1", "react": "^18.3.1",
"react-dom": "^18.3.1", "react-dom": "^18.3.1",

View file

@ -12,9 +12,9 @@
"server": "node dist/server/entry.mjs" "server": "node dist/server/entry.mjs"
}, },
"dependencies": { "dependencies": {
"@astrojs/node": "^9.0.0-alpha.0", "@astrojs/node": "^9.0.0-alpha.1",
"@astrojs/svelte": "^6.0.0-alpha.0", "@astrojs/svelte": "^6.0.0-alpha.0",
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"svelte": "^4.2.18" "svelte": "^4.2.18"
} }
} }

View file

@ -10,7 +10,7 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"sass": "^1.77.8", "sass": "^1.77.8",
"sharp": "^0.33.3" "sharp": "^0.33.3"
} }

View file

@ -15,6 +15,6 @@
"./app": "./dist/app.js" "./app": "./dist/app.js"
}, },
"devDependencies": { "devDependencies": {
"astro": "^5.0.0-alpha.0" "astro": "^5.0.0-alpha.1"
} }
} }

View file

@ -11,7 +11,7 @@
}, },
"devDependencies": { "devDependencies": {
"@astrojs/tailwind": "^6.0.0-alpha.0", "@astrojs/tailwind": "^6.0.0-alpha.0",
"@astrojs/node": "^9.0.0-alpha.0", "@astrojs/node": "^9.0.0-alpha.1",
"astro": "^5.0.0-alpha.0" "astro": "^5.0.0-alpha.1"
} }
} }

View file

@ -12,6 +12,6 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/markdoc": "^1.0.0-alpha.0", "@astrojs/markdoc": "^1.0.0-alpha.0",
"astro": "^5.0.0-alpha.0" "astro": "^5.0.0-alpha.1"
} }
} }

View file

@ -12,7 +12,7 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/markdown-remark": "^6.0.0-alpha.0", "@astrojs/markdown-remark": "^6.0.0-alpha.0",
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"hast-util-select": "^6.0.2", "hast-util-select": "^6.0.2",
"rehype-autolink-headings": "^7.1.0", "rehype-autolink-headings": "^7.1.0",
"rehype-slug": "^6.0.0", "rehype-slug": "^6.0.0",

View file

@ -11,6 +11,6 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"astro": "^5.0.0-alpha.0" "astro": "^5.0.0-alpha.1"
} }
} }

View file

@ -11,9 +11,9 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/mdx": "^4.0.0-alpha.0", "@astrojs/mdx": "^4.0.0-alpha.1",
"@astrojs/preact": "^3.5.1", "@astrojs/preact": "^3.5.1",
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"preact": "^10.23.2" "preact": "^10.23.2"
} }
} }

View file

@ -13,7 +13,7 @@
"dependencies": { "dependencies": {
"@astrojs/preact": "^3.5.1", "@astrojs/preact": "^3.5.1",
"@nanostores/preact": "^0.5.2", "@nanostores/preact": "^0.5.2",
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"nanostores": "^0.11.2", "nanostores": "^0.11.2",
"preact": "^10.23.2" "preact": "^10.23.2"
} }

View file

@ -11,10 +11,10 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/mdx": "^4.0.0-alpha.0", "@astrojs/mdx": "^4.0.0-alpha.1",
"@astrojs/tailwind": "^6.0.0-alpha.0", "@astrojs/tailwind": "^6.0.0-alpha.0",
"@types/canvas-confetti": "^1.6.4", "@types/canvas-confetti": "^1.6.4",
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"autoprefixer": "^10.4.20", "autoprefixer": "^10.4.20",
"canvas-confetti": "^1.9.3", "canvas-confetti": "^1.9.3",
"postcss": "^8.4.41", "postcss": "^8.4.41",

View file

@ -12,7 +12,7 @@
"test": "vitest" "test": "vitest"
}, },
"dependencies": { "dependencies": {
"astro": "^5.0.0-alpha.0", "astro": "^5.0.0-alpha.1",
"vitest": "^2.0.5" "vitest": "^2.0.5"
} }
} }

View file

@ -1,5 +1,136 @@
# astro # astro
## 5.0.0-alpha.1
### Major Changes
- [#11798](https://github.com/withastro/astro/pull/11798) [`e9e2139`](https://github.com/withastro/astro/commit/e9e2139bf788893566f5a3fe58daf1d24076f018) Thanks [@matthewp](https://github.com/matthewp)! - Unflag globalRoutePriority
The previously [experimental feature `globalRoutePriority`](https://docs.astro.build/en/reference/configuration-reference/#experimentalglobalroutepriority) is now the default in Astro 5.
This was a refactoring of route prioritization in Astro, making it so that injected routes, file-based routes, and redirects are all prioritized using the same logic. This feature has been enabled for all Starlight projects since it was added and should not affect most users.
- [#11679](https://github.com/withastro/astro/pull/11679) [`ea71b90`](https://github.com/withastro/astro/commit/ea71b90c9c08ddd1d3397c78e2e273fb799f7dbd) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - The [`astro:env` feature introduced behind a flag](https://docs.astro.build/en/reference/configuration-reference/#experimentalglobalroutepriority) in [v4.10.0](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md#x4100) is no longer experimental and is available for general use. If you have been waiting for stabilization before using `astro:env`, you can now do so.
This feature lets you configure a type-safe schema for your environment variables, and indicate whether they should be available on the server or the client.
To configure a schema, add the `env` option to your Astro config and define your client and server variables. If you were previously using this feature, please remove the experimental flag from your Astro config and move your entire `env` configuration unchanged to a top-level option.
```js
import { defineConfig, envField } from 'astro/config';
export default defineConfig({
env: {
schema: {
API_URL: envField.string({ context: 'client', access: 'public', optional: true }),
PORT: envField.number({ context: 'server', access: 'public', default: 4321 }),
API_SECRET: envField.string({ context: 'server', access: 'secret' }),
},
},
});
```
You can import and use your defined variables from the appropriate `/client` or `/server` module:
```astro
---
import { API_URL } from 'astro:env/client';
import { API_SECRET_TOKEN } from 'astro:env/server';
const data = await fetch(`${API_URL}/users`, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${API_SECRET_TOKEN}`,
},
});
---
<script>
import { API_URL } from 'astro:env/client';
fetch(`${API_URL}/ping`);
</script>
```
- [#11788](https://github.com/withastro/astro/pull/11788) [`7c0ccfc`](https://github.com/withastro/astro/commit/7c0ccfc26947b178584e3476584bcaa490c6ba86) Thanks [@ematipico](https://github.com/ematipico)! - Updates the default value of `security.checkOrigin` to `true`, which enables Cross-Site Request Forgery (CSRF) protection by default for pages rendered on demand.
If you had previously configured `security.checkOrigin: true`, you no longer need this set in your Astro config. This is now the default and it is safe to remove.
To disable this behavior and opt out of automatically checking that the “origin” header matches the URL sent by each request, you must explicitly set `security.checkOrigin: false`:
```diff
export default defineConfig({
+ security: {
+ checkOrigin: false
+ }
})
```
- [#11741](https://github.com/withastro/astro/pull/11741) [`6617491`](https://github.com/withastro/astro/commit/6617491c3bc2bde87f7867d7dec2580781852cfc) Thanks [@bluwy](https://github.com/bluwy)! - Removes internal JSX handling and moves the responsibility to the `@astrojs/mdx` package directly. The following exports are also now removed:
- `astro/jsx/babel.js`
- `astro/jsx/component.js`
- `astro/jsx/index.js`
- `astro/jsx/renderer.js`
- `astro/jsx/server.js`
- `astro/jsx/transform-options.js`
If your project includes `.mdx` files, you must upgrade `@astrojs/mdx` to the latest version so that it doesn't rely on these entrypoints to handle your JSX.
- [#11782](https://github.com/withastro/astro/pull/11782) [`9a2aaa0`](https://github.com/withastro/astro/commit/9a2aaa01ea427df3844bce8595207809a8d2cb94) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Makes the `compiledContent` property of Markdown content an async function, this change should fix underlying issues where sometimes when using a custom image service and images inside Markdown, Node would exit suddenly without any error message.
```diff
---
import * as myPost from "../post.md";
- const content = myPost.compiledContent();
+ const content = await myPost.compiledContent();
---
<Fragment set:html={content} />
```
- [#11770](https://github.com/withastro/astro/pull/11770) [`cfa6a47`](https://github.com/withastro/astro/commit/cfa6a47ac7a541f99fdad46a68d0cca6e5816cd5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Removed support for the Squoosh image service. As the underlying library `libsquoosh` is no longer maintained, and the image service sees very little usage we have decided to remove it from Astro.
Our recommendation is to use the base Sharp image service, which is more powerful, faster, and more actively maintained.
```diff
- import { squooshImageService } from "astro/config";
import { defineConfig } from "astro/config";
export default defineConfig({
- image: {
- service: squooshImageService()
- }
});
```
If you are using this service, and cannot migrate to the base Sharp image service, a third-party extraction of the previous service is available here: https://github.com/Princesseuh/astro-image-service-squoosh
### Patch Changes
- [#11780](https://github.com/withastro/astro/pull/11780) [`c6622ad`](https://github.com/withastro/astro/commit/c6622adaeb405e961b12c91f0e5d02c7333d01cf) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Deprecates the Squoosh image service, to be removed in Astro 5.0. We recommend migrating to the default Sharp service.
- [#11732](https://github.com/withastro/astro/pull/11732) [`4cd6c43`](https://github.com/withastro/astro/commit/4cd6c43e221e40345dfb433f9c63395f886091fd) Thanks [@matthewp](https://github.com/matthewp)! - Use GET requests with preloading for Server Islands
Server Island requests include the props used to render the island as well as any slots passed in (excluding the fallback slot). Since browsers have a max 4mb URL length we default to using a POST request to avoid overflowing this length.
However in reality most usage of Server Islands are fairly isolated and won't exceed this limit, so a GET request is possible by passing this same information via search parameters.
Using GET means we can also include a `<link rel="preload">` tag to speed up the request.
This change implements this, with safe fallback to POST.
- [#11773](https://github.com/withastro/astro/pull/11773) [`86a3391`](https://github.com/withastro/astro/commit/86a33915ff41b23ff6b35bcfb1805fefc0760ca7) Thanks [@ematipico](https://github.com/ematipico)! - Changes messages logged when using unsupported, deprecated, or experimental adapter features for clarity
- [#11774](https://github.com/withastro/astro/pull/11774) [`c6400ab`](https://github.com/withastro/astro/commit/c6400ab99c5e5f4477bc6ef7e801b7869b0aa9ab) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Fixes the path returned by `injectTypes`
- [#11771](https://github.com/withastro/astro/pull/11771) [`49650a4`](https://github.com/withastro/astro/commit/49650a45550af46c70c6cf3f848b7b529103a649) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Fixes an error thrown by `astro sync` when an `astro:env` virtual module is imported inside the Content Collections config
- [#11744](https://github.com/withastro/astro/pull/11744) [`b677429`](https://github.com/withastro/astro/commit/b67742961a384c10e5cd04cf5b02d0f014ea7362) Thanks [@bluwy](https://github.com/bluwy)! - Disables the WebSocket server when creating a Vite server for loading config files
## 5.0.0-alpha.0 ## 5.0.0-alpha.0
### Major Changes ### Major Changes

View file

@ -51,7 +51,10 @@ test.describe('Server islands', () => {
await expect(el).toHaveCount(2); await expect(el).toHaveCount(2);
}); });
test('Large islands that exceed URL length still work through POST', async ({ page, astro }) => { test('Large islands that exceed URL length still work through POST', async ({
page,
astro,
}) => {
await page.goto(astro.resolveUrl('/base/')); await page.goto(astro.resolveUrl('/base/'));
let el = page.locator('#basics .island'); let el = page.locator('#basics .island');

View file

@ -1,6 +1,6 @@
{ {
"name": "astro", "name": "astro",
"version": "5.0.0-alpha.0", "version": "5.0.0-alpha.1",
"description": "Astro is a modern site builder with web best practices, performance, and DX front-of-mind.", "description": "Astro is a modern site builder with web best practices, performance, and DX front-of-mind.",
"type": "module", "type": "module",
"author": "withastro", "author": "withastro",

View file

@ -82,7 +82,7 @@ export const ASTRO_CONFIG_DEFAULTS = {
legacy: {}, legacy: {},
redirects: {}, redirects: {},
security: { security: {
checkOrigin: true checkOrigin: true,
}, },
env: { env: {
schema: {}, schema: {},

View file

@ -500,13 +500,7 @@ export function createRouteManifest(
const redirectRoutes = createRedirectRoutes(params, routeMap, logger); const redirectRoutes = createRedirectRoutes(params, routeMap, logger);
const routes: RouteData[] = [ const routes: RouteData[] = [
...[ ...[...fileBasedRoutes, ...injectedRoutes, ...redirectRoutes].sort(routeComparator),
...fileBasedRoutes,
...injectedRoutes,
...redirectRoutes
].sort(
routeComparator,
),
]; ];
// Report route collisions // Report route collisions

View file

@ -57,12 +57,12 @@ function badRequest(reason: string) {
} }
async function getRequestData(request: Request): Promise<Response | RenderOptions> { async function getRequestData(request: Request): Promise<Response | RenderOptions> {
switch(request.method) { switch (request.method) {
case 'GET': { case 'GET': {
const url = new URL(request.url); const url = new URL(request.url);
const params = url.searchParams; const params = url.searchParams;
if(!params.has('s') || !params.has('e') || !params.has('p')) { if (!params.has('s') || !params.has('e') || !params.has('p')) {
return badRequest('Missing required query parameters.'); return badRequest('Missing required query parameters.');
} }
@ -79,9 +79,9 @@ async function getRequestData(request: Request): Promise<Response | RenderOption
} }
case 'POST': { case 'POST': {
try { try {
const raw = await request.text(); const raw = await request.text();
const data = JSON.parse(raw) as RenderOptions; const data = JSON.parse(raw) as RenderOptions;
return data; return data;
} catch { } catch {
return badRequest('Request format is invalid.'); return badRequest('Request format is invalid.');
} }
@ -106,7 +106,7 @@ export function createEndpoint(manifest: SSRManifest) {
// Get the request data from the body or search params // Get the request data from the body or search params
const data = await getRequestData(result.request); const data = await getRequestData(result.request);
if(data instanceof Response) { if (data instanceof Response) {
return data; return data;
} }

View file

@ -81,26 +81,33 @@ export function renderServerIsland(
const hostId = crypto.randomUUID(); const hostId = crypto.randomUUID();
const slash = result.base.endsWith('/') ? '' : '/'; const slash = result.base.endsWith('/') ? '' : '/';
let serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === 'always' ? '/' : ''}`; let serverIslandUrl = `${result.base}${slash}_server-islands/${componentId}${result.trailingSlash === 'always' ? '/' : ''}`;
// Determine if its safe to use a GET request // Determine if its safe to use a GET request
const potentialSearchParams = createSearchParams(componentExport, propsEncrypted, safeJsonStringify(renderedSlots)); const potentialSearchParams = createSearchParams(
const useGETRequest =isWithinURLLimit(serverIslandUrl, potentialSearchParams); componentExport,
propsEncrypted,
safeJsonStringify(renderedSlots),
);
const useGETRequest = isWithinURLLimit(serverIslandUrl, potentialSearchParams);
if(useGETRequest) { if (useGETRequest) {
serverIslandUrl += ('?' + potentialSearchParams.toString()); serverIslandUrl += '?' + potentialSearchParams.toString();
destination.write(`<link rel="preload" as="fetch" href="${serverIslandUrl}" crossorigin="anonymous">`); destination.write(
`<link rel="preload" as="fetch" href="${serverIslandUrl}" crossorigin="anonymous">`,
);
} }
destination.write(`<script async type="module" data-island-id="${hostId}"> destination.write(`<script async type="module" data-island-id="${hostId}">
let script = document.querySelector('script[data-island-id="${hostId}"]'); let script = document.querySelector('script[data-island-id="${hostId}"]');
${useGETRequest ? ${
// GET request useGETRequest
`let response = await fetch('${serverIslandUrl}'); ? // GET request
`: `let response = await fetch('${serverIslandUrl}');
// POST request `
`let data = { : // POST request
`let data = {
componentExport: ${safeJsonStringify(componentExport)}, componentExport: ${safeJsonStringify(componentExport)},
encryptedProps: ${safeJsonStringify(propsEncrypted)}, encryptedProps: ${safeJsonStringify(propsEncrypted)},
slots: ${safeJsonStringify(renderedSlots)}, slots: ${safeJsonStringify(renderedSlots)},
@ -110,7 +117,8 @@ let response = await fetch('${serverIslandUrl}', {
method: 'POST', method: 'POST',
body: JSON.stringify(data), body: JSON.stringify(data),
}); });
`} `
}
if(response.status === 200 && response.headers.get('content-type') === 'text/html') { if(response.status === 200 && response.headers.get('content-type') === 'text/html') {
let html = await response.text(); let html = await response.text();

View file

@ -1444,7 +1444,6 @@ export interface AstroUserConfig {
validateSecrets?: boolean; validateSecrets?: boolean;
}; };
/** /**
* @docs * @docs
* @kind heading * @kind heading

View file

@ -1,5 +1,14 @@
# @astrojs/db # @astrojs/db
## 0.13.2-alpha.0
### Patch Changes
- [#11744](https://github.com/withastro/astro/pull/11744) [`b677429`](https://github.com/withastro/astro/commit/b67742961a384c10e5cd04cf5b02d0f014ea7362) Thanks [@bluwy](https://github.com/bluwy)! - Disables the WebSocket server when creating a Vite server for loading config files
- Updated dependencies []:
- @astrojs/studio@0.1.1
## 0.13.1 ## 0.13.1
### Patch Changes ### Patch Changes

View file

@ -1,6 +1,6 @@
{ {
"name": "@astrojs/db", "name": "@astrojs/db",
"version": "0.13.1", "version": "0.13.2-alpha.0",
"description": "Add libSQL and Astro Studio support to your Astro site", "description": "Add libSQL and Astro Studio support to your Astro site",
"license": "MIT", "license": "MIT",
"repository": { "repository": {

View file

@ -1,5 +1,13 @@
# @astrojs/mdx # @astrojs/mdx
## 4.0.0-alpha.1
### Minor Changes
- [#11741](https://github.com/withastro/astro/pull/11741) [`6617491`](https://github.com/withastro/astro/commit/6617491c3bc2bde87f7867d7dec2580781852cfc) Thanks [@bluwy](https://github.com/bluwy)! - Updates adapter server entrypoint to use `@astrojs/mdx/server.js`
This is an internal change. Handling JSX in your `.mdx` files has been moved from Astro internals and is now the responsibility of this integration. You should not notice a change in your project, and no update to your code is required.
## 4.0.0-alpha.0 ## 4.0.0-alpha.0
### Patch Changes ### Patch Changes

View file

@ -1,7 +1,7 @@
{ {
"name": "@astrojs/mdx", "name": "@astrojs/mdx",
"description": "Add support for MDX pages in your Astro site", "description": "Add support for MDX pages in your Astro site",
"version": "4.0.0-alpha.0", "version": "4.0.0-alpha.1",
"type": "module", "type": "module",
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"author": "withastro", "author": "withastro",

View file

@ -1,5 +1,28 @@
# @astrojs/node # @astrojs/node
## 9.0.0-alpha.1
### Major Changes
- [#11679](https://github.com/withastro/astro/pull/11679) [`ea71b90`](https://github.com/withastro/astro/commit/ea71b90c9c08ddd1d3397c78e2e273fb799f7dbd) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Adds stable support for `astro:env`
- [#11770](https://github.com/withastro/astro/pull/11770) [`cfa6a47`](https://github.com/withastro/astro/commit/cfa6a47ac7a541f99fdad46a68d0cca6e5816cd5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Removed support for the Squoosh image service. As the underlying library `libsquoosh` is no longer maintained, and the image service sees very little usage we have decided to remove it from Astro.
Our recommendation is to use the base Sharp image service, which is more powerful, faster, and more actively maintained.
```diff
- import { squooshImageService } from "astro/config";
import { defineConfig } from "astro/config";
export default defineConfig({
- image: {
- service: squooshImageService()
- }
});
```
If you are using this service, and cannot migrate to the base Sharp image service, a third-party extraction of the previous service is available here: https://github.com/Princesseuh/astro-image-service-squoosh
## 9.0.0-alpha.0 ## 9.0.0-alpha.0
### Patch Changes ### Patch Changes

View file

@ -1,7 +1,7 @@
{ {
"name": "@astrojs/node", "name": "@astrojs/node",
"description": "Deploy your site to a Node.js server", "description": "Deploy your site to a Node.js server",
"version": "9.0.0-alpha.0", "version": "9.0.0-alpha.1",
"type": "module", "type": "module",
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"author": "withastro", "author": "withastro",

View file

@ -1,5 +1,34 @@
# @astrojs/vercel # @astrojs/vercel
## 8.0.0-alpha.1
### Major Changes
- [#11679](https://github.com/withastro/astro/pull/11679) [`ea71b90`](https://github.com/withastro/astro/commit/ea71b90c9c08ddd1d3397c78e2e273fb799f7dbd) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Adds stable support for `astro:env`
- [#11770](https://github.com/withastro/astro/pull/11770) [`cfa6a47`](https://github.com/withastro/astro/commit/cfa6a47ac7a541f99fdad46a68d0cca6e5816cd5) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Removed support for the Squoosh image service. As the underlying library `libsquoosh` is no longer maintained, and the image service sees very little usage we have decided to remove it from Astro.
Our recommendation is to use the base Sharp image service, which is more powerful, faster, and more actively maintained.
```diff
- import { squooshImageService } from "astro/config";
import { defineConfig } from "astro/config";
export default defineConfig({
- image: {
- service: squooshImageService()
- }
});
```
If you are using this service, and cannot migrate to the base Sharp image service, a third-party extraction of the previous service is available here: https://github.com/Princesseuh/astro-image-service-squoosh
### Patch Changes
- [#11783](https://github.com/withastro/astro/pull/11783) [`fc81b01`](https://github.com/withastro/astro/commit/fc81b01bcdd43646bcc615b16bf0400a646445c8) Thanks [@matthewp](https://github.com/matthewp)! - Prevent race condition with Node 18
Using Node 18 there can be a race condition where polyfill for the `crypto` global is not applied in time. This change ensures the polyfills run first.
## 8.0.0-alpha.0 ## 8.0.0-alpha.0
### Major Changes ### Major Changes

View file

@ -1,7 +1,7 @@
{ {
"name": "@astrojs/vercel", "name": "@astrojs/vercel",
"description": "Deploy your site to Vercel", "description": "Deploy your site to Vercel",
"version": "8.0.0-alpha.0", "version": "8.0.0-alpha.1",
"type": "module", "type": "module",
"author": "withastro", "author": "withastro",
"license": "MIT", "license": "MIT",

View file

@ -1,5 +1,12 @@
# @astrojs/web-vitals # @astrojs/web-vitals
## 2.0.1-alpha.0
### Patch Changes
- Updated dependencies [[`b677429`](https://github.com/withastro/astro/commit/b67742961a384c10e5cd04cf5b02d0f014ea7362)]:
- @astrojs/db@0.13.2-alpha.0
## 2.0.0 ## 2.0.0
### Patch Changes ### Patch Changes

View file

@ -1,7 +1,7 @@
{ {
"name": "@astrojs/web-vitals", "name": "@astrojs/web-vitals",
"description": "Track your websites performance with Astro DB", "description": "Track your websites performance with Astro DB",
"version": "2.0.0", "version": "2.0.1-alpha.0",
"type": "module", "type": "module",
"author": "withastro", "author": "withastro",
"license": "MIT", "license": "MIT",
@ -35,7 +35,7 @@
"web-vitals": "^4.2.3" "web-vitals": "^4.2.3"
}, },
"peerDependencies": { "peerDependencies": {
"@astrojs/db": "^0.13.0" "@astrojs/db": "^0.13.2-alpha.0"
}, },
"devDependencies": { "devDependencies": {
"@astrojs/db": "workspace:*", "@astrojs/db": "workspace:*",

74
pnpm-lock.yaml generated
View file

@ -116,13 +116,13 @@ importers:
examples/basics: examples/basics:
dependencies: dependencies:
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
examples/blog: examples/blog:
dependencies: dependencies:
'@astrojs/mdx': '@astrojs/mdx':
specifier: ^4.0.0-alpha.0 specifier: ^4.0.0-alpha.1
version: link:../../packages/integrations/mdx version: link:../../packages/integrations/mdx
'@astrojs/rss': '@astrojs/rss':
specifier: ^4.0.7 specifier: ^4.0.7
@ -131,13 +131,13 @@ importers:
specifier: ^3.1.6 specifier: ^3.1.6
version: link:../../packages/integrations/sitemap version: link:../../packages/integrations/sitemap
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
examples/component: examples/component:
devDependencies: devDependencies:
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
examples/container-with-vitest: examples/container-with-vitest:
@ -146,7 +146,7 @@ importers:
specifier: ^3.6.2 specifier: ^3.6.2
version: link:../../packages/integrations/react version: link:../../packages/integrations/react
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
react: react:
specifier: ^18.3.1 specifier: ^18.3.1
@ -177,7 +177,7 @@ importers:
specifier: ^3.14.1 specifier: ^3.14.1
version: 3.14.1 version: 3.14.1
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
examples/framework-multiple: examples/framework-multiple:
@ -204,7 +204,7 @@ importers:
specifier: ^18.3.0 specifier: ^18.3.0
version: 18.3.0 version: 18.3.0
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
preact: preact:
specifier: ^10.23.2 specifier: ^10.23.2
@ -234,7 +234,7 @@ importers:
specifier: ^1.3.0 specifier: ^1.3.0
version: 1.3.0(preact@10.23.2) version: 1.3.0(preact@10.23.2)
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
preact: preact:
specifier: ^10.23.2 specifier: ^10.23.2
@ -252,7 +252,7 @@ importers:
specifier: ^18.3.0 specifier: ^18.3.0
version: 18.3.0 version: 18.3.0
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
react: react:
specifier: ^18.3.1 specifier: ^18.3.1
@ -267,7 +267,7 @@ importers:
specifier: ^4.4.1 specifier: ^4.4.1
version: link:../../packages/integrations/solid version: link:../../packages/integrations/solid
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
solid-js: solid-js:
specifier: ^1.8.21 specifier: ^1.8.21
@ -279,7 +279,7 @@ importers:
specifier: ^6.0.0-alpha.0 specifier: ^6.0.0-alpha.0
version: link:../../packages/integrations/svelte version: link:../../packages/integrations/svelte
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
svelte: svelte:
specifier: ^4.2.18 specifier: ^4.2.18
@ -291,7 +291,7 @@ importers:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.0
version: link:../../packages/integrations/vue version: link:../../packages/integrations/vue
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
vue: vue:
specifier: ^3.4.38 specifier: ^3.4.38
@ -300,25 +300,25 @@ importers:
examples/hackernews: examples/hackernews:
dependencies: dependencies:
'@astrojs/node': '@astrojs/node':
specifier: ^9.0.0-alpha.0 specifier: ^9.0.0-alpha.1
version: link:../../packages/integrations/node version: link:../../packages/integrations/node
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
examples/integration: examples/integration:
devDependencies: devDependencies:
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
examples/middleware: examples/middleware:
dependencies: dependencies:
'@astrojs/node': '@astrojs/node':
specifier: ^9.0.0-alpha.0 specifier: ^9.0.0-alpha.1
version: link:../../packages/integrations/node version: link:../../packages/integrations/node
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
html-minifier: html-minifier:
specifier: ^4.0.0 specifier: ^4.0.0
@ -331,25 +331,25 @@ importers:
examples/minimal: examples/minimal:
dependencies: dependencies:
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
examples/non-html-pages: examples/non-html-pages:
dependencies: dependencies:
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
examples/portfolio: examples/portfolio:
dependencies: dependencies:
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
examples/server-islands: examples/server-islands:
devDependencies: devDependencies:
'@astrojs/node': '@astrojs/node':
specifier: ^9.0.0-alpha.0 specifier: ^9.0.0-alpha.1
version: link:../../packages/integrations/node version: link:../../packages/integrations/node
'@astrojs/react': '@astrojs/react':
specifier: ^3.6.2 specifier: ^3.6.2
@ -370,7 +370,7 @@ importers:
specifier: ^18.3.0 specifier: ^18.3.0
version: 18.3.0 version: 18.3.0
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
postcss: postcss:
specifier: ^8.4.41 specifier: ^8.4.41
@ -388,13 +388,13 @@ importers:
examples/ssr: examples/ssr:
dependencies: dependencies:
'@astrojs/node': '@astrojs/node':
specifier: ^9.0.0-alpha.0 specifier: ^9.0.0-alpha.1
version: link:../../packages/integrations/node version: link:../../packages/integrations/node
'@astrojs/svelte': '@astrojs/svelte':
specifier: ^6.0.0-alpha.0 specifier: ^6.0.0-alpha.0
version: link:../../packages/integrations/svelte version: link:../../packages/integrations/svelte
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
svelte: svelte:
specifier: ^4.2.18 specifier: ^4.2.18
@ -403,7 +403,7 @@ importers:
examples/starlog: examples/starlog:
dependencies: dependencies:
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
sass: sass:
specifier: ^1.77.8 specifier: ^1.77.8
@ -415,19 +415,19 @@ importers:
examples/toolbar-app: examples/toolbar-app:
devDependencies: devDependencies:
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
examples/view-transitions: examples/view-transitions:
devDependencies: devDependencies:
'@astrojs/node': '@astrojs/node':
specifier: ^9.0.0-alpha.0 specifier: ^9.0.0-alpha.1
version: link:../../packages/integrations/node version: link:../../packages/integrations/node
'@astrojs/tailwind': '@astrojs/tailwind':
specifier: ^6.0.0-alpha.0 specifier: ^6.0.0-alpha.0
version: link:../../packages/integrations/tailwind version: link:../../packages/integrations/tailwind
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
examples/with-markdoc: examples/with-markdoc:
@ -436,7 +436,7 @@ importers:
specifier: ^1.0.0-alpha.0 specifier: ^1.0.0-alpha.0
version: link:../../packages/integrations/markdoc version: link:../../packages/integrations/markdoc
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
examples/with-markdown-plugins: examples/with-markdown-plugins:
@ -445,7 +445,7 @@ importers:
specifier: ^6.0.0-alpha.0 specifier: ^6.0.0-alpha.0
version: link:../../packages/markdown/remark version: link:../../packages/markdown/remark
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
hast-util-select: hast-util-select:
specifier: ^6.0.2 specifier: ^6.0.2
@ -466,19 +466,19 @@ importers:
examples/with-markdown-shiki: examples/with-markdown-shiki:
dependencies: dependencies:
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
examples/with-mdx: examples/with-mdx:
dependencies: dependencies:
'@astrojs/mdx': '@astrojs/mdx':
specifier: ^4.0.0-alpha.0 specifier: ^4.0.0-alpha.1
version: link:../../packages/integrations/mdx version: link:../../packages/integrations/mdx
'@astrojs/preact': '@astrojs/preact':
specifier: ^3.5.1 specifier: ^3.5.1
version: link:../../packages/integrations/preact version: link:../../packages/integrations/preact
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
preact: preact:
specifier: ^10.23.2 specifier: ^10.23.2
@ -493,7 +493,7 @@ importers:
specifier: ^0.5.2 specifier: ^0.5.2
version: 0.5.2(nanostores@0.11.2)(preact@10.23.2) version: 0.5.2(nanostores@0.11.2)(preact@10.23.2)
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
nanostores: nanostores:
specifier: ^0.11.2 specifier: ^0.11.2
@ -505,7 +505,7 @@ importers:
examples/with-tailwindcss: examples/with-tailwindcss:
dependencies: dependencies:
'@astrojs/mdx': '@astrojs/mdx':
specifier: ^4.0.0-alpha.0 specifier: ^4.0.0-alpha.1
version: link:../../packages/integrations/mdx version: link:../../packages/integrations/mdx
'@astrojs/tailwind': '@astrojs/tailwind':
specifier: ^6.0.0-alpha.0 specifier: ^6.0.0-alpha.0
@ -514,7 +514,7 @@ importers:
specifier: ^1.6.4 specifier: ^1.6.4
version: 1.6.4 version: 1.6.4
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
autoprefixer: autoprefixer:
specifier: ^10.4.20 specifier: ^10.4.20
@ -532,7 +532,7 @@ importers:
examples/with-vitest: examples/with-vitest:
dependencies: dependencies:
astro: astro:
specifier: ^5.0.0-alpha.0 specifier: ^5.0.0-alpha.1
version: link:../../packages/astro version: link:../../packages/astro
vitest: vitest:
specifier: ^2.0.5 specifier: ^2.0.5