summaryrefslogtreecommitdiff
path: root/packages/integrations
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations')
-rw-r--r--packages/integrations/netlify/package.json2
-rw-r--r--packages/integrations/netlify/src/integration-edge-functions.ts2
-rw-r--r--packages/integrations/netlify/test/edge-functions/fixtures/prerender/astro.config.mjs9
-rw-r--r--packages/integrations/netlify/test/edge-functions/fixtures/prerender/package.json9
-rw-r--r--packages/integrations/netlify/test/edge-functions/fixtures/prerender/src/pages/index.astro12
-rw-r--r--packages/integrations/netlify/test/edge-functions/prerender.test.ts18
-rw-r--r--packages/integrations/vercel/src/serverless/adapter.ts2
-rw-r--r--packages/integrations/vercel/test/fixtures/serverless-prerender/astro.config.mjs7
-rw-r--r--packages/integrations/vercel/test/fixtures/serverless-prerender/package.json9
-rw-r--r--packages/integrations/vercel/test/fixtures/serverless-prerender/src/pages/index.astro12
-rw-r--r--packages/integrations/vercel/test/serverless-prerender.test.js18
11 files changed, 97 insertions, 3 deletions
diff --git a/packages/integrations/netlify/package.json b/packages/integrations/netlify/package.json
index 8e87c40c3..dd780608a 100644
--- a/packages/integrations/netlify/package.json
+++ b/packages/integrations/netlify/package.json
@@ -30,7 +30,7 @@
"build:ci": "astro-scripts build \"src/**/*.ts\"",
"dev": "astro-scripts dev \"src/**/*.ts\"",
"test-fn": "mocha --exit --timeout 20000 test/functions/",
- "test-edge": "deno test --allow-run --allow-read --allow-net ./test/edge-functions/",
+ "test-edge": "deno test --allow-run --allow-read --allow-net --allow-env ./test/edge-functions/",
"test": "npm run test-fn"
},
"dependencies": {
diff --git a/packages/integrations/netlify/src/integration-edge-functions.ts b/packages/integrations/netlify/src/integration-edge-functions.ts
index 9cb2d663d..495501f68 100644
--- a/packages/integrations/netlify/src/integration-edge-functions.ts
+++ b/packages/integrations/netlify/src/integration-edge-functions.ts
@@ -122,7 +122,7 @@ export function netlifyEdgeFunctions({ dist }: NetlifyEdgeFunctionsOptions = {})
build: {
client: outDir,
server: new URL('./.netlify/edge-functions/', config.root),
- serverEntry: 'entry.js',
+ serverEntry: 'entry.mjs',
},
});
},
diff --git a/packages/integrations/netlify/test/edge-functions/fixtures/prerender/astro.config.mjs b/packages/integrations/netlify/test/edge-functions/fixtures/prerender/astro.config.mjs
new file mode 100644
index 000000000..cd758352b
--- /dev/null
+++ b/packages/integrations/netlify/test/edge-functions/fixtures/prerender/astro.config.mjs
@@ -0,0 +1,9 @@
+import { defineConfig } from 'astro/config';
+import { netlifyEdgeFunctions } from '@astrojs/netlify';
+
+export default defineConfig({
+ adapter: netlifyEdgeFunctions({
+ dist: new URL('./dist/', import.meta.url),
+ }),
+ output: 'server',
+})
diff --git a/packages/integrations/netlify/test/edge-functions/fixtures/prerender/package.json b/packages/integrations/netlify/test/edge-functions/fixtures/prerender/package.json
new file mode 100644
index 000000000..a080cc213
--- /dev/null
+++ b/packages/integrations/netlify/test/edge-functions/fixtures/prerender/package.json
@@ -0,0 +1,9 @@
+{
+ "name": "@test/astro-netlify-prerender",
+ "version": "0.0.0",
+ "private": true,
+ "dependencies": {
+ "@astrojs/netlify": "workspace:*",
+ "astro": "workspace:*"
+ }
+}
diff --git a/packages/integrations/netlify/test/edge-functions/fixtures/prerender/src/pages/index.astro b/packages/integrations/netlify/test/edge-functions/fixtures/prerender/src/pages/index.astro
new file mode 100644
index 000000000..075253550
--- /dev/null
+++ b/packages/integrations/netlify/test/edge-functions/fixtures/prerender/src/pages/index.astro
@@ -0,0 +1,12 @@
+---
+export const prerender = true
+---
+
+<html>
+ <head>
+ <title>testing</title>
+ </head>
+ <body>
+ <h1>testing</h1>
+ </body>
+</html>
diff --git a/packages/integrations/netlify/test/edge-functions/prerender.test.ts b/packages/integrations/netlify/test/edge-functions/prerender.test.ts
new file mode 100644
index 000000000..4237e321a
--- /dev/null
+++ b/packages/integrations/netlify/test/edge-functions/prerender.test.ts
@@ -0,0 +1,18 @@
+// @ts-ignore
+import { runBuild } from './test-utils.ts';
+// @ts-ignore
+import { assertEquals } from './deps.ts';
+
+// @ts-ignore
+Deno.test({
+ name: 'Prerender',
+ async fn() {
+ let close = await runBuild('./fixtures/prerender/');
+ const { default: handler } = await import(
+ './fixtures/prerender/.netlify/edge-functions/entry.mjs'
+ );
+ const response = await handler(new Request('http://example.com/index.html'));
+ assertEquals(response, undefined, 'No response because this is an asset');
+ await close();
+ },
+}); \ No newline at end of file
diff --git a/packages/integrations/vercel/src/serverless/adapter.ts b/packages/integrations/vercel/src/serverless/adapter.ts
index 8a9553eca..24b9c735b 100644
--- a/packages/integrations/vercel/src/serverless/adapter.ts
+++ b/packages/integrations/vercel/src/serverless/adapter.ts
@@ -43,7 +43,7 @@ export default function vercelServerless({
updateConfig({
outDir,
build: {
- serverEntry: 'entry.js',
+ serverEntry: 'entry.mjs',
client: new URL('./static/', outDir),
server: new URL('./dist/', config.root),
},
diff --git a/packages/integrations/vercel/test/fixtures/serverless-prerender/astro.config.mjs b/packages/integrations/vercel/test/fixtures/serverless-prerender/astro.config.mjs
new file mode 100644
index 000000000..03228c5df
--- /dev/null
+++ b/packages/integrations/vercel/test/fixtures/serverless-prerender/astro.config.mjs
@@ -0,0 +1,7 @@
+import { defineConfig } from 'astro/config';
+import vercel from '@astrojs/vercel/serverless';
+
+export default defineConfig({
+ adapter: vercel(),
+ output: 'server'
+});
diff --git a/packages/integrations/vercel/test/fixtures/serverless-prerender/package.json b/packages/integrations/vercel/test/fixtures/serverless-prerender/package.json
new file mode 100644
index 000000000..c51362516
--- /dev/null
+++ b/packages/integrations/vercel/test/fixtures/serverless-prerender/package.json
@@ -0,0 +1,9 @@
+{
+ "name": "@test/astro-vercel-serverless-prerender",
+ "version": "0.0.0",
+ "private": true,
+ "dependencies": {
+ "@astrojs/vercel": "workspace:*",
+ "astro": "workspace:*"
+ }
+}
diff --git a/packages/integrations/vercel/test/fixtures/serverless-prerender/src/pages/index.astro b/packages/integrations/vercel/test/fixtures/serverless-prerender/src/pages/index.astro
new file mode 100644
index 000000000..075253550
--- /dev/null
+++ b/packages/integrations/vercel/test/fixtures/serverless-prerender/src/pages/index.astro
@@ -0,0 +1,12 @@
+---
+export const prerender = true
+---
+
+<html>
+ <head>
+ <title>testing</title>
+ </head>
+ <body>
+ <h1>testing</h1>
+ </body>
+</html>
diff --git a/packages/integrations/vercel/test/serverless-prerender.test.js b/packages/integrations/vercel/test/serverless-prerender.test.js
new file mode 100644
index 000000000..4cada43a7
--- /dev/null
+++ b/packages/integrations/vercel/test/serverless-prerender.test.js
@@ -0,0 +1,18 @@
+import { loadFixture } from './test-utils.js';
+import { expect } from 'chai';
+
+describe('Serverless prerender', () => {
+ /** @type {import('./test-utils').Fixture} */
+ let fixture;
+
+ before(async () => {
+ fixture = await loadFixture({
+ root: './fixtures/serverless-prerender/',
+ });
+ });
+
+ it('build successful', async () => {
+ await fixture.build();
+ expect(fixture.readFile('/static/index.html')).to.be.ok;
+ });
+});