[ci] release (#5046)

* [ci] release

* Update packages/integrations/node/CHANGELOG.md

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

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:
Fred K. Bot 2022-10-13 09:29:24 -07:00 committed by GitHub
parent 3918787cb9
commit 81d57f2638
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
62 changed files with 594 additions and 315 deletions

View file

@ -1,38 +0,0 @@
---
'astro': minor
'@astrojs/node': minor
---
# Adapter support for `astro preview`
Adapters are now about to support the `astro preview` command via a new integration option. The Node.js adapter `@astrojs/node` is the first of the built-in adapters to gain support for this. What this means is that if you are using `@astrojs/node` you can new preview your SSR app by running:
```shell
npm run preview
```
## Adapter API
We will be updating the other first party Astro adapters to support preview over time. Adapters can opt-in to this feature by providing the `previewEntrypoint` via the `setAdapter` function in `astro:config:done` hook. The Node.js adapter's code looks like this:
```diff
export default function() {
return {
name: '@astrojs/node',
hooks: {
'astro:config:done': ({ setAdapter, config }) => {
setAdapter({
name: '@astrojs/node',
serverEntrypoint: '@astrojs/node/server.js',
+ previewEntrypoint: '@astrojs/node/preview.js',
exports: ['handler'],
});
// more here
}
}
};
}
```
The `previewEntrypoint` is a module in the adapter's package that is a Node.js script. This script is run when `astro preview` is run and is charged with starting up the built server. See the Node.js implementation in `@astrojs/node` to see how that is implemented.

View file

@ -1,5 +0,0 @@
---
'@astrojs/svelte': patch
---
Allow class to be passed into Svelte islands

View file

@ -1,19 +0,0 @@
---
'astro': minor
---
## New properties for API routes
In API routes, you can now get the `site`, `generator`, `url`, `clientAddress`, `props`, and `redirect` fields on the APIContext, which is the first parameter passed to an API route. This was done to make the APIContext more closely align with the `Astro` global in .astro pages.
For example, here's how you might use the `clientAddress`, which is the user's IP address, to selectively allow users.
```js
export function post({ clientAddress, request, redirect }) {
if(!allowList.has(clientAddress)) {
return redirect('/not-allowed');
}
}
```
Check out the docs for more information on the newly available fields: https://docs.astro.build/en/core-concepts/endpoints/#server-endpoints-api-routes

View file

@ -1,18 +0,0 @@
---
'astro': minor
---
Added support for updating TypeScript settings automatically when using `astro add`
The `astro add` command will now automatically update your `tsconfig.json` with the proper TypeScript settings needed for the chosen frameworks.
For instance, typing `astro add solid` will update your `tsconfig.json` with the following settings, per [Solid's TypeScript guide](https://www.solidjs.com/guides/typescript):
```json
{
"compilerOptions": {
"jsx": "preserve",
"jsxImportSource": "solid-js"
}
}
```

View file

@ -1,5 +0,0 @@
---
'@astrojs/image': patch
---
Fix image external config in build

View file

@ -1,43 +0,0 @@
---
'@astrojs/node': major
---
# Standalone mode for the Node.js adapter
New in `@astrojs/node` is support for __standalone mode__. With standalone mode you can start your production server without needing to write any server JavaScript yourself. The server starts simply by running the script like so:
```shell
node ./dist/server/entry.mjs
```
To enable standalone mode, set the new `mode` to `'standalone'` option in your Astro config:
```js
import { defineConfig } from 'astro/config';
import nodejs from '@astrojs/node';
export default defineConfig({
output: 'server',
adapter: nodejs({
mode: 'standalone'
})
});
```
See the @astrojs/node documentation to learn all of the options available in standalone mode.
## Breaking change
This is a semver major change because the new `mode` option is required. Existing @astrojs/node users who are using their own HTTP server framework such as Express can upgrade by setting the `mode` option to `'middleware'` in order to build to a middleware mode, which is the same behavior and API as before.
```js
import { defineConfig } from 'astro/config';
import nodejs from '@astrojs/node';
export default defineConfig({
output: 'server',
adapter: nodejs({
mode: 'middleware'
})
});
```

View file

@ -1,6 +0,0 @@
---
'astro': minor
---
- Added `isRestart` and `addWatchFile` to integration step `isRestart`.
- Restart dev server automatically when tsconfig changes.

View file

@ -1,14 +0,0 @@
---
'astro': minor
---
## Support passing a custom status code for Astro.redirect
New in this minor is the ability to pass a status code to `Astro.redirect`. By default it uses `302` but now you can pass another code as the second argument:
```astro
---
// This page was moved
return Astro.redirect('/posts/new-post-name', 301);
---
```

View file

@ -1,5 +0,0 @@
---
'astro': patch
---
Skip JSX tagging for export statements with source

View file

@ -1,5 +0,0 @@
---
'astro': patch
---
Upgrade Astro compiler to 0.27.1

View file

@ -1,49 +0,0 @@
---
'astro': minor
'@astrojs/cloudflare': minor
'@astrojs/deno': minor
'@astrojs/image': minor
'@astrojs/netlify': minor
'@astrojs/node': minor
'@astrojs/vercel': minor
---
# New build configuration
The ability to customize SSR build configuration more granularly is now available in Astro. You can now customize the output folder for `server` (the server code for SSR), `client` (your client-side JavaScript and assets), and `serverEntry` (the name of the entrypoint server module). Here are the defaults:
```js
import { defineConfig } from 'astro/config';
export default defineConfig({
output: 'server',
build: {
server: './dist/server/',
client: './dist/client/',
serverEntry: 'entry.mjs',
}
});
```
These new configuration options are only supported in SSR mode and are ignored when building to SSG (a static site).
## Integration hook change
The integration hook `astro:build:start` includes a param `buildConfig` which includes all of these same options. You can continue to use this param in Astro 1.x, but it is deprecated in favor of the new `build.config` options. All of the built-in adapters have been updated to the new format. If you have an integration that depends on this param we suggest upgrading to do this instead:
```js
export default function myIntegration() {
return {
name: 'my-integration',
hooks: {
'astro:config:setup': ({ updateConfig }) => {
updateConfig({
build: {
server: '...'
}
});
}
}
}
}
```

View file

@ -1,7 +0,0 @@
---
'@astrojs/tailwind': minor
---
## HMR on config file changes
New in this release is the ability for config changes to automatically reflect via HMR. Now when you edit your `tsconfig.json` or `tailwind.config.js` configs, the changes will reload automatically without the need to restart your dev server.

View file

@ -1,5 +0,0 @@
---
'@astrojs/solid-js': minor
---
Auto ssr.noExternal solidjs dependencies

View file

@ -1,5 +0,0 @@
---
'astro': patch
---
Support strict dependency install for libraries with JSX

View file

@ -1,5 +0,0 @@
---
'@astrojs/image': patch
---
Support relative protocol image URL

View file

@ -1,7 +0,0 @@
---
'astro': patch
---
Update Astro.cookies.set types to allow booleans and numbers
Note that booleans and numbers were already allowed, they just were not allowed by the type definitions.

View file

@ -11,6 +11,6 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7"
"astro": "^1.5.0"
}
}

