aboutsummaryrefslogtreecommitdiff
path: root/packages/integrations/cloudflare/test
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/cloudflare/test')
-rw-r--r--packages/integrations/cloudflare/test/_test-utils.js2
-rw-r--r--packages/integrations/cloudflare/test/astro-dev-platform.test.js (renamed from packages/integrations/cloudflare/test/z-dev-runtime-pages.test.js)23
-rw-r--r--packages/integrations/cloudflare/test/dev-runtime-workers.test.js91
-rw-r--r--packages/integrations/cloudflare/test/directory-mode.test.js33
-rw-r--r--packages/integrations/cloudflare/test/exteral-image-service.test.js9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/astro-dev-platform/.dev.vars1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/astro-dev-platform/astro.config.ts (renamed from packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/astro.config.ts)5
-rw-r--r--packages/integrations/cloudflare/test/fixtures/astro-dev-platform/package.json (renamed from packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/package.json)2
-rw-r--r--packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/env.d.ts (renamed from packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/env.d.ts)0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/pages/caches.astro (renamed from packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/caches.astro)0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/pages/d1.astro (renamed from packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/d1.astro)0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/pages/index.astro (renamed from packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/index.astro)0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/pages/kv.astro (renamed from packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/kv.astro)0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/pages/r2.astro (renamed from packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/r2.astro)0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/astro-dev-platform/wrangler.toml29
-rw-r--r--packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/astro.config.ts52
-rw-r--r--packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/do.astro15
-rw-r--r--packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/services.astro16
-rw-r--r--packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/wrangler.toml1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/.dev.vars1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/package.json12
-rw-r--r--packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/caches.astro15
-rw-r--r--packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/d1.astro21
-rw-r--r--packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/do.astro15
-rw-r--r--packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/index.astro13
-rw-r--r--packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/kv.astro20
-rw-r--r--packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/r2.astro20
-rw-r--r--packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/services.astro16
-rw-r--r--packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/wrangler.toml45
-rw-r--r--packages/integrations/cloudflare/test/fixtures/directory-mode/astro.config.mjs10
-rw-r--r--packages/integrations/cloudflare/test/fixtures/directory-mode/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/directory-mode/src/env.d.ts1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/directory-mode/src/pages/index.astro9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/astro.config.mjs15
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/env.d.ts1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/middleware.ts10
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[language]/files/[...path].astro37
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[person]/[car].astro14
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/[post].astro14
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/cool.astro11
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/files/[...path].astro37
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/index.astro22
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/javascript.js0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/prerender.astro14
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/test.json.ts0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/trpc/[trpc].ts0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/hybrid/astro.config.mjs7
-rw-r--r--packages/integrations/cloudflare/test/fixtures/hybrid/src/env.d.ts1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/hybrid/src/pages/index.astro8
-rw-r--r--packages/integrations/cloudflare/test/fixtures/hybrid/src/pages/one.astro11
-rw-r--r--packages/integrations/cloudflare/test/fixtures/prerender/astro.config.mjs7
-rw-r--r--packages/integrations/cloudflare/test/fixtures/prerender/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/prerender/src/env.d.ts1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/prerender/src/pages/index.astro8
-rw-r--r--packages/integrations/cloudflare/test/fixtures/prerender/src/pages/one.astro11
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/astro.config.mjs1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/env.d.ts2
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/404.astro3
-rw-r--r--packages/integrations/cloudflare/test/fixtures/routes-json/src/staticOnly/pages/404.astro3
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-directory/astro.config.mjs10
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-directory/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-directory/src/env.d.ts1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-directory/src/pages/index.ts18
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-directory/src/util/add.wasmbin41 -> 0 bytes
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/astro.config.mjs12
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/env.d.ts1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/deeply/nested/route.ts14
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/index.ts14
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.ts6
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.wasmbin41 -> 0 bytes
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/indirection.ts9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wasm/astro.config.mjs2
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/.dev.vars (renamed from packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/.dev.vars)0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/astro.config.mjs (renamed from packages/integrations/cloudflare/test/fixtures/wrangler-runtime/astro.config.mjs)0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/package.json (renamed from packages/integrations/cloudflare/test/fixtures/hybrid/package.json)2
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/src/env.d.ts (renamed from packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/env.d.ts)0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/src/pages/index.astro (renamed from packages/integrations/cloudflare/test/fixtures/wrangler-runtime/src/pages/index.astro)0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/wrangler.toml (renamed from packages/integrations/cloudflare/test/fixtures/wrangler-runtime/wrangler.toml)0
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wrangler-runtime/.dev.vars1
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wrangler-runtime/package.json9
-rw-r--r--packages/integrations/cloudflare/test/fixtures/wrangler-runtime/src/env.d.ts1
-rw-r--r--packages/integrations/cloudflare/test/function-per-route.test.js37
-rw-r--r--packages/integrations/cloudflare/test/hybrid.test.js23
-rw-r--r--packages/integrations/cloudflare/test/prerender.test.js23
-rw-r--r--packages/integrations/cloudflare/test/routes-json.test.js343
-rw-r--r--packages/integrations/cloudflare/test/wasm-directory.test.js39
-rw-r--r--packages/integrations/cloudflare/test/wasm-function-per-route.test.js44
-rw-r--r--packages/integrations/cloudflare/test/wasm.test.js4
-rw-r--r--packages/integrations/cloudflare/test/with-solid-js.test.js4
-rw-r--r--packages/integrations/cloudflare/test/wrangler-preview-platform.test.js (renamed from packages/integrations/cloudflare/test/wrangler-runtime.test.js)8
92 files changed, 196 insertions, 1189 deletions
diff --git a/packages/integrations/cloudflare/test/_test-utils.js b/packages/integrations/cloudflare/test/_test-utils.js
index 4fe97184c..904935280 100644
--- a/packages/integrations/cloudflare/test/_test-utils.js
+++ b/packages/integrations/cloudflare/test/_test-utils.js
@@ -28,6 +28,8 @@ export function wranglerCli(cwd) {
'pages',
'dev',
'dist',
+ '--ip',
+ '127.0.0.1',
'--port',
'8788',
'--compatibility-date',
diff --git a/packages/integrations/cloudflare/test/z-dev-runtime-pages.test.js b/packages/integrations/cloudflare/test/astro-dev-platform.test.js
index 9c331cac3..f360b93a7 100644
--- a/packages/integrations/cloudflare/test/z-dev-runtime-pages.test.js
+++ b/packages/integrations/cloudflare/test/astro-dev-platform.test.js
@@ -4,8 +4,8 @@ import { fileURLToPath } from 'node:url';
import * as cheerio from 'cheerio';
import { astroCli } from './_test-utils.js';
-const root = new URL('./fixtures/dev-runtime-pages/', import.meta.url);
-describe('DevRuntimePages', () => {
+const root = new URL('./fixtures/astro-dev-platform/', import.meta.url);
+describe('AstroDevPlatform', () => {
let cli;
before(async () => {
cli = astroCli(fileURLToPath(root), 'dev', '--host', '127.0.0.1');
@@ -20,10 +20,6 @@ describe('DevRuntimePages', () => {
after((done) => {
cli.kill();
- setTimeout(() => {
- // console.log('CLEANED');
- done();
- }, 1000);
});
it('exists', async () => {
@@ -73,19 +69,4 @@ describe('DevRuntimePages', () => {
assert.equal($('#hasPRODKV').text(), 'true');
assert.equal($('#hasACCESS').text(), 'true');
});
-
- it('adds DO mocking', async () => {
- const res = await fetch('http://127.0.0.1:4321/do');
- const html = await res.text();
- const $ = cheerio.load(html);
- assert.equal($('#hasDO').text(), 'true');
- });
-
- it('adds service bindings mocking', async () => {
- const res = await fetch('http://127.0.0.1:4321/services');
- const html = await res.text();
- const $ = cheerio.load(html);
- assert.equal($('#hasAUTH').text(), 'true');
- assert.equal($('#hasLOGOUT').text(), 'true');
- });
});
diff --git a/packages/integrations/cloudflare/test/dev-runtime-workers.test.js b/packages/integrations/cloudflare/test/dev-runtime-workers.test.js
deleted file mode 100644
index a2f8d3847..000000000
--- a/packages/integrations/cloudflare/test/dev-runtime-workers.test.js
+++ /dev/null
@@ -1,91 +0,0 @@
-import * as assert from 'node:assert/strict';
-import { after, before, describe, it } from 'node:test';
-import { fileURLToPath } from 'node:url';
-import * as cheerio from 'cheerio';
-import { astroCli } from './_test-utils.js';
-
-const root = new URL('./fixtures/dev-runtime-workers/', import.meta.url);
-describe('DevRuntimeWorkers', () => {
- let cli;
- before(async () => {
- cli = astroCli(fileURLToPath(root), 'dev', '--host', '127.0.0.1');
- await new Promise((resolve) => {
- cli.stdout.on('data', (data) => {
- if (data.includes('http://127.0.0.1:4321/')) {
- resolve();
- }
- });
- });
- });
-
- after((done) => {
- cli.kill();
- setTimeout(() => {
- // console.log('CLEANED');
- done();
- }, 1000);
- });
-
- it('exists', async () => {
- const res = await fetch('http://127.0.0.1:4321/');
- const html = await res.text();
- const $ = cheerio.load(html);
- assert.equal($('#hasRuntime').text().includes('true'), true);
- });
-
- it('adds cf object', async () => {
- const res = await fetch('http://127.0.0.1:4321/');
- const html = await res.text();
- const $ = cheerio.load(html);
- assert.equal($('#hasCF').text(), 'true');
- });
-
- it('adds cache mocking', async () => {
- const res = await fetch('http://127.0.0.1:4321/caches');
- const html = await res.text();
- const $ = cheerio.load(html);
- assert.equal($('#hasCACHE').text(), 'true');
- });
-
- it('adds D1 mocking', async () => {
- const res = await fetch('http://127.0.0.1:4321/d1');
- const html = await res.text();
- const $ = cheerio.load(html);
- assert.equal($('#hasDB').text(), 'true');
- assert.equal($('#hasPRODDB').text(), 'true');
- assert.equal($('#hasACCESS').text(), 'true');
- });
-
- it('adds R2 mocking', async () => {
- const res = await fetch('http://127.0.0.1:4321/r2');
- const html = await res.text();
- const $ = cheerio.load(html);
- assert.equal($('#hasBUCKET').text(), 'true');
- assert.equal($('#hasPRODBUCKET').text(), 'true');
- assert.equal($('#hasACCESS').text(), 'true');
- });
-
- it('adds KV mocking', async () => {
- const res = await fetch('http://127.0.0.1:4321/kv');
- const html = await res.text();
- const $ = cheerio.load(html);
- assert.equal($('#hasKV').text(), 'true');
- assert.equal($('#hasPRODKV').text(), 'true');
- assert.equal($('#hasACCESS').text(), 'true');
- });
-
- it('adds DO mocking', async () => {
- const res = await fetch('http://127.0.0.1:4321/do');
- const html = await res.text();
- const $ = cheerio.load(html);
- assert.equal($('#hasDO').text(), 'true');
- });
-
- it('adds service bindings mocking', async () => {
- const res = await fetch('http://127.0.0.1:4321/services');
- const html = await res.text();
- const $ = cheerio.load(html);
- assert.equal($('#hasAUTH').text(), 'true');
- assert.equal($('#hasLOGOUT').text(), 'true');
- });
-});
diff --git a/packages/integrations/cloudflare/test/directory-mode.test.js b/packages/integrations/cloudflare/test/directory-mode.test.js
deleted file mode 100644
index 435e037ef..000000000
--- a/packages/integrations/cloudflare/test/directory-mode.test.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import * as assert from 'node:assert/strict';
-import { existsSync, readFileSync } from 'node:fs';
-import { before, describe, it } from 'node:test';
-import { fileURLToPath } from 'node:url';
-import { astroCli } from './_test-utils.js';
-
-const root = new URL('./fixtures/directory-mode/', import.meta.url);
-describe('Directory mode', () => {
- before(async () => {
- await astroCli(fileURLToPath(root), 'build');
- });
-
- it('generates functions folder inside the project root', () => {
- const testURL = new URL('functions', root);
- assert.equal(existsSync(fileURLToPath(testURL)), true);
- });
-
- it('generates functions file inside the project root', () => {
- const testURL = new URL('functions/[[path]].js', root);
- assert.equal(existsSync(fileURLToPath(testURL)), true);
- });
-
- it('generates a redirects file', () => {
- const testURL = new URL('dist/_redirects', root);
- try {
- const _redirects = readFileSync(fileURLToPath(testURL), 'utf-8');
- const parts = _redirects.split(/\s+/);
- assert.deepEqual(parts, ['/old', '/', '301']);
- } catch (e) {
- assert.equal(false, true);
- }
- });
-});
diff --git a/packages/integrations/cloudflare/test/exteral-image-service.test.js b/packages/integrations/cloudflare/test/exteral-image-service.test.js
index 22f5bd5dd..80ff2140f 100644
--- a/packages/integrations/cloudflare/test/exteral-image-service.test.js
+++ b/packages/integrations/cloudflare/test/exteral-image-service.test.js
@@ -2,6 +2,7 @@ import * as assert from 'node:assert/strict';
import { readFileSync } from 'node:fs';
import { describe, it } from 'node:test';
import { fileURLToPath } from 'node:url';
+import glob from 'tiny-glob';
import { astroCli } from './_test-utils.js';
const root = new URL('./fixtures/external-image-service/', import.meta.url);
@@ -9,7 +10,13 @@ const root = new URL('./fixtures/external-image-service/', import.meta.url);
describe('ExternalImageService', () => {
it('has correct image service', async () => {
await astroCli(fileURLToPath(root), 'build');
- const outFileToCheck = readFileSync(fileURLToPath(new URL('dist/_worker.js', root)), 'utf-8');
+ const files = await glob('**/image-service_*.mjs', {
+ cwd: fileURLToPath(new URL('dist/_worker.js', root)),
+ filesOnly: true,
+ absolute: true,
+ flush: true,
+ });
+ const outFileToCheck = readFileSync(files[0], 'utf-8');
assert.equal(outFileToCheck.includes('cdn-cgi/image'), true);
});
});
diff --git a/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/.dev.vars b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/.dev.vars
new file mode 100644
index 000000000..641dd0791
--- /dev/null
+++ b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/.dev.vars
@@ -0,0 +1 @@
+DATABASE_URL="postgresql://loremMe"
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/astro.config.ts b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/astro.config.ts
index 78c1b688f..95234c069 100644
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/astro.config.ts
+++ b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/astro.config.ts
@@ -3,9 +3,8 @@ import { defineConfig } from 'astro/config';
export default defineConfig({
adapter: cloudflare({
- runtime: {
- mode: 'local',
- type: 'workers',
+ platformProxy: {
+ enabled: true,
},
}),
output: 'server',
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/package.json b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/package.json
index 4e3fd2df8..7cc3ecde8 100644
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/package.json
+++ b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/package.json
@@ -1,5 +1,5 @@
{
- "name": "@test/astro-cloudflare-dev-runtime-pages",
+ "name": "@test/astro-cloudflare-astro-dev-platform",
"version": "0.0.0",
"private": true,
"dependencies": {
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/env.d.ts b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/env.d.ts
index 8c34fb45e..8c34fb45e 100644
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/env.d.ts
+++ b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/env.d.ts
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/caches.astro b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/pages/caches.astro
index 743111721..743111721 100644
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/caches.astro
+++ b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/pages/caches.astro
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/d1.astro b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/pages/d1.astro
index a28940e9f..a28940e9f 100644
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/d1.astro
+++ b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/pages/d1.astro
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/pages/index.astro
index 7d2ce1ef1..7d2ce1ef1 100644
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/index.astro
+++ b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/pages/index.astro
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/kv.astro b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/pages/kv.astro
index d21f163a0..d21f163a0 100644
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/kv.astro
+++ b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/pages/kv.astro
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/r2.astro b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/pages/r2.astro
index fbb9fc61b..fbb9fc61b 100644
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/r2.astro
+++ b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/src/pages/r2.astro
diff --git a/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/wrangler.toml b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/wrangler.toml
new file mode 100644
index 000000000..3119ab45b
--- /dev/null
+++ b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/wrangler.toml
@@ -0,0 +1,29 @@
+name = "test"
+
+kv_namespaces = [
+ { binding = "KV", id = "<YOUR_ID>", preview_id = "<YOUR_ID>" },
+ { binding = "KV_PROD", id = "<YOUR_ID>", preview_id = "<YOUR_ID>" },
+]
+
+[vars]
+COOL = "ME"
+
+[[d1_databases]]
+binding = "D1"
+database_name = "<DATABASE_NAME>"
+database_id = "<unique-ID-for-your-database>"
+preview_database_id = "D1"
+
+[[d1_databases]]
+binding = "D1_PROD"
+database_name = "<DATABASE_NAME>"
+database_id = "<unique-ID-for-your-database>"
+preview_database_id = "D1_PROD"
+
+[[r2_buckets]]
+binding = 'R2'
+bucket_name = '<YOUR_BUCKET_NAME>'
+
+[[r2_buckets]]
+binding = 'R2_PROD'
+bucket_name = '<YOUR_BUCKET_NAME>'
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/astro.config.ts b/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/astro.config.ts
deleted file mode 100644
index 00f739e94..000000000
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/astro.config.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import cloudflare from '@astrojs/cloudflare';
-import { defineConfig } from 'astro/config';
-
-export default defineConfig({
- adapter: cloudflare({
- runtime: {
- mode: 'local',
- type: 'pages',
- bindings: {
- KV: {
- type: 'kv',
- },
- KV_PROD: {
- type: 'kv',
- },
- COOL: {
- type: 'var',
- value: 'ME',
- },
- D1: {
- type: 'd1',
- },
- D1_PROD: {
- type: 'd1',
- },
- R2: {
- type: 'r2',
- },
- R2_PROD: {
- type: 'r2',
- },
- DO: {
- type: 'durable-object',
- className: 'DO',
- },
- DO_PROD: {
- type: 'durable-object',
- className: 'DO_PROD',
- },
- AUTH: {
- type: 'service',
- address: '127.0.0.1:8787'
- },
- LOGOUT: {
- type: 'service',
- address: '127.0.0.1:8787'
- }
- },
- },
- }),
- output: 'server',
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/do.astro b/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/do.astro
deleted file mode 100644
index e338c8e8f..000000000
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/do.astro
+++ /dev/null
@@ -1,15 +0,0 @@
----
-const runtime = Astro.locals.runtime;
----
-
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>DO</title>
- </head>
- <body>
- <pre id="hasDO">{!!runtime.env.DO}</pre>
- </body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/services.astro b/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/services.astro
deleted file mode 100644
index b60732850..000000000
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/src/pages/services.astro
+++ /dev/null
@@ -1,16 +0,0 @@
----
-const runtime = Astro.locals.runtime;
----
-
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>Service bindings</title>
- </head>
- <body>
- <pre id="hasAUTH">{!!runtime.env.AUTH && typeof runtime.env.AUTH.fetch === 'function'}</pre>
- <pre id="hasLOGOUT">{!!runtime.env.LOGOUT && typeof runtime.env.AUTH.fetch === 'function'}</pre>
- </body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/wrangler.toml b/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/wrangler.toml
deleted file mode 100644
index 77f6d92b8..000000000
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/wrangler.toml
+++ /dev/null
@@ -1 +0,0 @@
-name = "test"
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/.dev.vars b/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/.dev.vars
deleted file mode 100644
index 9296c384b..000000000
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/.dev.vars
+++ /dev/null
@@ -1 +0,0 @@
-DATABASE_URL="postgresql://lorem"
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/package.json b/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/package.json
deleted file mode 100644
index e09300ed0..000000000
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/package.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "name": "@test/astro-cloudflare-dev-runtime-workers",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "^4.3.5"
- },
- "devDependencies": {
- "wrangler": "^3.15.0"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/caches.astro b/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/caches.astro
deleted file mode 100644
index 743111721..000000000
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/caches.astro
+++ /dev/null
@@ -1,15 +0,0 @@
----
-const runtime = Astro.locals.runtime;
----
-
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>CACHES</title>
- </head>
- <body>
- <pre id="hasCACHE">{!!runtime.caches}</pre>
- </body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/d1.astro b/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/d1.astro
deleted file mode 100644
index a28940e9f..000000000
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/d1.astro
+++ /dev/null
@@ -1,21 +0,0 @@
----
-const runtime = Astro.locals.runtime;
-const db = runtime.env?.D1;
-await db.exec("CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)");
-await db.exec("INSERT INTO test (name) VALUES ('true')");
-const result = await db.prepare("SELECT * FROM test").all();
----
-
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>D1</title>
-</head>
-<body>
- <pre id="hasDB">{!!runtime.env?.D1}</pre>
- <pre id="hasPRODDB">{!!runtime.env?.D1_PROD}</pre>
- <pre id="hasACCESS">{!!result.results[0].name}</pre>
-</body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/do.astro b/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/do.astro
deleted file mode 100644
index e338c8e8f..000000000
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/do.astro
+++ /dev/null
@@ -1,15 +0,0 @@
----
-const runtime = Astro.locals.runtime;
----
-
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>DO</title>
- </head>
- <body>
- <pre id="hasDO">{!!runtime.env.DO}</pre>
- </body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/index.astro
deleted file mode 100644
index 7d2ce1ef1..000000000
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/index.astro
+++ /dev/null
@@ -1,13 +0,0 @@
----
-const runtime = Astro.locals.runtime;
----
-<html>
- <head>
- <title>Testing</title>
- </head>
- <body>
- <h1>Testing</h1>
- <div id="hasRuntime">{!!runtime}</div>
- <div id="hasCF">{!!runtime.cf?.colo}</div>
- </body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/kv.astro b/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/kv.astro
deleted file mode 100644
index d21f163a0..000000000
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/kv.astro
+++ /dev/null
@@ -1,20 +0,0 @@
----
-const runtime = Astro.locals.runtime;
-const kv = runtime.env?.KV;
-await kv.put("test", "true");
-const result = await kv.get("test")
----
-
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>KV</title>
-</head>
-<body>
- <pre id="hasKV">{!!runtime.env?.KV}</pre>
- <pre id="hasPRODKV">{!!runtime.env?.KV_PROD}</pre>
- <pre id="hasACCESS">{!!result}</pre>
-</body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/r2.astro b/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/r2.astro
deleted file mode 100644
index fbb9fc61b..000000000
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/r2.astro
+++ /dev/null
@@ -1,20 +0,0 @@
----
-const runtime = Astro.locals.runtime;
-const bucket = runtime.env?.R2;
-await bucket.put("test", "true");
-const result = await (await bucket.get("test")).text()
----
-
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>R2</title>
-</head>
-<body>
- <pre id="hasBUCKET">{!!runtime.env?.R2}</pre>
- <pre id="hasPRODBUCKET">{!!runtime.env?.R2_PROD}</pre>
- <pre id="hasACCESS">{!!result}</pre>
-</body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/services.astro b/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/services.astro
deleted file mode 100644
index b60732850..000000000
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/pages/services.astro
+++ /dev/null
@@ -1,16 +0,0 @@
----
-const runtime = Astro.locals.runtime;
----
-
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>Service bindings</title>
- </head>
- <body>
- <pre id="hasAUTH">{!!runtime.env.AUTH && typeof runtime.env.AUTH.fetch === 'function'}</pre>
- <pre id="hasLOGOUT">{!!runtime.env.LOGOUT && typeof runtime.env.AUTH.fetch === 'function'}</pre>
- </body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/wrangler.toml b/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/wrangler.toml
deleted file mode 100644
index a54160286..000000000
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/wrangler.toml
+++ /dev/null
@@ -1,45 +0,0 @@
-name = "test"
-
-kv_namespaces = [
- { binding = "KV", id = "<YOUR_ID>", preview_id = "<YOUR_ID>" },
- { binding = "KV_PROD", id = "<YOUR_ID>", preview_id = "<YOUR_ID>" }
-]
-
-[vars]
-COOL = "ME"
-
-[[d1_databases]]
-binding = "D1" # Should match preview_database_id, i.e. available in your Worker on env.DB
-database_name = "<DATABASE_NAME>"
-database_id = "<unique-ID-for-your-database>"
-preview_database_id = "D1" # Required for Pages local development
-
-[[d1_databases]]
-binding = "D1_PROD" # Should match preview_database_id
-database_name = "<DATABASE_NAME>"
-database_id = "<unique-ID-for-your-database>"
-preview_database_id = "D1_PROD" # Required for Pages local development
-
-[[r2_buckets]]
-binding = 'R2' # <~ valid JavaScript variable name
-bucket_name = '<YOUR_BUCKET_NAME>'
-
-[[r2_buckets]]
-binding = 'R2_PROD' # <~ valid JavaScript variable name
-bucket_name = '<YOUR_BUCKET_NAME>'
-
-[[durable_objects.bindings]]
-name = "DO"
-class_name = "DurableObjectExample"
-
-[[durable_objects.bindings]]
-name = "DO_PROD"
-class_name = "DurableObjectProductionExample"
-
-[[services]]
-binding = "AUTH"
-service = "worker" # local-runtime.ts:154
-
-[[services]]
-binding = "LOGOUT"
-service = "worker" # local-runtime.ts:154
diff --git a/packages/integrations/cloudflare/test/fixtures/directory-mode/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/directory-mode/astro.config.mjs
deleted file mode 100644
index 681ea7cea..000000000
--- a/packages/integrations/cloudflare/test/fixtures/directory-mode/astro.config.mjs
+++ /dev/null
@@ -1,10 +0,0 @@
-import cloudflare from '@astrojs/cloudflare';
-import { defineConfig } from 'astro/config';
-
-export default defineConfig({
- output: 'server',
- adapter: cloudflare({ mode: 'directory' }),
- redirects: {
- '/old': '/',
- },
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/directory-mode/package.json b/packages/integrations/cloudflare/test/fixtures/directory-mode/package.json
deleted file mode 100644
index 852f9bcdd..000000000
--- a/packages/integrations/cloudflare/test/fixtures/directory-mode/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-directory-mode",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "^4.3.5"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/directory-mode/src/env.d.ts b/packages/integrations/cloudflare/test/fixtures/directory-mode/src/env.d.ts
deleted file mode 100644
index 8c34fb45e..000000000
--- a/packages/integrations/cloudflare/test/fixtures/directory-mode/src/env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-/// <reference types="astro/client" /> \ No newline at end of file
diff --git a/packages/integrations/cloudflare/test/fixtures/directory-mode/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/directory-mode/src/pages/index.astro
deleted file mode 100644
index 8d372399c..000000000
--- a/packages/integrations/cloudflare/test/fixtures/directory-mode/src/pages/index.astro
+++ /dev/null
@@ -1,9 +0,0 @@
-<html>
- <head>
- <title>Testing</title>
- </head>
- <body>
- <h1>Testing</h1>
- <div id="env">{import.meta.env.SECRET_STUFF}</div>
- </body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/function-per-route/astro.config.mjs
deleted file mode 100644
index d6a4f49cb..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/astro.config.mjs
+++ /dev/null
@@ -1,15 +0,0 @@
-import cloudflare from '@astrojs/cloudflare';
-import { defineConfig } from 'astro/config';
-
-export default defineConfig({
- adapter: cloudflare({
- mode: 'directory',
- functionPerRoute: true
- }),
- output: 'server',
- vite: {
- build: {
- minify: false,
- },
- },
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/package.json b/packages/integrations/cloudflare/test/fixtures/function-per-route/package.json
deleted file mode 100644
index 245d0b965..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-function-per-route",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "^4.3.5"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/env.d.ts b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/env.d.ts
deleted file mode 100644
index 8c34fb45e..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-/// <reference types="astro/client" /> \ No newline at end of file
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/middleware.ts b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/middleware.ts
deleted file mode 100644
index a6ce640cb..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/middleware.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { defineMiddleware } from "astro/middleware";
-
-export const onRequest = defineMiddleware(({ locals, request }, next) => {
- // intercept response data from a request
- // optionally, transform the response by modifying `locals`
- locals.title = "New title"
-
- // return a Response or the result of calling `next()`
- return next()
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[language]/files/[...path].astro b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[language]/files/[...path].astro
deleted file mode 100644
index 84ad53228..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[language]/files/[...path].astro
+++ /dev/null
@@ -1,37 +0,0 @@
----
-const files = [
- {
- slug: undefined,
- title: 'Root level',
- },
- {
- slug: 'test.png',
- title: "One level"
- },
- {
- slug: 'assets/test.png',
- title: "Two levels"
- },
- {
- slug: 'assets/images/test.png',
- title: 'Three levels',
- }
-];
-
-const { path } = Astro.params;
-const page = files.find((page) => page.slug === path);
-const { title } = page;
-
----
-<html>
- <body>
- <h1>Files / Rest Parameters / {title}</h1>
- <p>DEBUG: {path} </p>
- <p><a href="/">index</a></p>
- </body>
- <style>
- h1 {
- background-color: yellow;
- }
- </style>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[person]/[car].astro b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[person]/[car].astro
deleted file mode 100644
index f4fda9dc5..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/[person]/[car].astro
+++ /dev/null
@@ -1,14 +0,0 @@
----
-const { person, car } = Astro.params;
----
-<html>
- <body>
- <h1> {person} / {car}</h1>
- <p><a href="/">index</a></p>
- </body>
- <style>
- h1 {
- background-color: blue;
- }
- </style>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/[post].astro b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/[post].astro
deleted file mode 100644
index 7b0e1e5b8..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/[post].astro
+++ /dev/null
@@ -1,14 +0,0 @@
----
-const { post } = Astro.params;
----
-<html>
- <body>
- <h1>Blog / {post}</h1>
- <p><a href="/">index</a></p>
- </body>
- <style>
- h1 {
- background-color: pink;
- }
- </style>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/cool.astro b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/cool.astro
deleted file mode 100644
index 7127282a4..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/blog/cool.astro
+++ /dev/null
@@ -1,11 +0,0 @@
-<html>
- <body>
- <h1>Blog / Cool</h1>
- <p><a href="/">index</a></p>
- </body>
- <style>
- h1 {
- background-color: orange;
- }
- </style>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/files/[...path].astro b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/files/[...path].astro
deleted file mode 100644
index 84ad53228..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/files/[...path].astro
+++ /dev/null
@@ -1,37 +0,0 @@
----
-const files = [
- {
- slug: undefined,
- title: 'Root level',
- },
- {
- slug: 'test.png',
- title: "One level"
- },
- {
- slug: 'assets/test.png',
- title: "Two levels"
- },
- {
- slug: 'assets/images/test.png',
- title: 'Three levels',
- }
-];
-
-const { path } = Astro.params;
-const page = files.find((page) => page.slug === path);
-const { title } = page;
-
----
-<html>
- <body>
- <h1>Files / Rest Parameters / {title}</h1>
- <p>DEBUG: {path} </p>
- <p><a href="/">index</a></p>
- </body>
- <style>
- h1 {
- background-color: yellow;
- }
- </style>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/index.astro
deleted file mode 100644
index a7f564046..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/index.astro
+++ /dev/null
@@ -1,22 +0,0 @@
----
-const data = Astro.locals;
----
-<html>
- <body>
- <h1>Index</h1>
- <p>Middleware ({data.title})</p>
- <p><a href="/prerender/">prerender</a></p>
- <p><a href="/blog/cool/">sub-route</a></p>
- <p><a href="/blog/dynamic-post/">dynamic route in static sub-route</a></p>
- <p><a href="/mustermann/bmw/">dynamic route in dynamic sub-route</a></p>
- <p><a href="/files/">rest parameters root level</a></p>
- <p><a href="/files/test.png/">rest parameters one level</a></p>
- <p><a href="/files/assets/test.png/">rest parameters two level</a></p>
- <p><a href="/files/assets/images/test.png/">rest parameters three level</a></p>
- </body>
- <style>
- h1 {
- background-color: red;
- }
- </style>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/javascript.js b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/javascript.js
deleted file mode 100644
index e69de29bb..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/javascript.js
+++ /dev/null
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/prerender.astro b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/prerender.astro
deleted file mode 100644
index bdda9b12c..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/prerender.astro
+++ /dev/null
@@ -1,14 +0,0 @@
----
-export const prerender = true;
----
-<html>
- <body>
- <h1>Prerender</h1>
- <p><a href="/">index</a></p>
- </body>
- <style>
- h1 {
- background-color: yellow;
- }
- </style>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/test.json.ts b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/test.json.ts
deleted file mode 100644
index e69de29bb..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/test.json.ts
+++ /dev/null
diff --git a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/trpc/[trpc].ts b/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/trpc/[trpc].ts
deleted file mode 100644
index e69de29bb..000000000
--- a/packages/integrations/cloudflare/test/fixtures/function-per-route/src/pages/trpc/[trpc].ts
+++ /dev/null
diff --git a/packages/integrations/cloudflare/test/fixtures/hybrid/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/hybrid/astro.config.mjs
deleted file mode 100644
index 54ba0738f..000000000
--- a/packages/integrations/cloudflare/test/fixtures/hybrid/astro.config.mjs
+++ /dev/null
@@ -1,7 +0,0 @@
-import cloudflare from '@astrojs/cloudflare';
-import { defineConfig } from 'astro/config';
-
-export default defineConfig({
- adapter: cloudflare(),
- output: 'hybrid',
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/hybrid/src/env.d.ts b/packages/integrations/cloudflare/test/fixtures/hybrid/src/env.d.ts
deleted file mode 100644
index 8c34fb45e..000000000
--- a/packages/integrations/cloudflare/test/fixtures/hybrid/src/env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-/// <reference types="astro/client" /> \ No newline at end of file
diff --git a/packages/integrations/cloudflare/test/fixtures/hybrid/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/hybrid/src/pages/index.astro
deleted file mode 100644
index dfd71c3de..000000000
--- a/packages/integrations/cloudflare/test/fixtures/hybrid/src/pages/index.astro
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
-<head>
- <title>Testing</title>
-</head>
-<body>
- <h1>Testing</h1>
-</body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/hybrid/src/pages/one.astro b/packages/integrations/cloudflare/test/fixtures/hybrid/src/pages/one.astro
deleted file mode 100644
index 036ee25a3..000000000
--- a/packages/integrations/cloudflare/test/fixtures/hybrid/src/pages/one.astro
+++ /dev/null
@@ -1,11 +0,0 @@
----
-export const prerender = false;
----
-<html>
-<head>
- <title>Testing</title>
-</head>
-<body>
- <h1>Testing</h1>
-</body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/prerender/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/prerender/astro.config.mjs
deleted file mode 100644
index 339f0e2a4..000000000
--- a/packages/integrations/cloudflare/test/fixtures/prerender/astro.config.mjs
+++ /dev/null
@@ -1,7 +0,0 @@
-import cloudflare from '@astrojs/cloudflare';
-import { defineConfig } from 'astro/config';
-
-export default defineConfig({
- adapter: cloudflare(),
- output: 'server',
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/prerender/package.json b/packages/integrations/cloudflare/test/fixtures/prerender/package.json
deleted file mode 100644
index 27e02d047..000000000
--- a/packages/integrations/cloudflare/test/fixtures/prerender/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-prerender",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "^4.3.5"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/prerender/src/env.d.ts b/packages/integrations/cloudflare/test/fixtures/prerender/src/env.d.ts
deleted file mode 100644
index 8c34fb45e..000000000
--- a/packages/integrations/cloudflare/test/fixtures/prerender/src/env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-/// <reference types="astro/client" /> \ No newline at end of file
diff --git a/packages/integrations/cloudflare/test/fixtures/prerender/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/prerender/src/pages/index.astro
deleted file mode 100644
index dfd71c3de..000000000
--- a/packages/integrations/cloudflare/test/fixtures/prerender/src/pages/index.astro
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
-<head>
- <title>Testing</title>
-</head>
-<body>
- <h1>Testing</h1>
-</body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/prerender/src/pages/one.astro b/packages/integrations/cloudflare/test/fixtures/prerender/src/pages/one.astro
deleted file mode 100644
index 30386a625..000000000
--- a/packages/integrations/cloudflare/test/fixtures/prerender/src/pages/one.astro
+++ /dev/null
@@ -1,11 +0,0 @@
----
-export const prerender = true;
----
-<html>
-<head>
- <title>Testing</title>
-</head>
-<body>
- <h1>Testing</h1>
-</body>
-</html>
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/routes-json/astro.config.mjs
index 6e03bbc35..6fa5ec5d3 100644
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/astro.config.mjs
+++ b/packages/integrations/cloudflare/test/fixtures/routes-json/astro.config.mjs
@@ -1,7 +1,6 @@
import { defineConfig } from 'astro/config';
export default defineConfig({
- // adapter will be set dynamically by the test
output: 'hybrid',
redirects: {
'/a/redirect': '/',
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/env.d.ts b/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/env.d.ts
index 8c34fb45e..f964fe0cf 100644
--- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/env.d.ts
+++ b/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/env.d.ts
@@ -1 +1 @@
-/// <reference types="astro/client" /> \ No newline at end of file
+/// <reference types="astro/client" />
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/404.astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/404.astro
new file mode 100644
index 000000000..42af67a78
--- /dev/null
+++ b/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/404.astro
@@ -0,0 +1,3 @@
+---
+export const prerender = true;
+---
diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/staticOnly/pages/404.astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/staticOnly/pages/404.astro
new file mode 100644
index 000000000..42af67a78
--- /dev/null
+++ b/packages/integrations/cloudflare/test/fixtures/routes-json/src/staticOnly/pages/404.astro
@@ -0,0 +1,3 @@
+---
+export const prerender = true;
+---
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-directory/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/wasm-directory/astro.config.mjs
deleted file mode 100644
index b7d5e32af..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-directory/astro.config.mjs
+++ /dev/null
@@ -1,10 +0,0 @@
-import cloudflare from '@astrojs/cloudflare';
-import { defineConfig } from 'astro/config';
-
-export default defineConfig({
- adapter: cloudflare({
- mode: 'directory',
- wasmModuleImports: true
- }),
- output: 'server'
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-directory/package.json b/packages/integrations/cloudflare/test/fixtures/wasm-directory/package.json
deleted file mode 100644
index b7f4ac718..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-directory/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-wasm-function-per-route",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "^4.3.5"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/env.d.ts b/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/env.d.ts
deleted file mode 100644
index 8c34fb45e..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-/// <reference types="astro/client" /> \ No newline at end of file
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/pages/index.ts b/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/pages/index.ts
deleted file mode 100644
index 9423d2ae1..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/pages/index.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { type APIContext } from 'astro';
-// @ts-ignore
-import mod from '../util/add.wasm?module';
-
-const addModule: any = new WebAssembly.Instance(mod);
-
-
-export async function GET(
- context: APIContext
-): Promise<Response> {
-
- return new Response(JSON.stringify({ answer: addModule.exports.add(40, 2) }), {
- status: 200,
- headers: {
- 'Content-Type': 'application/json',
- },
- });
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/util/add.wasm b/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/util/add.wasm
deleted file mode 100644
index 357f72da7..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/util/add.wasm
+++ /dev/null
Binary files differ
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/astro.config.mjs
deleted file mode 100644
index 5fb9ea82e..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/astro.config.mjs
+++ /dev/null
@@ -1,12 +0,0 @@
-import cloudflare from '@astrojs/cloudflare';
-import { defineConfig } from 'astro/config';
-
-export default defineConfig({
- adapter: cloudflare({
- mode: 'directory',
- functionPerRoute: true,
- wasmModuleImports: true
- }),
- output: 'server',
- vite: { build: { minify: false } }
-});
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/package.json b/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/package.json
deleted file mode 100644
index ef350db44..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-wasm-directory",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "^4.3.5"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/env.d.ts b/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/env.d.ts
deleted file mode 100644
index 8c34fb45e..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-/// <reference types="astro/client" /> \ No newline at end of file
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/deeply/nested/route.ts b/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/deeply/nested/route.ts
deleted file mode 100644
index bbb68c804..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/deeply/nested/route.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { type APIContext } from 'astro';
-import { add } from '../../../util/add';
-
-export async function GET(
- context: APIContext
-): Promise<Response> {
-
- return new Response(JSON.stringify({ answer: add(80, 4) }), {
- status: 200,
- headers: {
- 'Content-Type': 'application/json',
- },
- });
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/index.ts b/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/index.ts
deleted file mode 100644
index 9e5898a36..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/index.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { type APIContext } from 'astro';
-import { add } from '../util/add';
-
-export async function GET(
- context: APIContext
-): Promise<Response> {
-
- return new Response(JSON.stringify({ answer: add(40, 2) }), {
- status: 200,
- headers: {
- 'Content-Type': 'application/json',
- },
- });
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.ts b/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.ts
deleted file mode 100644
index ee336277b..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// extra layer of indirection to stress the esbuild
-import { addImpl } from "./indirection";
-
-export function add(a: number, b: number): number {
- return addImpl(a, b);
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.wasm b/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.wasm
deleted file mode 100644
index 357f72da7..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.wasm
+++ /dev/null
Binary files differ
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/indirection.ts b/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/indirection.ts
deleted file mode 100644
index 6fbb04c49..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/indirection.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-// extra layer of indirection to stress the esbuild
-// @ts-ignore
-import mod from './add.wasm?module';
-
-const addModule: any = new WebAssembly.Instance(mod);
-
-export function addImpl(a: number, b: number): number {
- return addModule.exports.add(a, b);
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wasm/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/wasm/astro.config.mjs
index 3d9ae89c6..d56fef79e 100644
--- a/packages/integrations/cloudflare/test/fixtures/wasm/astro.config.mjs
+++ b/packages/integrations/cloudflare/test/fixtures/wasm/astro.config.mjs
@@ -5,5 +5,5 @@ export default defineConfig({
adapter: cloudflare({
wasmModuleImports: true
}),
- output: 'server'
+ output: 'hybrid'
});
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/.dev.vars b/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/.dev.vars
index 9296c384b..9296c384b 100644
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-pages/.dev.vars
+++ b/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/.dev.vars
diff --git a/packages/integrations/cloudflare/test/fixtures/wrangler-runtime/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/astro.config.mjs
index 238964217..238964217 100644
--- a/packages/integrations/cloudflare/test/fixtures/wrangler-runtime/astro.config.mjs
+++ b/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/astro.config.mjs
diff --git a/packages/integrations/cloudflare/test/fixtures/hybrid/package.json b/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/package.json
index 6e8a71c68..f18a86c3c 100644
--- a/packages/integrations/cloudflare/test/fixtures/hybrid/package.json
+++ b/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/package.json
@@ -1,5 +1,5 @@
{
- "name": "@test/astro-cloudflare-hybrid",
+ "name": "@test/astro-cloudflare-wrangler-preview-platform",
"version": "0.0.0",
"private": true,
"dependencies": {
diff --git a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/env.d.ts b/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/src/env.d.ts
index 8c34fb45e..8c34fb45e 100644
--- a/packages/integrations/cloudflare/test/fixtures/dev-runtime-workers/src/env.d.ts
+++ b/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/src/env.d.ts
diff --git a/packages/integrations/cloudflare/test/fixtures/wrangler-runtime/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/src/pages/index.astro
index 8a3b20925..8a3b20925 100644
--- a/packages/integrations/cloudflare/test/fixtures/wrangler-runtime/src/pages/index.astro
+++ b/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/src/pages/index.astro
diff --git a/packages/integrations/cloudflare/test/fixtures/wrangler-runtime/wrangler.toml b/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/wrangler.toml
index ba0fa64c4..ba0fa64c4 100644
--- a/packages/integrations/cloudflare/test/fixtures/wrangler-runtime/wrangler.toml
+++ b/packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform/wrangler.toml
diff --git a/packages/integrations/cloudflare/test/fixtures/wrangler-runtime/.dev.vars b/packages/integrations/cloudflare/test/fixtures/wrangler-runtime/.dev.vars
deleted file mode 100644
index 9296c384b..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wrangler-runtime/.dev.vars
+++ /dev/null
@@ -1 +0,0 @@
-DATABASE_URL="postgresql://lorem"
diff --git a/packages/integrations/cloudflare/test/fixtures/wrangler-runtime/package.json b/packages/integrations/cloudflare/test/fixtures/wrangler-runtime/package.json
deleted file mode 100644
index f286e0927..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wrangler-runtime/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "@test/astro-cloudflare-wrangler-runtime",
- "version": "0.0.0",
- "private": true,
- "dependencies": {
- "@astrojs/cloudflare": "workspace:*",
- "astro": "^4.3.5"
- }
-}
diff --git a/packages/integrations/cloudflare/test/fixtures/wrangler-runtime/src/env.d.ts b/packages/integrations/cloudflare/test/fixtures/wrangler-runtime/src/env.d.ts
deleted file mode 100644
index 8c34fb45e..000000000
--- a/packages/integrations/cloudflare/test/fixtures/wrangler-runtime/src/env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-/// <reference types="astro/client" /> \ No newline at end of file
diff --git a/packages/integrations/cloudflare/test/function-per-route.test.js b/packages/integrations/cloudflare/test/function-per-route.test.js
deleted file mode 100644
index 55d23e2ed..000000000
--- a/packages/integrations/cloudflare/test/function-per-route.test.js
+++ /dev/null
@@ -1,37 +0,0 @@
-import * as assert from 'node:assert/strict';
-import { existsSync } from 'node:fs';
-import { before, describe, it } from 'node:test';
-import { fileURLToPath } from 'node:url';
-import { astroCli } from './_test-utils.js';
-
-const root = new URL('./fixtures/function-per-route/', import.meta.url);
-
-describe('Function per Route', () => {
- before(async () => {
- await astroCli(fileURLToPath(root), 'build');
- });
-
- it('generates functions folder inside the project root', () => {
- const testURL = new URL('functions', root);
- assert.equal(existsSync(fileURLToPath(testURL)), true);
- });
-
- it('generates functions bundles for each page', () => {
- assert.equal(existsSync(fileURLToPath(new URL('functions/index.js', root))), true);
- assert.equal(existsSync(fileURLToPath(new URL('functions/blog/cool.js', root))), true);
- assert.equal(existsSync(fileURLToPath(new URL('functions/blog/[post].js', root))), true);
- assert.equal(existsSync(fileURLToPath(new URL('functions/[person]/[car].js', root))), true);
- assert.equal(existsSync(fileURLToPath(new URL('functions/files/[[path]].js', root))), true);
- assert.equal(
- existsSync(fileURLToPath(new URL('functions/[language]/files/[[path]].js', root))),
- true
- );
- assert.equal(existsSync(fileURLToPath(new URL('functions/trpc/[trpc].js', root))), true);
- assert.equal(existsSync(fileURLToPath(new URL('functions/javascript.js', root))), true);
- assert.equal(existsSync(fileURLToPath(new URL('functions/test.json.js', root))), true);
- });
-
- it('generates html files for pre-rendered routes', () => {
- assert.equal(existsSync(fileURLToPath(new URL('dist/prerender/index.html', root))), true);
- });
-});
diff --git a/packages/integrations/cloudflare/test/hybrid.test.js b/packages/integrations/cloudflare/test/hybrid.test.js
deleted file mode 100644
index 0cadebaf3..000000000
--- a/packages/integrations/cloudflare/test/hybrid.test.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import * as assert from 'node:assert/strict';
-import { readFileSync } from 'node:fs';
-import { before, describe, it } from 'node:test';
-import { fileURLToPath } from 'node:url';
-import { astroCli } from './_test-utils.js';
-
-const root = new URL('./fixtures/hybrid/', import.meta.url);
-
-describe('Hybrid rendering', () => {
- before(async () => {
- await astroCli(fileURLToPath(root), 'build');
- });
-
- it('includes non prerendered routes in the routes.json config', async () => {
- const foundRoutes = JSON.parse(readFileSync(fileURLToPath(new URL('dist/_routes.json', root))));
-
- assert.deepEqual(foundRoutes, {
- version: 1,
- include: ['/one', '/_image'],
- exclude: [],
- });
- });
-});
diff --git a/packages/integrations/cloudflare/test/prerender.test.js b/packages/integrations/cloudflare/test/prerender.test.js
deleted file mode 100644
index c0fab6efc..000000000
--- a/packages/integrations/cloudflare/test/prerender.test.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import * as assert from 'node:assert/strict';
-import { readFileSync } from 'node:fs';
-import { before, describe, it } from 'node:test';
-import { fileURLToPath } from 'node:url';
-import { astroCli } from './_test-utils.js';
-
-const root = new URL('./fixtures/prerender/', import.meta.url);
-
-describe('Prerendering', () => {
- before(async () => {
- await astroCli(fileURLToPath(root), 'build');
- });
-
- it('includes non prerendered routes in the routes.json config', async () => {
- const foundRoutes = JSON.parse(readFileSync(fileURLToPath(new URL('dist/_routes.json', root))));
-
- assert.deepEqual(foundRoutes, {
- version: 1,
- include: ['/', '/_image'],
- exclude: [],
- });
- });
-});
diff --git a/packages/integrations/cloudflare/test/routes-json.test.js b/packages/integrations/cloudflare/test/routes-json.test.js
index e9889967e..0eb5745ed 100644
--- a/packages/integrations/cloudflare/test/routes-json.test.js
+++ b/packages/integrations/cloudflare/test/routes-json.test.js
@@ -5,208 +5,145 @@ import cloudflare from '../dist/index.js';
/** @type {import('./test-utils.js').Fixture} */
describe('_routes.json generation', () => {
- for (const mode of ['directory', 'advanced']) {
- for (const functionPerRoute of [false, true]) {
- describe(`with mode=${mode}, functionPerRoute=${functionPerRoute}`, () => {
- describe('of both functions and static files', () => {
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: new URL('./fixtures/routes-json/', import.meta.url).toString(),
- srcDir: './src/mixed',
- adapter: cloudflare({
- mode,
- functionPerRoute,
- }),
- });
- await fixture.build();
- });
-
- it('creates `include` for functions and `exclude` for static files where needed', async () => {
- const _routesJson = await fixture.readFile('/_routes.json');
- const routes = JSON.parse(_routesJson);
-
- assert.deepEqual(routes, {
- version: 1,
- include: ['/a/*', '/_image'],
- exclude: ['/a/', '/a/redirect', '/a/index.html'],
- });
- });
- });
-
- describe('of only functions', () => {
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: new URL('./fixtures/routes-json/', import.meta.url).toString(),
- srcDir: './src/dynamicOnly',
- adapter: cloudflare({
- mode,
- functionPerRoute,
- }),
- });
- await fixture.build();
- });
-
- it('creates a wildcard `include` and `exclude` only for static assets and redirects', async () => {
- const _routesJson = await fixture.readFile('/_routes.json');
- const routes = JSON.parse(_routesJson);
-
- assert.deepEqual(routes, {
- version: 1,
- include: ['/*'],
- exclude: ['/public.txt', '/redirectme', '/a/redirect'],
- });
- });
- });
-
- describe('of only static files', () => {
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: new URL('./fixtures/routes-json/', import.meta.url).toString(),
- srcDir: './src/staticOnly',
- adapter: cloudflare({
- mode,
- functionPerRoute,
- }),
- });
- await fixture.build();
- });
-
- it('create only one `include` and `exclude` that are supposed to match nothing', async () => {
- const _routesJson = await fixture.readFile('/_routes.json');
- const routes = JSON.parse(_routesJson);
-
- assert.deepEqual(routes, {
- version: 1,
- include: ['/_image'],
- exclude: [],
- });
- });
- });
-
- describe('with strategy `"include"`', () => {
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: new URL('./fixtures/routes-json/', import.meta.url).toString(),
- srcDir: './src/dynamicOnly',
- adapter: cloudflare({
- mode,
- functionPerRoute,
- routes: { strategy: 'include' },
- }),
- });
- await fixture.build();
- });
-
- it('creates `include` entries even though the `"exclude"` strategy would have produced less entries.', async () => {
- const _routesJson = await fixture.readFile('/_routes.json');
- const routes = JSON.parse(_routesJson);
-
- assert.deepEqual(routes, {
- version: 1,
- include: ['/', '/_image', '/dynamic1', '/dynamic2', '/dynamic3'],
- exclude: [],
- });
- });
- });
-
- describe('with strategy `"exclude"`', () => {
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: new URL('./fixtures/routes-json/', import.meta.url).toString(),
- srcDir: './src/staticOnly',
- adapter: cloudflare({
- mode,
- functionPerRoute,
- routes: { strategy: 'exclude' },
- }),
- });
- await fixture.build();
- });
-
- it('creates `exclude` entries even though the `"include"` strategy would have produced less entries.', async () => {
- const _routesJson = await fixture.readFile('/_routes.json');
- const routes = JSON.parse(_routesJson);
-
- assert.deepEqual(routes, {
- version: 1,
- include: ['/*'],
- exclude: ['/', '/index.html', '/public.txt', '/redirectme', '/a/redirect'],
- });
- });
- });
-
- describe('with additional `include` entries', () => {
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: new URL('./fixtures/routes-json/', import.meta.url).toString(),
- srcDir: './src/mixed',
- adapter: cloudflare({
- mode,
- functionPerRoute,
- routes: {
- strategy: 'include',
- include: ['/another', '/a/redundant'],
- },
- }),
- });
- await fixture.build();
- });
-
- it('creates `include` for functions and `exclude` for static files where needed', async () => {
- const _routesJson = await fixture.readFile('/_routes.json');
- const routes = JSON.parse(_routesJson);
-
- assert.deepEqual(routes, {
- version: 1,
- include: ['/a/*', '/_image', '/another'],
- exclude: ['/a/', '/a/redirect', '/a/index.html'],
- });
- });
- });
-
- describe('with additional `exclude` entries', () => {
- let fixture;
-
- before(async () => {
- fixture = await loadFixture({
- root: new URL('./fixtures/routes-json/', import.meta.url).toString(),
- srcDir: './src/mixed',
- adapter: cloudflare({
- mode,
- functionPerRoute,
- routes: {
- strategy: 'include',
- exclude: ['/another', '/a/*', '/a/index.html'],
- },
- }),
- });
- await fixture.build();
- });
-
- it('creates `include` for functions and `exclude` for static files where needed', async () => {
- const _routesJson = await fixture.readFile('/_routes.json');
- const routes = JSON.parse(_routesJson);
-
- assert.deepEqual(routes, {
- version: 1,
- include: ['/a/*', '/_image'],
- exclude: ['/a/', '/a/*', '/another'],
- });
- });
- });
+ describe('of on-demand and prerenderd', () => {
+ let fixture;
+
+ before(async () => {
+ fixture = await loadFixture({
+ root: new URL('./fixtures/routes-json/', import.meta.url).toString(),
+ srcDir: './src/mixed',
+ adapter: cloudflare({}),
});
- }
- }
+ await fixture.build();
+ });
+
+ it('creates `include` for on-demand and `exclude` for prerenderd', async () => {
+ const _routesJson = await fixture.readFile('/_routes.json');
+ const routes = JSON.parse(_routesJson);
+
+ assert.deepEqual(routes, {
+ version: 1,
+ include: ['/_image', '/a/*'],
+ exclude: ['/a', '/a/redirect', '/404', '/b', '/public.txt', '/_astro/*', '/redirectme'],
+ });
+ });
+ });
+
+ describe('of only on-demand', () => {
+ let fixture;
+
+ before(async () => {
+ fixture = await loadFixture({
+ root: new URL('./fixtures/routes-json/', import.meta.url).toString(),
+ srcDir: './src/dynamicOnly',
+ adapter: cloudflare({}),
+ });
+ await fixture.build();
+ });
+
+ it('creates a wildcard `include` and `exclude` only for static assets and redirects', async () => {
+ const _routesJson = await fixture.readFile('/_routes.json');
+ const routes = JSON.parse(_routesJson);
+
+ assert.deepEqual(routes, {
+ version: 1,
+ include: ['/*'],
+ exclude: ['/a/redirect', '/public.txt', '/_astro/*', '/redirectme'],
+ });
+ });
+ });
+
+ describe('of only prerenderd', () => {
+ let fixture;
+
+ before(async () => {
+ fixture = await loadFixture({
+ root: new URL('./fixtures/routes-json/', import.meta.url).toString(),
+ srcDir: './src/staticOnly',
+ adapter: cloudflare({}),
+ });
+ await fixture.build();
+ });
+
+ it('create only one `include` and `exclude` that are supposed to match nothing', async () => {
+ const _routesJson = await fixture.readFile('/_routes.json');
+ const routes = JSON.parse(_routesJson);
+
+ assert.deepEqual(routes, {
+ version: 1,
+ include: ['/_image'],
+ exclude: ['/', '/a/redirect', '/404', '/public.txt', '/_astro/*', '/redirectme'],
+ });
+ });
+ });
+
+ describe('with additional `include` entries', () => {
+ let fixture;
+
+ before(async () => {
+ fixture = await loadFixture({
+ root: new URL('./fixtures/routes-json/', import.meta.url).toString(),
+ srcDir: './src/mixed',
+ adapter: cloudflare({
+ routes: {
+ extend: {
+ include: [{ pattern: '/another' }],
+ },
+ },
+ }),
+ });
+ await fixture.build();
+ });
+
+ it('creates `include` for functions and `exclude` for static files where needed', async () => {
+ const _routesJson = await fixture.readFile('/_routes.json');
+ const routes = JSON.parse(_routesJson);
+
+ assert.deepEqual(routes, {
+ version: 1,
+ include: ['/_image', '/a/*', '/another'],
+ exclude: ['/a', '/a/redirect', '/404', '/b', '/public.txt', '/_astro/*', '/redirectme'],
+ });
+ });
+ });
+
+ describe('with additional `exclude` entries', () => {
+ let fixture;
+
+ before(async () => {
+ fixture = await loadFixture({
+ root: new URL('./fixtures/routes-json/', import.meta.url).toString(),
+ srcDir: './src/mixed',
+ adapter: cloudflare({
+ routes: {
+ extend: {
+ exclude: [{ pattern: '/another' }, { pattern: '/a/index.html' }],
+ },
+ },
+ }),
+ });
+ await fixture.build();
+ });
+
+ it('creates `include` for functions and `exclude` for static files where needed', async () => {
+ const _routesJson = await fixture.readFile('/_routes.json');
+ const routes = JSON.parse(_routesJson);
+
+ assert.deepEqual(routes, {
+ version: 1,
+ include: ['/_image', '/a/*'],
+ exclude: [
+ '/a',
+ '/a/redirect',
+ '/404',
+ '/b',
+ '/public.txt',
+ '/_astro/*',
+ '/redirectme',
+ '/another',
+ '/a/index.html',
+ ],
+ });
+ });
+ });
});
diff --git a/packages/integrations/cloudflare/test/wasm-directory.test.js b/packages/integrations/cloudflare/test/wasm-directory.test.js
deleted file mode 100644
index a37e1e0c7..000000000
--- a/packages/integrations/cloudflare/test/wasm-directory.test.js
+++ /dev/null
@@ -1,39 +0,0 @@
-import * as assert from 'node:assert/strict';
-import { after, before, describe, it } from 'node:test';
-import { fileURLToPath } from 'node:url';
-import { astroCli, wranglerCli } from './_test-utils.js';
-
-const root = new URL('./fixtures/wasm-directory/', import.meta.url);
-
-describe('WasmDirectoryImport', () => {
- let wrangler;
- before(async () => {
- await astroCli(fileURLToPath(root), 'build');
-
- wrangler = wranglerCli(fileURLToPath(root));
- await new Promise((resolve) => {
- wrangler.stdout.on('data', (data) => {
- // console.log('[stdout]', data.toString());
- if (data.toString().includes('http://127.0.0.1:8788')) resolve();
- });
- wrangler.stderr.on('data', (data) => {
- // console.log('[stderr]', data.toString());
- });
- });
- });
-
- after((done) => {
- wrangler.kill();
- setTimeout(() => {
- // console.log('CLEANED');
- done();
- }, 1000);
- });
-
- it('can render', async () => {
- const res = await fetch('http://127.0.0.1:8788/');
- assert.equal(res.status, 200);
- const json = await res.json();
- assert.deepEqual(json, { answer: 42 });
- });
-});
diff --git a/packages/integrations/cloudflare/test/wasm-function-per-route.test.js b/packages/integrations/cloudflare/test/wasm-function-per-route.test.js
deleted file mode 100644
index 8be6e03d0..000000000
--- a/packages/integrations/cloudflare/test/wasm-function-per-route.test.js
+++ /dev/null
@@ -1,44 +0,0 @@
-import * as assert from 'node:assert/strict';
-import { after, before, describe, it } from 'node:test';
-import { fileURLToPath } from 'node:url';
-import { astroCli, wranglerCli } from './_test-utils.js';
-
-const root = new URL('./fixtures/wasm-function-per-route/', import.meta.url);
-
-describe('WasmFunctionPerRouteImport', () => {
- let wrangler;
- before(async () => {
- await astroCli(fileURLToPath(root), 'build');
-
- wrangler = wranglerCli(fileURLToPath(root));
- await new Promise((resolve) => {
- wrangler.stdout.on('data', (data) => {
- // console.log('[stdout]', data.toString());
- if (data.toString().includes('http://127.0.0.1:8788')) resolve();
- });
- wrangler.stderr.on('data', (data) => {
- // console.log('[stderr]', data.toString());
- });
- });
- });
-
- after((done) => {
- wrangler.kill();
- setTimeout(() => {
- // console.log('CLEANED');
- done();
- }, 1000);
- });
-
- it('can render', async () => {
- let res = await fetch('http://127.0.0.1:8788/');
- assert.equal(res.status, 200);
- let json = await res.json();
- assert.deepEqual(json, { answer: 42 });
-
- res = await fetch('http://127.0.0.1:8788/deeply/nested/route');
- assert.equal(res.status, 200);
- json = await res.json();
- assert.deepEqual(json, { answer: 84 });
- });
-});
diff --git a/packages/integrations/cloudflare/test/wasm.test.js b/packages/integrations/cloudflare/test/wasm.test.js
index 4d472be1f..c1bd767a5 100644
--- a/packages/integrations/cloudflare/test/wasm.test.js
+++ b/packages/integrations/cloudflare/test/wasm.test.js
@@ -24,10 +24,6 @@ describe('WasmImport', () => {
after((done) => {
wrangler.kill();
- setTimeout(() => {
- // console.log('CLEANED');
- done();
- }, 1000);
});
it('can render', async () => {
diff --git a/packages/integrations/cloudflare/test/with-solid-js.test.js b/packages/integrations/cloudflare/test/with-solid-js.test.js
index ac2e0d801..b6194105e 100644
--- a/packages/integrations/cloudflare/test/with-solid-js.test.js
+++ b/packages/integrations/cloudflare/test/with-solid-js.test.js
@@ -25,10 +25,6 @@ describe('SolidJS', () => {
after((done) => {
wrangler.kill();
- setTimeout(() => {
- // console.log('CLEANED');
- done();
- }, 1000);
});
it('renders the solid component', async () => {
diff --git a/packages/integrations/cloudflare/test/wrangler-runtime.test.js b/packages/integrations/cloudflare/test/wrangler-preview-platform.test.js
index c3edbeeb1..a6a04892c 100644
--- a/packages/integrations/cloudflare/test/wrangler-runtime.test.js
+++ b/packages/integrations/cloudflare/test/wrangler-preview-platform.test.js
@@ -4,9 +4,9 @@ import { fileURLToPath } from 'node:url';
import * as cheerio from 'cheerio';
import { astroCli, wranglerCli } from './_test-utils.js';
-const root = new URL('./fixtures/wrangler-runtime/', import.meta.url);
+const root = new URL('./fixtures/wrangler-preview-platform/', import.meta.url);
-describe('WragnlerRuntime', () => {
+describe('WranglerPreviewPlatform', () => {
let wrangler;
before(async () => {
@@ -26,10 +26,6 @@ describe('WragnlerRuntime', () => {
after((done) => {
wrangler.kill();
- setTimeout(() => {
- // console.log('CLEANED');
- done();
- }, 1000);
});
it('exists', async () => {