summaryrefslogtreecommitdiff
path: root/packages/renderers/renderer-preact/compat/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/renderers/renderer-preact/compat/index.js')
-rw-r--r--packages/renderers/renderer-preact/compat/index.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/packages/renderers/renderer-preact/compat/index.js b/packages/renderers/renderer-preact/compat/index.js
new file mode 100644
index 000000000..f79998fa4
--- /dev/null
+++ b/packages/renderers/renderer-preact/compat/index.js
@@ -0,0 +1,31 @@
+export default {
+ name: '@astrojs/renderer-preact/compat',
+ client: '../client.js',
+ server: '../server.js',
+ jsxImportSource: 'react',
+ jsxTransformOptions: async () => {
+ const {
+ default: { default: jsx },
+ } = await import('@babel/plugin-transform-react-jsx');
+ return {
+ plugins: [jsx({}, { runtime: 'automatic', importSource: 'preact/compat' })],
+ };
+ },
+ viteConfig() {
+ return {
+ alias: {
+ react: 'preact/compat',
+ 'react-dom': 'preact/compat'
+ },
+ resolve: {
+ dedupe: ['react', 'react-dom'],
+ },
+ optimizeDeps: {
+ include: ['@astrojs/renderer-preact/client.js', 'preact/compat', 'preact/compat/jsx-runtime', 'preact-render-to-string'],
+ },
+ ssr: {
+ external: ['preact-render-to-string'],
+ },
+ };
+ },
+};