summaryrefslogtreecommitdiff
path: root/packages/integrations/react
diff options
context:
space:
mode:
authorGravatar Houston (Bot) <108291165+astrobot-houston@users.noreply.github.com> 2023-08-11 08:14:20 -0700
committerGravatar GitHub <noreply@github.com> 2023-08-11 11:14:20 -0400
commit40efae65501fc79c281e34b5af912bf837b7105b (patch)
tree8a6b834647f9e6b2b36aceaaf47397cba8ac51e7 /packages/integrations/react
parent866ed4098edffb052239cdb26e076cf8db61b1d9 (diff)
downloadastro-40efae65501fc79c281e34b5af912bf837b7105b.tar.gz
astro-40efae65501fc79c281e34b5af912bf837b7105b.tar.zst
astro-40efae65501fc79c281e34b5af912bf837b7105b.zip
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Diffstat (limited to 'packages/integrations/react')
-rw-r--r--packages/integrations/react/CHANGELOG.md10
-rw-r--r--packages/integrations/react/package.json2
-rw-r--r--packages/integrations/react/src/index.ts21
3 files changed, 24 insertions, 9 deletions
diff --git a/packages/integrations/react/CHANGELOG.md b/packages/integrations/react/CHANGELOG.md
index 9b5173098..c95bd40fa 100644
--- a/packages/integrations/react/CHANGELOG.md
+++ b/packages/integrations/react/CHANGELOG.md
@@ -1,5 +1,15 @@
# @astrojs/react
+## 3.0.0-beta.1
+
+### Major Changes
+
+- [#7924](https://github.com/withastro/astro/pull/7924) [`519a1c4e8`](https://github.com/withastro/astro/commit/519a1c4e8407c7abcb8d879b67a9f4b960652cae) Thanks [@matthewp](https://github.com/matthewp)! - Support for React Refresh
+
+ The React integration now fully supports React Refresh and is backed by `@vitejs/plugin-react`.
+
+ Also included in this change are new `include` and `exclude` config options. Use these if you want to use React alongside another JSX framework; include specifies files to be compiled for React and `exclude` does the opposite.
+
## 3.0.0-beta.0
### Major Changes
diff --git a/packages/integrations/react/package.json b/packages/integrations/react/package.json
index 28dbf0891..889d11564 100644
--- a/packages/integrations/react/package.json
+++ b/packages/integrations/react/package.json
@@ -1,7 +1,7 @@
{
"name": "@astrojs/react",
"description": "Use React components within Astro",
- "version": "3.0.0-beta.0",
+ "version": "3.0.0-beta.1",
"type": "module",
"types": "./dist/index.d.ts",
"author": "withastro",
diff --git a/packages/integrations/react/src/index.ts b/packages/integrations/react/src/index.ts
index da008a670..f5332e2ed 100644
--- a/packages/integrations/react/src/index.ts
+++ b/packages/integrations/react/src/index.ts
@@ -1,9 +1,8 @@
import type { AstroIntegration } from 'astro';
import { version as ReactVersion } from 'react-dom';
-import react, {type Options as ViteReactPluginOptions} from '@vitejs/plugin-react';
+import react, { type Options as ViteReactPluginOptions } from '@vitejs/plugin-react';
import { appendForwardSlash } from '@astrojs/internal-helpers/path';
-
const FAST_REFRESH_PREAMBLE = react.preambleCode;
function getRenderer() {
@@ -18,7 +17,7 @@ function getRenderer() {
};
}
-function getViteConfiguration({include, exclude}: Options = {}) {
+function getViteConfiguration({ include, exclude }: Options = {}) {
return {
optimizeDeps: {
include: [
@@ -36,7 +35,7 @@ function getViteConfiguration({include, exclude}: Options = {}) {
: '@astrojs/react/server-v17.js',
],
},
- plugins: [react({include, exclude})],
+ plugins: [react({ include, exclude })],
resolve: {
dedupe: ['react', 'react-dom', 'react-dom/server'],
},
@@ -56,16 +55,22 @@ function getViteConfiguration({include, exclude}: Options = {}) {
};
}
-export type Options =Pick<ViteReactPluginOptions, 'include' | 'exclude'>;
-export default function ({include, exclude}: Pick<ViteReactPluginOptions, 'include' | 'exclude'> = {}): AstroIntegration {
+export type Options = Pick<ViteReactPluginOptions, 'include' | 'exclude'>;
+export default function ({
+ include,
+ exclude,
+}: Pick<ViteReactPluginOptions, 'include' | 'exclude'> = {}): AstroIntegration {
return {
name: '@astrojs/react',
hooks: {
'astro:config:setup': ({ config, command, addRenderer, updateConfig, injectScript }) => {
addRenderer(getRenderer());
- updateConfig({ vite: getViteConfiguration({include, exclude}) });
+ updateConfig({ vite: getViteConfiguration({ include, exclude }) });
if (command === 'dev') {
- const preamble = FAST_REFRESH_PREAMBLE.replace(`__BASE__`, appendForwardSlash(config.base))
+ const preamble = FAST_REFRESH_PREAMBLE.replace(
+ `__BASE__`,
+ appendForwardSlash(config.base)
+ );
injectScript('before-hydration', preamble);
}
},