summaryrefslogtreecommitdiff
path: root/packages/integrations/netlify
diff options
context:
space:
mode:
authorGravatar unknown <matthew@skypack.dev> 2022-04-20 17:17:11 -0400
committerGravatar unknown <matthew@skypack.dev> 2022-04-20 17:17:11 -0400
commit700d4f9649b72e98a56586a480e6d3c413cf45f1 (patch)
treeaf69b638d0e7de89357cbfbdcb5508c7162e0f39 /packages/integrations/netlify
parent12f6b6099810f3f56e5ca956c84216725a6d777c (diff)
downloadastro-700d4f9649b72e98a56586a480e6d3c413cf45f1.tar.gz
astro-700d4f9649b72e98a56586a480e6d3c413cf45f1.tar.zst
astro-700d4f9649b72e98a56586a480e6d3c413cf45f1.zip
Fixes using React.lazy and Suspense
Diffstat (limited to 'packages/integrations/netlify')
-rw-r--r--packages/integrations/netlify/src/integration-edge-functions.ts3
-rw-r--r--packages/integrations/netlify/test/edge-functions/deps.ts1
-rw-r--r--packages/integrations/netlify/test/edge-functions/edge-basic.test.ts9
-rw-r--r--packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/.netlify/edge-functions/manifest.json13
-rw-r--r--packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/astro.config.mjs2
-rw-r--r--packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/package.json1
-rw-r--r--packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/src/components/React.jsx7
-rw-r--r--packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/src/pages/index.astro4
8 files changed, 38 insertions, 2 deletions
diff --git a/packages/integrations/netlify/src/integration-edge-functions.ts b/packages/integrations/netlify/src/integration-edge-functions.ts
index 0165c7831..991838312 100644
--- a/packages/integrations/netlify/src/integration-edge-functions.ts
+++ b/packages/integrations/netlify/src/integration-edge-functions.ts
@@ -86,6 +86,9 @@ export function netlifyEdgeFunctions({ dist }: NetlifyEdgeFunctionsOptions = {})
},
'astro:build:setup': ({ vite, target }) => {
if (target === 'server') {
+ vite.resolve = vite.resolve || {};
+ vite.resolve.alias = vite.resolve.alias || {};
+ vite.resolve.alias['react-dom/server'] = 'react-dom/server.browser'
vite.ssr = {
noExternal: true,
};
diff --git a/packages/integrations/netlify/test/edge-functions/deps.ts b/packages/integrations/netlify/test/edge-functions/deps.ts
index f3e46181a..1b23a94f7 100644
--- a/packages/integrations/netlify/test/edge-functions/deps.ts
+++ b/packages/integrations/netlify/test/edge-functions/deps.ts
@@ -1,3 +1,4 @@
// @ts-nocheck
export { fromFileUrl } from 'https://deno.land/std@0.110.0/path/mod.ts';
export { assertEquals, assert } from 'https://deno.land/std@0.132.0/testing/asserts.ts';
+export * from 'https://deno.land/x/deno_dom/deno-dom-wasm.ts';
diff --git a/packages/integrations/netlify/test/edge-functions/edge-basic.test.ts b/packages/integrations/netlify/test/edge-functions/edge-basic.test.ts
index 7fc8877bd..0b29fc1a9 100644
--- a/packages/integrations/netlify/test/edge-functions/edge-basic.test.ts
+++ b/packages/integrations/netlify/test/edge-functions/edge-basic.test.ts
@@ -1,7 +1,7 @@
// @ts-ignore
import { runBuild } from './test-utils.ts';
// @ts-ignore
-import { assertEquals, assert } from './deps.ts';
+import { assertEquals, assert, DOMParser } from './deps.ts';
// @ts-ignore
Deno.test({
@@ -9,12 +9,17 @@ Deno.test({
async fn() {
let close = await runBuild('./fixtures/edge-basic/');
const { default: handler } = await import(
- './fixtures/edge-basic/dist/edge-functions/entry.mjs'
+ './fixtures/edge-basic/dist/edge-functions/entry.js'
);
const response = await handler(new Request('http://example.com/'));
assertEquals(response.status, 200);
const html = await response.text();
assert(html, 'got some html');
+
+ const doc = new DOMParser().parseFromString(html, `text/html`)!;
+ const div = doc.querySelector('#react');
+ assert(div, 'div exists');
+
await close();
},
});
diff --git a/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/.netlify/edge-functions/manifest.json b/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/.netlify/edge-functions/manifest.json
new file mode 100644
index 000000000..f49242402
--- /dev/null
+++ b/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/.netlify/edge-functions/manifest.json
@@ -0,0 +1,13 @@
+{
+ "functions": [
+ {
+ "function": "entry",
+ "path": "/"
+ },
+ {
+ "function": "entry",
+ "path": "/two"
+ }
+ ],
+ "version": 1
+} \ No newline at end of file
diff --git a/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/astro.config.mjs b/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/astro.config.mjs
index c55135e43..d7c899264 100644
--- a/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/astro.config.mjs
+++ b/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/astro.config.mjs
@@ -1,10 +1,12 @@
import { defineConfig } from 'astro/config';
import { netlifyEdgeFunctions } from '@astrojs/netlify';
+import react from "@astrojs/react";
export default defineConfig({
adapter: netlifyEdgeFunctions({
dist: new URL('./dist/', import.meta.url),
}),
+ integrations: [react()],
experimental: {
ssr: true
}
diff --git a/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/package.json b/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/package.json
index bbda2476b..16ff30088 100644
--- a/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/package.json
+++ b/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/package.json
@@ -4,6 +4,7 @@
"private": true,
"dependencies": {
"astro": "workspace:*",
+ "@astrojs/react": "workspace:*",
"@astrojs/netlify": "workspace:*"
}
}
diff --git a/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/src/components/React.jsx b/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/src/components/React.jsx
new file mode 100644
index 000000000..c6cf39aa5
--- /dev/null
+++ b/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/src/components/React.jsx
@@ -0,0 +1,7 @@
+import React from 'react';
+
+export default function() {
+ return (
+ <div id="react">testing</div>
+ )
+}
diff --git a/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/src/pages/index.astro b/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/src/pages/index.astro
index a87de65db..80d2eed75 100644
--- a/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/src/pages/index.astro
+++ b/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/src/pages/index.astro
@@ -1,3 +1,6 @@
+---
+import ReactComponent from '../components/React.jsx';
+---
<html>
<head><title>Testing</title></head>
<body>
@@ -6,5 +9,6 @@
<ul>
<li><a href="/two/">Two</a></li>
</ul>
+ <ReactComponent />
</body>
</html>