View file

@ -11,7 +11,7 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7",
"astro": "^1.5.0",
"@astrojs/mdx": "^0.11.4",
"@astrojs/rss": "^1.0.2",
"@astrojs/sitemap": "^1.0.0"

View file

@ -15,9 +15,9 @@
],
"scripts": {},
"devDependencies": {
"astro": "^1.4.7"
"astro": "^1.5.0"
},
"peerDependencies": {
"astro": "^1.4.7"
"astro": "^1.5.0"
}
}

View file

@ -10,9 +10,9 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7"
"astro": "^1.5.0"
},
"devDependencies": {
"@astrojs/deno": "^1.1.0"
"@astrojs/deno": "^1.2.0"
}
}

View file

@ -12,7 +12,7 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7",
"astro": "^1.5.0",
"preact": "^10.7.3",
"react": "^18.1.0",
"react-dom": "^18.1.0",

View file

@ -11,7 +11,7 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7",
"astro": "^1.5.0",
"alpinejs": "^3.10.2",
"@astrojs/alpinejs": "^0.1.2",
"@types/alpinejs": "^3.7.0"

View file

@ -11,7 +11,7 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7",
"astro": "^1.5.0",
"lit": "^2.2.5",
"@astrojs/lit": "^1.0.0",
"@webcomponents/template-shadowroot": "^0.1.0"

View file

@ -11,7 +11,7 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7",
"astro": "^1.5.0",
"preact": "^10.7.3",
"react": "^18.1.0",
"react-dom": "^18.1.0",
@ -20,8 +20,8 @@
"vue": "^3.2.37",
"@astrojs/preact": "^1.2.0",
"@astrojs/react": "^1.2.0",
"@astrojs/solid-js": "^1.1.1",
"@astrojs/svelte": "^1.0.1",
"@astrojs/solid-js": "^1.2.0",
"@astrojs/svelte": "^1.0.2",
"@astrojs/vue": "^1.1.0"
}
}

View file

@ -11,7 +11,7 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7",
"astro": "^1.5.0",
"preact": "^10.7.3",
"@astrojs/preact": "^1.2.0",
"@preact/signals": "^1.1.0"

View file

@ -11,7 +11,7 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7",
"astro": "^1.5.0",
"react": "^18.1.0",
"react-dom": "^18.1.0",
"@astrojs/react": "^1.2.0",

View file

@ -11,8 +11,8 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7",
"astro": "^1.5.0",
"solid-js": "^1.4.3",
"@astrojs/solid-js": "^1.1.1"
"@astrojs/solid-js": "^1.2.0"
}
}

View file

@ -12,7 +12,7 @@
},
"dependencies": {
"svelte": "^3.48.0",
"@astrojs/svelte": "^1.0.1",
"astro": "^1.4.7"
"@astrojs/svelte": "^1.0.2",
"astro": "^1.5.0"
}
}

View file

@ -11,7 +11,7 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7",
"astro": "^1.5.0",
"vue": "^3.2.37",
"@astrojs/vue": "^1.1.0"
}

View file

@ -15,9 +15,9 @@
],
"scripts": {},
"devDependencies": {
"astro": "^1.4.7"
"astro": "^1.5.0"
},
"peerDependencies": {
"astro": "^1.4.7"
"astro": "^1.5.0"
}
}

View file

@ -11,6 +11,6 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7"
"astro": "^1.5.0"
}
}

View file

@ -11,6 +11,6 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7"
"astro": "^1.5.0"
}
}

View file

@ -11,6 +11,6 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7"
"astro": "^1.5.0"
}
}

View file

@ -13,10 +13,10 @@
},
"devDependencies": {},
"dependencies": {
"astro": "^1.4.7",
"astro": "^1.5.0",
"svelte": "^3.48.0",
"@astrojs/svelte": "^1.0.1",
"@astrojs/node": "^1.1.0",
"@astrojs/svelte": "^1.0.2",
"@astrojs/node": "^2.0.0",
"concurrently": "^7.2.1",
"lightcookie": "^1.0.25",
"unocss": "^0.15.6",

View file

@ -11,7 +11,7 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7",
"astro": "^1.5.0",
"@astrojs/markdown-remark": "^1.1.3",
"hast-util-select": "5.0.1",
"rehype-autolink-headings": "^6.1.1",

View file

@ -11,6 +11,6 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7"
"astro": "^1.5.0"
}
}

View file

@ -11,7 +11,7 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7",
"astro": "^1.5.0",
"preact": "^10.6.5",
"@astrojs/preact": "^1.2.0",
"@astrojs/mdx": "^0.11.4"

View file

@ -11,7 +11,7 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7",
"astro": "^1.5.0",
"preact": "^10.7.3",
"@astrojs/preact": "^1.2.0",
"nanostores": "^0.5.12",

View file

@ -11,9 +11,9 @@
"astro": "astro"
},
"dependencies": {
"@astrojs/tailwind": "^2.0.2",
"@astrojs/tailwind": "^2.1.0",
"@types/canvas-confetti": "^1.4.3",
"astro": "^1.4.7",
"astro": "^1.5.0",
"autoprefixer": "^10.4.7",
"canvas-confetti": "^1.5.1",
"postcss": "^8.4.14",

View file

@ -11,7 +11,7 @@
"astro": "astro"
},
"dependencies": {
"astro": "^1.4.7",
"astro": "^1.5.0",
"vite-plugin-pwa": "0.11.11",
"workbox-window": "^6.5.3"
}

View file

@ -12,7 +12,7 @@
"test": "vitest"
},
"dependencies": {
"astro": "^1.4.7",
"astro": "^1.5.0",
"vitest": "^0.20.3"
}
}

View file

@ -1,5 +1,141 @@
# astro
## 1.5.0
### Minor Changes
- [#5056](https://github.com/withastro/astro/pull/5056) [`e55af8a23`](https://github.com/withastro/astro/commit/e55af8a23233b6335f45b7a04b9d026990fb616c) Thanks [@matthewp](https://github.com/matthewp)! - # Adapter support for `astro preview`
Adapters are now about to support the `astro preview` command via a new integration option. The Node.js adapter `@astrojs/node` is the first of the built-in adapters to gain support for this. What this means is that if you are using `@astrojs/node` you can new preview your SSR app by running:
```shell
npm run preview
```
## Adapter API
We will be updating the other first party Astro adapters to support preview over time. Adapters can opt-in to this feature by providing the `previewEntrypoint` via the `setAdapter` function in `astro:config:done` hook. The Node.js adapter's code looks like this:
```diff
export default function() {
return {
name: '@astrojs/node',
hooks: {
'astro:config:done': ({ setAdapter, config }) => {
setAdapter({
name: '@astrojs/node',
serverEntrypoint: '@astrojs/node/server.js',
+ previewEntrypoint: '@astrojs/node/preview.js',
exports: ['handler'],
});
// more here
}
}
};
}
```
The `previewEntrypoint` is a module in the adapter's package that is a Node.js script. This script is run when `astro preview` is run and is charged with starting up the built server. See the Node.js implementation in `@astrojs/node` to see how that is implemented.
- [#4986](https://github.com/withastro/astro/pull/4986) [`ebd364e39`](https://github.com/withastro/astro/commit/ebd364e392035b379dd00b8f2f15a4cc09ee88e6) Thanks [@bluwy](https://github.com/bluwy)! - ## New properties for API routes
In API routes, you can now get the `site`, `generator`, `url`, `clientAddress`, `props`, and `redirect` fields on the APIContext, which is the first parameter passed to an API route. This was done to make the APIContext more closely align with the `Astro` global in .astro pages.
For example, here's how you might use the `clientAddress`, which is the user's IP address, to selectively allow users.
```js
export function post({ clientAddress, request, redirect }) {
if (!allowList.has(clientAddress)) {
return redirect('/not-allowed');
}
}
```
Check out the docs for more information on the newly available fields: https://docs.astro.build/en/core-concepts/endpoints/#server-endpoints-api-routes
- [#4959](https://github.com/withastro/astro/pull/4959) [`0ea6187f9`](https://github.com/withastro/astro/commit/0ea6187f95f68d1a3ed98ef4d660e71206883bac) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Added support for updating TypeScript settings automatically when using `astro add`
The `astro add` command will now automatically update your `tsconfig.json` with the proper TypeScript settings needed for the chosen frameworks.
For instance, typing `astro add solid` will update your `tsconfig.json` with the following settings, per [Solid's TypeScript guide](https://www.solidjs.com/guides/typescript):
```json
{
"compilerOptions": {
"jsx": "preserve",
"jsxImportSource": "solid-js"
}
}
```
- [#4947](https://github.com/withastro/astro/pull/4947) [`a5e3ecc80`](https://github.com/withastro/astro/commit/a5e3ecc8039c1e115ce5597362e18cd35d04e40b) Thanks [@JuanM04](https://github.com/JuanM04)! - - Added `isRestart` and `addWatchFile` to integration step `isRestart`.
- Restart dev server automatically when tsconfig changes.
- [#4986](https://github.com/withastro/astro/pull/4986) [`ebd364e39`](https://github.com/withastro/astro/commit/ebd364e392035b379dd00b8f2f15a4cc09ee88e6) Thanks [@bluwy](https://github.com/bluwy)! - ## Support passing a custom status code for Astro.redirect
New in this minor is the ability to pass a status code to `Astro.redirect`. By default it uses `302` but now you can pass another code as the second argument:
```astro
---
// This page was moved
return Astro.redirect('/posts/new-post-name', 301);
---
```
- [#5056](https://github.com/withastro/astro/pull/5056) [`e55af8a23`](https://github.com/withastro/astro/commit/e55af8a23233b6335f45b7a04b9d026990fb616c) Thanks [@matthewp](https://github.com/matthewp)! - # New build configuration
The ability to customize SSR build configuration more granularly is now available in Astro. You can now customize the output folder for `server` (the server code for SSR), `client` (your client-side JavaScript and assets), and `serverEntry` (the name of the entrypoint server module). Here are the defaults:
```js
import { defineConfig } from 'astro/config';
export default defineConfig({
output: 'server',
build: {
server: './dist/server/',
client: './dist/client/',
serverEntry: 'entry.mjs',
},
});
```
These new configuration options are only supported in SSR mode and are ignored when building to SSG (a static site).
## Integration hook change
The integration hook `astro:build:start` includes a param `buildConfig` which includes all of these same options. You can continue to use this param in Astro 1.x, but it is deprecated in favor of the new `build.config` options. All of the built-in adapters have been updated to the new format. If you have an integration that depends on this param we suggest upgrading to do this instead:
```js
export default function myIntegration() {
return {
name: 'my-integration',
hooks: {
'astro:config:setup': ({ updateConfig }) => {
updateConfig({
build: {
server: '...',
},
});
},
},
};
}
```
### Patch Changes
- [#5057](https://github.com/withastro/astro/pull/5057) [`baf88ee9e`](https://github.com/withastro/astro/commit/baf88ee9e5e692a94981d7a696fbdcb4cd8ab2a6) Thanks [@bluwy](https://github.com/bluwy)! - Skip JSX tagging for export statements with source
- [#5044](https://github.com/withastro/astro/pull/5044) [`44ea0c6d9`](https://github.com/withastro/astro/commit/44ea0c6d941a26a3c38fc6dc045a8a25215d154a) Thanks [@JuanM04](https://github.com/JuanM04)! - Upgrade Astro compiler to 0.27.1
- [#5059](https://github.com/withastro/astro/pull/5059) [`f7fcdfe62`](https://github.com/withastro/astro/commit/f7fcdfe6210b3cf08cad92c49b64adf169b9e744) Thanks [@bluwy](https://github.com/bluwy)! - Support strict dependency install for libraries with JSX
- [#5047](https://github.com/withastro/astro/pull/5047) [`1e2799243`](https://github.com/withastro/astro/commit/1e27992437aa0371b8550acb3e3f79e62721a506) Thanks [@matthewp](https://github.com/matthewp)! - Update Astro.cookies.set types to allow booleans and numbers
Note that booleans and numbers were already allowed, they just were not allowed by the type definitions.
## 1.4.7
### Patch Changes

View file

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

View file

@ -1,5 +1,49 @@
# @astrojs/cloudflare
## 3.1.0
### Minor Changes
- [#5056](https://github.com/withastro/astro/pull/5056) [`e55af8a23`](https://github.com/withastro/astro/commit/e55af8a23233b6335f45b7a04b9d026990fb616c) Thanks [@matthewp](https://github.com/matthewp)! - # New build configuration
The ability to customize SSR build configuration more granularly is now available in Astro. You can now customize the output folder for `server` (the server code for SSR), `client` (your client-side JavaScript and assets), and `serverEntry` (the name of the entrypoint server module). Here are the defaults:
```js
import { defineConfig } from 'astro/config';
export default defineConfig({
output: 'server',
build: {
server: './dist/server/',
client: './dist/client/',
serverEntry: 'entry.mjs',
},
});
```
These new configuration options are only supported in SSR mode and are ignored when building to SSG (a static site).
## Integration hook change
The integration hook `astro:build:start` includes a param `buildConfig` which includes all of these same options. You can continue to use this param in Astro 1.x, but it is deprecated in favor of the new `build.config` options. All of the built-in adapters have been updated to the new format. If you have an integration that depends on this param we suggest upgrading to do this instead:
```js
export default function myIntegration() {
return {
name: 'my-integration',
hooks: {
'astro:config:setup': ({ updateConfig }) => {
updateConfig({
build: {
server: '...',
},
});
},
},
};
}
```
## 3.0.0
### Major Changes

View file

@ -1,7 +1,7 @@
{
"name": "@astrojs/cloudflare",
"description": "Deploy your site to cloudflare pages functions",
"version": "3.0.0",
"version": "3.1.0",
"type": "module",
"types": "./dist/index.d.ts",
"author": "withastro",

View file

@ -1,5 +1,49 @@
# @astrojs/node
## 1.2.0
### Minor Changes
- [#5056](https://github.com/withastro/astro/pull/5056) [`e55af8a23`](https://github.com/withastro/astro/commit/e55af8a23233b6335f45b7a04b9d026990fb616c) Thanks [@matthewp](https://github.com/matthewp)! - # New build configuration
The ability to customize SSR build configuration more granularly is now available in Astro. You can now customize the output folder for `server` (the server code for SSR), `client` (your client-side JavaScript and assets), and `serverEntry` (the name of the entrypoint server module). Here are the defaults:
```js
import { defineConfig } from 'astro/config';
export default defineConfig({
output: 'server',
build: {
server: './dist/server/',
client: './dist/client/',
serverEntry: 'entry.mjs',
},
});
```
These new configuration options are only supported in SSR mode and are ignored when building to SSG (a static site).
## Integration hook change
The integration hook `astro:build:start` includes a param `buildConfig` which includes all of these same options. You can continue to use this param in Astro 1.x, but it is deprecated in favor of the new `build.config` options. All of the built-in adapters have been updated to the new format. If you have an integration that depends on this param we suggest upgrading to do this instead:
```js
export default function myIntegration() {
return {
name: 'my-integration',
hooks: {
'astro:config:setup': ({ updateConfig }) => {
updateConfig({
build: {
server: '...',
},
});
},
},
};
}
```
## 1.1.0
### Minor Changes

View file

@ -1,7 +1,7 @@
{
"name": "@astrojs/deno",
"description": "Deploy your site to a Deno server",
"version": "1.1.0",
"version": "1.2.0",
"type": "module",
"types": "./dist/index.d.ts",
"author": "withastro",

View file

@ -1,5 +1,55 @@
# @astrojs/image
## 0.10.0
### Minor Changes
- [#5056](https://github.com/withastro/astro/pull/5056) [`e55af8a23`](https://github.com/withastro/astro/commit/e55af8a23233b6335f45b7a04b9d026990fb616c) Thanks [@matthewp](https://github.com/matthewp)! - # New build configuration
The ability to customize SSR build configuration more granularly is now available in Astro. You can now customize the output folder for `server` (the server code for SSR), `client` (your client-side JavaScript and assets), and `serverEntry` (the name of the entrypoint server module). Here are the defaults:
```js
import { defineConfig } from 'astro/config';
export default defineConfig({
output: 'server',
build: {
server: './dist/server/',
client: './dist/client/',
serverEntry: 'entry.mjs',
},
});
```
These new configuration options are only supported in SSR mode and are ignored when building to SSG (a static site).
## Integration hook change
The integration hook `astro:build:start` includes a param `buildConfig` which includes all of these same options. You can continue to use this param in Astro 1.x, but it is deprecated in favor of the new `build.config` options. All of the built-in adapters have been updated to the new format. If you have an integration that depends on this param we suggest upgrading to do this instead:
```js
export default function myIntegration() {
return {
name: 'my-integration',
hooks: {
'astro:config:setup': ({ updateConfig }) => {
updateConfig({
build: {
server: '...',
},
});
},
},
};
}
```
### Patch Changes
- [#5073](https://github.com/withastro/astro/pull/5073) [`93f72f90b`](https://github.com/withastro/astro/commit/93f72f90bc8b29b1bf1402354f1ed6a110411243) Thanks [@bluwy](https://github.com/bluwy)! - Fix image external config in build
- [#5072](https://github.com/withastro/astro/pull/5072) [`3918787cb`](https://github.com/withastro/astro/commit/3918787cb9676a8c6b9be371ae90edeb676f4e8f) Thanks [@bluwy](https://github.com/bluwy)! - Support relative protocol image URL
## 0.9.3
### Patch Changes

View file

@ -1,7 +1,7 @@
{
"name": "@astrojs/image",
"description": "Load and transform images in your Astro site.",
"version": "0.9.3",
"version": "0.10.0",
"type": "module",
"types": "./dist/index.d.ts",
"author": "withastro",

View file

@ -1,5 +1,49 @@
# @astrojs/netlify
## 1.2.0
### Minor Changes
- [#5056](https://github.com/withastro/astro/pull/5056) [`e55af8a23`](https://github.com/withastro/astro/commit/e55af8a23233b6335f45b7a04b9d026990fb616c) Thanks [@matthewp](https://github.com/matthewp)! - # New build configuration
The ability to customize SSR build configuration more granularly is now available in Astro. You can now customize the output folder for `server` (the server code for SSR), `client` (your client-side JavaScript and assets), and `serverEntry` (the name of the entrypoint server module). Here are the defaults:
```js
import { defineConfig } from 'astro/config';
export default defineConfig({
output: 'server',
build: {
server: './dist/server/',
client: './dist/client/',
serverEntry: 'entry.mjs',
},
});
```
These new configuration options are only supported in SSR mode and are ignored when building to SSG (a static site).
## Integration hook change
The integration hook `astro:build:start` includes a param `buildConfig` which includes all of these same options. You can continue to use this param in Astro 1.x, but it is deprecated in favor of the new `build.config` options. All of the built-in adapters have been updated to the new format. If you have an integration that depends on this param we suggest upgrading to do this instead:
```js
export default function myIntegration() {
return {
name: 'my-integration',
hooks: {
'astro:config:setup': ({ updateConfig }) => {
updateConfig({
build: {
server: '...',
},
});
},
},
};
}
```
## 1.1.0
### Minor Changes

View file

@ -1,7 +1,7 @@
{
"name": "@astrojs/netlify",
"description": "Deploy your site to Netlify",
"version": "1.1.0",
"version": "1.2.0",
"type": "module",
"types": "./dist/index.d.ts",
"author": "withastro",

View file

@ -1,5 +1,125 @@
# @astrojs/node
## 2.0.0
### Major Changes
- [#5056](https://github.com/withastro/astro/pull/5056) [`e55af8a23`](https://github.com/withastro/astro/commit/e55af8a23233b6335f45b7a04b9d026990fb616c) Thanks [@matthewp](https://github.com/matthewp)! - # Standalone mode for the Node.js adapter
New in `@astrojs/node` is support for **standalone mode**. With standalone mode you can start your production server without needing to write any server JavaScript yourself. The server starts simply by running the script like so:
```shell
node ./dist/server/entry.mjs
```
To enable standalone mode, set the new `mode` to `'standalone'` option in your Astro config:
```js
import { defineConfig } from 'astro/config';
import nodejs from '@astrojs/node';
export default defineConfig({
output: 'server',
adapter: nodejs({
mode: 'standalone',
}),
});
```
See the @astrojs/node documentation to learn all of the options available in standalone mode.
## Breaking change
This is a semver major change because the new `mode` option is required. Existing @astrojs/node users who are using their own HTTP server framework such as Express can upgrade by setting the `mode` option to `'middleware'` in order to build to a middleware mode, which is the same behavior and API as before.
```js
import { defineConfig } from 'astro/config';
import nodejs from '@astrojs/node';
export default defineConfig({
output: 'server',
adapter: nodejs({
mode: 'middleware',
}),
});
```
### Minor Changes
- [#5056](https://github.com/withastro/astro/pull/5056) [`e55af8a23`](https://github.com/withastro/astro/commit/e55af8a23233b6335f45b7a04b9d026990fb616c) Thanks [@matthewp](https://github.com/matthewp)! - # Adapter support for `astro preview`
Adapters are now about to support the `astro preview` command via a new integration option. The Node.js adapter `@astrojs/node` is the first of the built-in adapters to gain support for this. What this means is that if you are using `@astrojs/node` you can new preview your SSR app by running:
```shell
npm run preview
```
## Adapter API
We will be updating the other first party Astro adapters to support preview over time. Adapters can opt in to this feature by providing the `previewEntrypoint` via the `setAdapter` function in `astro:config:done` hook. The Node.js adapter's code looks like this:
```diff
export default function() {
return {
name: '@astrojs/node',
hooks: {
'astro:config:done': ({ setAdapter, config }) => {
setAdapter({
name: '@astrojs/node',
serverEntrypoint: '@astrojs/node/server.js',
+ previewEntrypoint: '@astrojs/node/preview.js',
exports: ['handler'],
});
// more here
}
}
};
}
```
The `previewEntrypoint` is a module in the adapter's package that is a Node.js script. This script is run when `astro preview` is run and is charged with starting up the built server. See the Node.js implementation in `@astrojs/node` to see how that is implemented.
- [#5056](https://github.com/withastro/astro/pull/5056) [`e55af8a23`](https://github.com/withastro/astro/commit/e55af8a23233b6335f45b7a04b9d026990fb616c) Thanks [@matthewp](https://github.com/matthewp)! - # New build configuration
The ability to customize SSR build configuration more granularly is now available in Astro. You can now customize the output folder for `server` (the server code for SSR), `client` (your client-side JavaScript and assets), and `serverEntry` (the name of the entrypoint server module). Here are the defaults:
```js
import { defineConfig } from 'astro/config';
export default defineConfig({
output: 'server',
build: {
server: './dist/server/',
client: './dist/client/',
serverEntry: 'entry.mjs',
},
});
```
These new configuration options are only supported in SSR mode and are ignored when building to SSG (a static site).
## Integration hook change
The integration hook `astro:build:start` includes a param `buildConfig` which includes all of these same options. You can continue to use this param in Astro 1.x, but it is deprecated in favor of the new `build.config` options. All of the built-in adapters have been updated to the new format. If you have an integration that depends on this param we suggest upgrading to do this instead:
```js
export default function myIntegration() {
return {
name: 'my-integration',
hooks: {
'astro:config:setup': ({ updateConfig }) => {
updateConfig({
build: {
server: '...',
},
});
},
},
};
}
```
## 1.1.0
### Minor Changes

View file

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

View file

@ -1,5 +1,11 @@
# @astrojs/solid-js
## 1.2.0
### Minor Changes
- [#5059](https://github.com/withastro/astro/pull/5059) [`f7fcdfe62`](https://github.com/withastro/astro/commit/f7fcdfe6210b3cf08cad92c49b64adf169b9e744) Thanks [@bluwy](https://github.com/bluwy)! - Auto ssr.noExternal solidjs dependencies
## 1.1.1
### Patch Changes

View file

@ -1,6 +1,6 @@
{
"name": "@astrojs/solid-js",
"version": "1.1.1",
"version": "1.2.0",
"description": "Use Solid components within Astro",
"type": "module",
"types": "./dist/index.d.ts",

View file

@ -1,5 +1,11 @@
# @astrojs/svelte
## 1.0.2
### Patch Changes
- [#5045](https://github.com/withastro/astro/pull/5045) [`0f2a88ba5`](https://github.com/withastro/astro/commit/0f2a88ba5c19318854be12cc81609f2dbc5012f7) Thanks [@matthewp](https://github.com/matthewp)! - Allow class to be passed into Svelte islands
## 1.0.1
### Patch Changes

View file

@ -1,6 +1,6 @@
{
"name": "@astrojs/svelte",
"version": "1.0.1",
"version": "1.0.2",
"description": "Use Svelte components within Astro",
"type": "module",
"types": "./dist/index.d.ts",

View file

@ -1,5 +1,13 @@
# @astrojs/tailwind
## 2.1.0
### Minor Changes
- [#4947](https://github.com/withastro/astro/pull/4947) [`a5e3ecc80`](https://github.com/withastro/astro/commit/a5e3ecc8039c1e115ce5597362e18cd35d04e40b) Thanks [@JuanM04](https://github.com/JuanM04)! - ## HMR on config file changes
New in this release is the ability for config changes to automatically reflect via HMR. Now when you edit your `tsconfig.json` or `tailwind.config.js` configs, the changes will reload automatically without the need to restart your dev server.
## 2.0.2
### Patch Changes

View file

@ -1,7 +1,7 @@
{
"name": "@astrojs/tailwind",
"description": "Tailwind + Astro Integrations",
"version": "2.0.2",
"version": "2.1.0",
"type": "module",
"types": "./dist/index.d.ts",
"author": "withastro",

View file

@ -1,5 +1,49 @@
# @astrojs/vercel
## 2.2.0
### Minor Changes
- [#5056](https://github.com/withastro/astro/pull/5056) [`e55af8a23`](https://github.com/withastro/astro/commit/e55af8a23233b6335f45b7a04b9d026990fb616c) Thanks [@matthewp](https://github.com/matthewp)! - # New build configuration
The ability to customize SSR build configuration more granularly is now available in Astro. You can now customize the output folder for `server` (the server code for SSR), `client` (your client-side JavaScript and assets), and `serverEntry` (the name of the entrypoint server module). Here are the defaults:
```js
import { defineConfig } from 'astro/config';
export default defineConfig({
output: 'server',
build: {
server: './dist/server/',
client: './dist/client/',
serverEntry: 'entry.mjs',
},
});
```
These new configuration options are only supported in SSR mode and are ignored when building to SSG (a static site).
## Integration hook change
The integration hook `astro:build:start` includes a param `buildConfig` which includes all of these same options. You can continue to use this param in Astro 1.x, but it is deprecated in favor of the new `build.config` options. All of the built-in adapters have been updated to the new format. If you have an integration that depends on this param we suggest upgrading to do this instead:
```js
export default function myIntegration() {
return {
name: 'my-integration',
hooks: {
'astro:config:setup': ({ updateConfig }) => {
updateConfig({
build: {
server: '...',
},
});
},
},
};
}
```
## 2.1.1
### Patch Changes

View file

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

View file

@ -61,7 +61,7 @@ importers:
examples/basics:
specifiers:
astro: ^1.4.7
astro: ^1.5.0
dependencies:
astro: link:../../packages/astro
@ -70,7 +70,7 @@ importers:
'@astrojs/mdx': ^0.11.4
'@astrojs/rss': ^1.0.2
'@astrojs/sitemap': ^1.0.0
astro: ^1.4.7
astro: ^1.5.0
dependencies:
'@astrojs/mdx': link:../../packages/integrations/mdx
'@astrojs/rss': link:../../packages/astro-rss
@ -79,14 +79,14 @@ importers:
examples/component:
specifiers:
astro: ^1.4.7
astro: ^1.5.0
devDependencies:
astro: link:../../packages/astro
examples/deno:
specifiers:
'@astrojs/deno': ^1.1.0
astro: ^1.4.7
'@astrojs/deno': ^1.2.0
astro: ^1.5.0
dependencies:
astro: link:../../packages/astro
devDependencies:
@ -102,7 +102,7 @@ importers:
'@types/node': ^18.0.0
'@types/react': ^17.0.45
'@types/react-dom': ^18.0.0
astro: ^1.4.7
astro: ^1.5.0
preact: ^10.7.3
react: ^18.1.0
react-dom: ^18.1.0
@ -125,7 +125,7 @@ importers:
'@astrojs/alpinejs': ^0.1.2
'@types/alpinejs': ^3.7.0
alpinejs: ^3.10.2
astro: ^1.4.7
astro: ^1.5.0
dependencies:
'@astrojs/alpinejs': link:../../packages/integrations/alpinejs
'@types/alpinejs': 3.7.0
@ -136,7 +136,7 @@ importers:
specifiers:
'@astrojs/lit': ^1.0.0
'@webcomponents/template-shadowroot': ^0.1.0
astro: ^1.4.7
astro: ^1.5.0
lit: ^2.2.5
dependencies:
'@astrojs/lit': link:../../packages/integrations/lit
@ -148,10 +148,10 @@ importers:
specifiers:
'@astrojs/preact': ^1.2.0
'@astrojs/react': ^1.2.0
'@astrojs/solid-js': ^1.1.1
'@astrojs/svelte': ^1.0.1
'@astrojs/solid-js': ^1.2.0
'@astrojs/svelte': ^1.0.2
'@astrojs/vue': ^1.1.0
astro: ^1.4.7
astro: ^1.5.0
preact: ^10.7.3
react: ^18.1.0
react-dom: ^18.1.0
@ -176,7 +176,7 @@ importers:
specifiers:
'@astrojs/preact': ^1.2.0
'@preact/signals': ^1.1.0
astro: ^1.4.7
astro: ^1.5.0
preact: ^10.7.3
dependencies:
'@astrojs/preact': link:../../packages/integrations/preact
@ -189,7 +189,7 @@ importers:
'@astrojs/react': ^1.2.0
'@types/react': ^18.0.10
'@types/react-dom': ^18.0.5
astro: ^1.4.7
astro: ^1.5.0
react: ^18.1.0
react-dom: ^18.1.0
dependencies:
@ -202,8 +202,8 @@ importers:
examples/framework-solid:
specifiers:
'@astrojs/solid-js': ^1.1.1
astro: ^1.4.7
'@astrojs/solid-js': ^1.2.0
astro: ^1.5.0
solid-js: ^1.4.3
dependencies:
'@astrojs/solid-js': link:../../packages/integrations/solid
@ -212,8 +212,8 @@ importers:
examples/framework-svelte:
specifiers:
'@astrojs/svelte': ^1.0.1
astro: ^1.4.7
'@astrojs/svelte': ^1.0.2
astro: ^1.5.0
svelte: ^3.48.0
dependencies:
'@astrojs/svelte': link:../../packages/integrations/svelte
@ -223,7 +223,7 @@ importers:
examples/framework-vue:
specifiers:
'@astrojs/vue': ^1.1.0
astro: ^1.4.7
astro: ^1.5.0
vue: ^3.2.37
dependencies:
'@astrojs/vue': link:../../packages/integrations/vue
@ -232,33 +232,33 @@ importers:
examples/integration:
specifiers:
astro: ^1.4.7
astro: ^1.5.0
devDependencies:
astro: link:../../packages/astro
examples/minimal:
specifiers:
astro: ^1.4.7
astro: ^1.5.0
dependencies:
astro: link:../../packages/astro
examples/non-html-pages:
specifiers:
astro: ^1.4.7
astro: ^1.5.0
dependencies:
astro: link:../../packages/astro
examples/portfolio:
specifiers:
astro: ^1.4.7
astro: ^1.5.0
dependencies:
astro: link:../../packages/astro
examples/ssr:
specifiers:
'@astrojs/node': ^1.1.0
'@astrojs/svelte': ^1.0.1
astro: ^1.4.7
'@astrojs/node': ^2.0.0
'@astrojs/svelte': ^1.0.2
astro: ^1.5.0
concurrently: ^7.2.1
lightcookie: ^1.0.25
svelte: ^3.48.0
@ -277,7 +277,7 @@ importers:
examples/with-markdown-plugins:
specifiers:
'@astrojs/markdown-remark': ^1.1.3
astro: ^1.4.7
astro: ^1.5.0
hast-util-select: 5.0.1
rehype-autolink-headings: ^6.1.1
rehype-slug: ^5.0.1
@ -294,7 +294,7 @@ importers:
examples/with-markdown-shiki:
specifiers:
astro: ^1.4.7
astro: ^1.5.0
dependencies:
astro: link:../../packages/astro
@ -302,7 +302,7 @@ importers:
specifiers:
'@astrojs/mdx': ^0.11.4
'@astrojs/preact': ^1.2.0
astro: ^1.4.7
astro: ^1.5.0
preact: ^10.6.5
dependencies:
'@astrojs/mdx': link:../../packages/integrations/mdx
@ -314,7 +314,7 @@ importers:
specifiers:
'@astrojs/preact': ^1.2.0
'@nanostores/preact': ^0.1.3
astro: ^1.4.7
astro: ^1.5.0
nanostores: ^0.5.12
preact: ^10.7.3
dependencies:
@ -326,9 +326,9 @@ importers:
examples/with-tailwindcss:
specifiers:
'@astrojs/tailwind': ^2.0.2
'@astrojs/tailwind': ^2.1.0
'@types/canvas-confetti': ^1.4.3
astro: ^1.4.7
astro: ^1.5.0
autoprefixer: ^10.4.7
canvas-confetti: ^1.5.1
postcss: ^8.4.14
@ -344,7 +344,7 @@ importers:
examples/with-vite-plugin-pwa:
specifiers:
astro: ^1.4.7
astro: ^1.5.0
vite-plugin-pwa: 0.11.11
workbox-window: ^6.5.3
dependencies:
@ -354,7 +354,7 @@ importers:
examples/with-vitest:
specifiers:
astro: ^1.4.7
astro: ^1.5.0
vitest: ^0.20.3
dependencies:
astro: link:../../packages/astro
@ -2164,7 +2164,7 @@ importers:
'@astrojs/node': ^1.1.0
astro: workspace:*
dependencies:
'@astrojs/node': link:../../../../integrations/node
'@astrojs/node': 1.1.0
astro: link:../../..
packages/astro/test/fixtures/ssr-api-route-custom-404:
@ -3789,6 +3789,19 @@ packages:
vfile-message: 3.1.2
dev: false
/@astrojs/node/1.1.0:
resolution: {integrity: sha512-4KkCEFYtmTUSvU49UZSJD/VQfD/oKzf0ld8COjFW1pxfquBgvevLxRVpYLRanZB20L3c8/xyyQpDq7zMSMqQrg==}
dependencies:
'@astrojs/webapi': 1.1.0
dev: false
/@astrojs/webapi/1.1.0:
resolution: {integrity: sha512-yLSksFKv9kRbI3WWPuRvbBjS+J5ZNmZHacJ6Io8XQleKIHHHcw7RoNcrLK0s+9iwVPhqMYIzja6HJuvnO93oFw==}
dependencies:
global-agent: 3.0.0
node-fetch: 3.2.10
dev: false
/@babel/code-frame/7.18.6:
resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==}
engines: {node: '>=6.9.0'}