diff options
Diffstat (limited to 'packages/integrations/cloudflare/test')
82 files changed, 0 insertions, 1636 deletions
diff --git a/packages/integrations/cloudflare/test/basics.test.js b/packages/integrations/cloudflare/test/basics.test.js deleted file mode 100644 index eb4509da1..000000000 --- a/packages/integrations/cloudflare/test/basics.test.js +++ /dev/null @@ -1,39 +0,0 @@ -import { loadFixture, runCLI } from './test-utils.js'; -import { expect } from 'chai'; -import * as cheerio from 'cheerio'; - -describe('Basic app', () => { - /** @type {import('./test-utils').Fixture} */ - let fixture; - /** @type {import('./test-utils').WranglerCLI} */ - let cli; - - before(async function () { - fixture = await loadFixture({ - root: './fixtures/basics/', - }); - await fixture.build(); - - cli = await runCLI('./fixtures/basics/', { - silent: true, - onTimeout: (ex) => { - console.log(ex); - // if fail to start, skip for now as it's very flaky - this.skip(); - }, - }); - }); - - after(async () => { - await cli?.stop(); - }); - - it('can render', async () => { - let res = await fetch(`http://127.0.0.1:${cli.port}/`); - expect(res.status).to.equal(200); - let html = await res.text(); - let $ = cheerio.load(html); - expect($('h1').text()).to.equal('Testing'); - expect($('#env').text()).to.equal('secret'); - }); -}); diff --git a/packages/integrations/cloudflare/test/cf.test.js b/packages/integrations/cloudflare/test/cf.test.js deleted file mode 100644 index 0078f3024..000000000 --- a/packages/integrations/cloudflare/test/cf.test.js +++ /dev/null @@ -1,127 +0,0 @@ -import { loadFixture, runCLI } from './test-utils.js'; -import { expect } from 'chai'; -import * as cheerio from 'cheerio'; -import cloudflare from '../dist/index.js'; - -describe('Wrangler Cloudflare Runtime', () => { - /** @type {import('./test-utils').Fixture} */ - let fixture; - /** @type {import('./test-utils').WranglerCLI} */ - let cli; - - before(async function () { - fixture = await loadFixture({ - root: './fixtures/cf/', - output: 'server', - adapter: cloudflare(), - }); - await fixture.build(); - - cli = await runCLI('./fixtures/cf/', { - silent: true, - onTimeout: (ex) => { - console.log(ex); - // if fail to start, skip for now as it's very flaky - this.skip(); - }, - }); - }); - - after(async () => { - await cli?.stop(); - }); - - it('Load cf and caches API', async () => { - let res = await fetch(`http://127.0.0.1:${cli.port}/`); - expect(res.status).to.equal(200); - let html = await res.text(); - let $ = cheerio.load(html); - - expect($('#hasRuntime').text()).to.equal('true'); - expect($('#hasCache').text()).to.equal('true'); - }); -}); - -describe('Astro Cloudflare Runtime', () => { - /** @type {import('./test-utils').Fixture} */ - let fixture; - let devServer; - - before(async () => { - fixture = await loadFixture({ - root: './fixtures/cf/', - output: 'server', - adapter: cloudflare({ - runtime: 'local', - }), - }); - process.chdir('./test/fixtures/cf'); - devServer = await fixture.startDevServer(); - }); - - after(async () => { - await devServer?.stop(); - }); - - it('adds cf object', async () => { - let res = await fixture.fetch('/'); - expect(res.status).to.equal(200); - let html = await res.text(); - let $ = cheerio.load(html); - expect($('#hasCF').text()).to.equal('true'); - }); - - it('adds cache mocking', async () => { - let res = await fixture.fetch('/caches'); - expect(res.status).to.equal(200); - let html = await res.text(); - let $ = cheerio.load(html); - expect($('#hasCACHE').text()).to.equal('true'); - }); - - it('adds D1 mocking', async () => { - expect(await fixture.pathExists('../.mf/d1')).to.be.true; - - let res = await fixture.fetch('/d1'); - expect(res.status).to.equal(200); - let html = await res.text(); - let $ = cheerio.load(html); - expect($('#hasDB').text()).to.equal('true'); - expect($('#hasPRODDB').text()).to.equal('true'); - expect($('#hasACCESS').text()).to.equal('true'); - }); - - it('adds R2 mocking', async () => { - expect(await fixture.pathExists('../.mf/r2')).to.be.true; - - let res = await fixture.fetch('/r2'); - expect(res.status).to.equal(200); - let html = await res.text(); - let $ = cheerio.load(html); - expect($('#hasBUCKET').text()).to.equal('true'); - expect($('#hasPRODBUCKET').text()).to.equal('true'); - expect($('#hasACCESS').text()).to.equal('true'); - }); - - it('adds KV mocking', async () => { - expect(await fixture.pathExists('../.mf/kv')).to.be.true; - - let res = await fixture.fetch('/kv'); - expect(res.status).to.equal(200); - let html = await res.text(); - let $ = cheerio.load(html); - expect($('#hasKV').text()).to.equal('true'); - expect($('#hasPRODKV').text()).to.equal('true'); - expect($('#hasACCESS').text()).to.equal('true'); - }); - - it('adds DO mocking', async () => { - expect(await fixture.pathExists('../.mf/do')).to.be.true; - - let res = await fixture.fetch('/do'); - expect(res.status).to.equal(200); - let html = await res.text(); - let $ = cheerio.load(html); - expect($('#hasDO').text()).to.equal('true'); - }); -}); diff --git a/packages/integrations/cloudflare/test/directory.test.js b/packages/integrations/cloudflare/test/directory.test.js deleted file mode 100644 index 8390699e3..000000000 --- a/packages/integrations/cloudflare/test/directory.test.js +++ /dev/null @@ -1,36 +0,0 @@ -import { loadFixture } from './test-utils.js'; -import { expect } from 'chai'; -import cloudflare from '../dist/index.js'; - -/** @type {import('./test-utils').Fixture} */ -describe('mode: "directory"', () => { - /** @type {import('./test-utils').Fixture} */ - let fixture; - - before(async () => { - fixture = await loadFixture({ - root: './fixtures/basics/', - output: 'server', - adapter: cloudflare({ mode: 'directory' }), - redirects: { - '/old': '/', - }, - }); - await fixture.build(); - }); - - it('generates functions folder inside the project root', async () => { - expect(await fixture.pathExists('../functions')).to.be.true; - expect(await fixture.pathExists('../functions/[[path]].js')).to.be.true; - }); - - it('generates a redirects file', async () => { - try { - let _redirects = await fixture.readFile('/_redirects'); - let parts = _redirects.split(/\s+/); - expect(parts).to.deep.equal(['/old', '/', '301']); - } catch { - expect(false).to.equal(true); - } - }); -}); diff --git a/packages/integrations/cloudflare/test/fixtures/basics/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/basics/astro.config.mjs deleted file mode 100644 index 407dc4355..000000000 --- a/packages/integrations/cloudflare/test/fixtures/basics/astro.config.mjs +++ /dev/null @@ -1,10 +0,0 @@ -import { defineConfig } from 'astro/config'; -import cloudflare from '@astrojs/cloudflare'; - -// test env var -process.env.SECRET_STUFF = 'secret' - -export default defineConfig({ - adapter: cloudflare(), - output: 'server' -}); diff --git a/packages/integrations/cloudflare/test/fixtures/basics/package.json b/packages/integrations/cloudflare/test/fixtures/basics/package.json deleted file mode 100644 index c7cc97455..000000000 --- a/packages/integrations/cloudflare/test/fixtures/basics/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "@test/astro-cloudflare-basics", - "version": "0.0.0", - "private": true, - "dependencies": { - "@astrojs/cloudflare": "workspace:*", - "astro": "workspace:*" - } -} diff --git a/packages/integrations/cloudflare/test/fixtures/basics/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/basics/src/pages/index.astro deleted file mode 100644 index 8d372399c..000000000 --- a/packages/integrations/cloudflare/test/fixtures/basics/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/cf/.dev.vars b/packages/integrations/cloudflare/test/fixtures/cf/.dev.vars deleted file mode 100644 index 9296c384b..000000000 --- a/packages/integrations/cloudflare/test/fixtures/cf/.dev.vars +++ /dev/null @@ -1 +0,0 @@ -DATABASE_URL="postgresql://lorem" diff --git a/packages/integrations/cloudflare/test/fixtures/cf/package.json b/packages/integrations/cloudflare/test/fixtures/cf/package.json deleted file mode 100644 index cf8ae0082..000000000 --- a/packages/integrations/cloudflare/test/fixtures/cf/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "@test/astro-cloudflare-cf", - "version": "0.0.0", - "private": true, - "dependencies": { - "@astrojs/cloudflare": "workspace:*", - "astro": "workspace:*" - } -} diff --git a/packages/integrations/cloudflare/test/fixtures/cf/src/pages/caches.astro b/packages/integrations/cloudflare/test/fixtures/cf/src/pages/caches.astro deleted file mode 100644 index 743111721..000000000 --- a/packages/integrations/cloudflare/test/fixtures/cf/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/cf/src/pages/d1.astro b/packages/integrations/cloudflare/test/fixtures/cf/src/pages/d1.astro deleted file mode 100644 index a28940e9f..000000000 --- a/packages/integrations/cloudflare/test/fixtures/cf/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/cf/src/pages/do.astro b/packages/integrations/cloudflare/test/fixtures/cf/src/pages/do.astro deleted file mode 100644 index e338c8e8f..000000000 --- a/packages/integrations/cloudflare/test/fixtures/cf/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/cf/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/cf/src/pages/index.astro deleted file mode 100644 index 5ba11985f..000000000 --- a/packages/integrations/cloudflare/test/fixtures/cf/src/pages/index.astro +++ /dev/null @@ -1,12 +0,0 @@ ---- -const runtime = Astro.locals.runtime; ---- -<html> - <head> - <title>Testing</title> - </head> - <body> - <h1>Testing</h1> - <div id="hasCF">{!!runtime.cf?.colo}</div> - </body> -</html> diff --git a/packages/integrations/cloudflare/test/fixtures/cf/src/pages/kv.astro b/packages/integrations/cloudflare/test/fixtures/cf/src/pages/kv.astro deleted file mode 100644 index d21f163a0..000000000 --- a/packages/integrations/cloudflare/test/fixtures/cf/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/cf/src/pages/r2.astro b/packages/integrations/cloudflare/test/fixtures/cf/src/pages/r2.astro deleted file mode 100644 index fbb9fc61b..000000000 --- a/packages/integrations/cloudflare/test/fixtures/cf/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/cf/wrangler.toml b/packages/integrations/cloudflare/test/fixtures/cf/wrangler.toml deleted file mode 100644 index 17fd88ea5..000000000 --- a/packages/integrations/cloudflare/test/fixtures/cf/wrangler.toml +++ /dev/null @@ -1,37 +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" 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 aa3f3dabc..000000000 --- a/packages/integrations/cloudflare/test/fixtures/function-per-route/astro.config.mjs +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'astro/config'; -import cloudflare from '@astrojs/cloudflare'; - -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 54dded9dd..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": "workspace:*" - } -} 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/no-output/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/no-output/astro.config.mjs deleted file mode 100644 index b90fd5b24..000000000 --- a/packages/integrations/cloudflare/test/fixtures/no-output/astro.config.mjs +++ /dev/null @@ -1,6 +0,0 @@ -import { defineConfig } from 'astro/config'; -import cloudflare from '@astrojs/cloudflare'; - -export default defineConfig({ - adapter: cloudflare() -}); diff --git a/packages/integrations/cloudflare/test/fixtures/no-output/package.json b/packages/integrations/cloudflare/test/fixtures/no-output/package.json deleted file mode 100644 index 569c30890..000000000 --- a/packages/integrations/cloudflare/test/fixtures/no-output/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "@test/astro-cloudflare-no-output", - "version": "0.0.0", - "private": true, - "dependencies": { - "@astrojs/cloudflare": "workspace:*", - "astro": "workspace:*" - } -} 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 bf47a0a33..000000000 --- a/packages/integrations/cloudflare/test/fixtures/prerender/astro.config.mjs +++ /dev/null @@ -1,7 +0,0 @@ -import { defineConfig } from 'astro/config'; -import cloudflare from '@astrojs/cloudflare'; - -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 3b2c5fef5..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": "workspace:*" - } -} 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 e11de7add..000000000 --- a/packages/integrations/cloudflare/test/fixtures/prerender/src/pages/one.astro +++ /dev/null @@ -1,11 +0,0 @@ ---- -export const prerender = import.meta.env.PRERENDER; ---- -<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 deleted file mode 100644 index 6e03bbc35..000000000 --- a/packages/integrations/cloudflare/test/fixtures/routes-json/astro.config.mjs +++ /dev/null @@ -1,9 +0,0 @@ -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/package.json b/packages/integrations/cloudflare/test/fixtures/routes-json/package.json deleted file mode 100644 index 4ff746f02..000000000 --- a/packages/integrations/cloudflare/test/fixtures/routes-json/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "@test/astro-cloudflare-routes-json", - "version": "0.0.0", - "private": true, - "dependencies": { - "@astrojs/cloudflare": "workspace:*", - "astro": "workspace:*" - } -} diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/public/_redirects b/packages/integrations/cloudflare/test/fixtures/routes-json/public/_redirects deleted file mode 100644 index 14e38c465..000000000 --- a/packages/integrations/cloudflare/test/fixtures/routes-json/public/_redirects +++ /dev/null @@ -1 +0,0 @@ -/redirectme / 302 diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/public/public.txt b/packages/integrations/cloudflare/test/fixtures/routes-json/public/public.txt deleted file mode 100644 index 9766475a4..000000000 --- a/packages/integrations/cloudflare/test/fixtures/routes-json/public/public.txt +++ /dev/null @@ -1 +0,0 @@ -ok diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic1.astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic1.astro deleted file mode 100644 index 9a2306b86..000000000 --- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic1.astro +++ /dev/null @@ -1,5 +0,0 @@ ---- -export const prerender=false; ---- - -ok diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic2.astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic2.astro deleted file mode 100644 index 9a2306b86..000000000 --- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic2.astro +++ /dev/null @@ -1,5 +0,0 @@ ---- -export const prerender=false; ---- - -ok diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic3.astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic3.astro deleted file mode 100644 index 9a2306b86..000000000 --- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/dynamic3.astro +++ /dev/null @@ -1,5 +0,0 @@ ---- -export const prerender=false; ---- - -ok diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/index.astro deleted file mode 100644 index 9a2306b86..000000000 --- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/dynamicOnly/pages/index.astro +++ /dev/null @@ -1,5 +0,0 @@ ---- -export const prerender=false; ---- - -ok diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/[...rest].astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/[...rest].astro deleted file mode 100644 index 9a2306b86..000000000 --- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/[...rest].astro +++ /dev/null @@ -1,5 +0,0 @@ ---- -export const prerender=false; ---- - -ok diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/[id].astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/[id].astro deleted file mode 100644 index 9a2306b86..000000000 --- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/[id].astro +++ /dev/null @@ -1,5 +0,0 @@ ---- -export const prerender=false; ---- - -ok diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/endpoint.ts b/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/endpoint.ts deleted file mode 100644 index d43d0cd2a..000000000 --- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/endpoint.ts +++ /dev/null @@ -1 +0,0 @@ -export const prerender = false; diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/index.astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/index.astro deleted file mode 100644 index 9766475a4..000000000 --- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/a/index.astro +++ /dev/null @@ -1 +0,0 @@ -ok diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/b/index.html b/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/b/index.html deleted file mode 100644 index 9766475a4..000000000 --- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/mixed/pages/b/index.html +++ /dev/null @@ -1 +0,0 @@ -ok diff --git a/packages/integrations/cloudflare/test/fixtures/routes-json/src/staticOnly/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/routes-json/src/staticOnly/pages/index.astro deleted file mode 100644 index 9766475a4..000000000 --- a/packages/integrations/cloudflare/test/fixtures/routes-json/src/staticOnly/pages/index.astro +++ /dev/null @@ -1 +0,0 @@ -ok diff --git a/packages/integrations/cloudflare/test/fixtures/runtime/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/runtime/astro.config.mjs deleted file mode 100644 index f92829843..000000000 --- a/packages/integrations/cloudflare/test/fixtures/runtime/astro.config.mjs +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'astro/config'; -import cloudflare from '@astrojs/cloudflare'; - - -export default defineConfig({ - adapter: cloudflare(), - output: 'server', -}); diff --git a/packages/integrations/cloudflare/test/fixtures/runtime/package.json b/packages/integrations/cloudflare/test/fixtures/runtime/package.json deleted file mode 100644 index 71ac16647..000000000 --- a/packages/integrations/cloudflare/test/fixtures/runtime/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "@test/astro-cloudflare-runtime", - "version": "0.0.0", - "private": true, - "dependencies": { - "@astrojs/cloudflare": "workspace:*", - "astro": "workspace:*" - } -} diff --git a/packages/integrations/cloudflare/test/fixtures/runtime/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/runtime/src/pages/index.astro deleted file mode 100644 index aa73ab8ea..000000000 --- a/packages/integrations/cloudflare/test/fixtures/runtime/src/pages/index.astro +++ /dev/null @@ -1,15 +0,0 @@ ---- -const runtime = Astro.locals.runtime; -const env = runtime.env; ---- -<html> - <head> - <title>Testing</title> - </head> - <body> - <h1>Testing</h1> - <div id="env">{JSON.stringify(env)}</div> - <div id="hasRuntime">{!!runtime.cf?.colo}</div> - <div id="hasCache">{!!runtime.caches}</div> - </body> -</html> 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 a30cd2086..000000000 --- a/packages/integrations/cloudflare/test/fixtures/wasm-directory/astro.config.mjs +++ /dev/null @@ -1,10 +0,0 @@ -import { defineConfig } from 'astro/config'; -import cloudflare from '@astrojs/cloudflare'; - -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 859aa4f40..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": "workspace:*" - } -} 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 2c9ff6d44..000000000 --- a/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/pages/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { type APIContext, type EndpointOutput } 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<EndpointOutput | 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 Binary files differdeleted file mode 100644 index 357f72da7..000000000 --- a/packages/integrations/cloudflare/test/fixtures/wasm-directory/src/util/add.wasm +++ /dev/null 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 7f741d884..000000000 --- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/astro.config.mjs +++ /dev/null @@ -1,12 +0,0 @@ -import { defineConfig } from 'astro/config'; -import cloudflare from '@astrojs/cloudflare'; - -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 238c1e313..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": "workspace:*" - } -} 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 20797c0c6..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, type EndpointOutput } from 'astro'; -import { add } from '../../../util/add'; - -export async function GET( - context: APIContext -): Promise<EndpointOutput | 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 b6417dde9..000000000 --- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/pages/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { type APIContext, type EndpointOutput } from 'astro'; -import { add } from '../util/add'; - -export async function GET( - context: APIContext -): Promise<EndpointOutput | 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 Binary files differdeleted file mode 100644 index 357f72da7..000000000 --- a/packages/integrations/cloudflare/test/fixtures/wasm-function-per-route/src/util/add.wasm +++ /dev/null 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 deleted file mode 100644 index b5e68667e..000000000 --- a/packages/integrations/cloudflare/test/fixtures/wasm/astro.config.mjs +++ /dev/null @@ -1,9 +0,0 @@ -import { defineConfig } from 'astro/config'; -import cloudflare from '@astrojs/cloudflare'; - -export default defineConfig({ - adapter: cloudflare({ - wasmModuleImports: true - }), - output: 'server' -}); diff --git a/packages/integrations/cloudflare/test/fixtures/wasm/package.json b/packages/integrations/cloudflare/test/fixtures/wasm/package.json deleted file mode 100644 index 4abd8513c..000000000 --- a/packages/integrations/cloudflare/test/fixtures/wasm/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "@test/astro-cloudflare-wasm", - "version": "0.0.0", - "private": true, - "dependencies": { - "@astrojs/cloudflare": "workspace:*", - "astro": "workspace:*" - } -} diff --git a/packages/integrations/cloudflare/test/fixtures/wasm/src/pages/add/[a]/[b].ts b/packages/integrations/cloudflare/test/fixtures/wasm/src/pages/add/[a]/[b].ts deleted file mode 100644 index 130b2b2a4..000000000 --- a/packages/integrations/cloudflare/test/fixtures/wasm/src/pages/add/[a]/[b].ts +++ /dev/null @@ -1,20 +0,0 @@ -import { type APIContext, type EndpointOutput } from 'astro'; -// @ts-ignore -import mod from '../../../util/add.wasm?module'; - -const addModule: any = new WebAssembly.Instance(mod); - -export const prerender = false; - -export async function GET( - context: APIContext -): Promise<EndpointOutput | Response> { - const a = Number.parseInt(context.params.a!); - const b = Number.parseInt(context.params.b!); - return new Response(JSON.stringify({ answer: addModule.exports.add(a, b) }), { - status: 200, - headers: { - 'Content-Type': 'application/json', - }, - }); -} diff --git a/packages/integrations/cloudflare/test/fixtures/wasm/src/pages/hybrid.ts b/packages/integrations/cloudflare/test/fixtures/wasm/src/pages/hybrid.ts deleted file mode 100644 index 7bb470dff..000000000 --- a/packages/integrations/cloudflare/test/fixtures/wasm/src/pages/hybrid.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { type APIContext, type EndpointOutput } 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<EndpointOutput | Response> { - return new Response(JSON.stringify({ answer: addModule.exports.add(20, 1) }), { - status: 200, - headers: { - 'Content-Type': 'application/json', - }, - }); -} diff --git a/packages/integrations/cloudflare/test/fixtures/wasm/src/util/add.wasm b/packages/integrations/cloudflare/test/fixtures/wasm/src/util/add.wasm Binary files differdeleted file mode 100644 index 357f72da7..000000000 --- a/packages/integrations/cloudflare/test/fixtures/wasm/src/util/add.wasm +++ /dev/null diff --git a/packages/integrations/cloudflare/test/fixtures/with-solid-js/astro.config.mjs b/packages/integrations/cloudflare/test/fixtures/with-solid-js/astro.config.mjs deleted file mode 100644 index 8987b7366..000000000 --- a/packages/integrations/cloudflare/test/fixtures/with-solid-js/astro.config.mjs +++ /dev/null @@ -1,9 +0,0 @@ -import { defineConfig } from 'astro/config'; -import cloudflare from '@astrojs/cloudflare'; -import solidJs from "@astrojs/solid-js"; - -export default defineConfig({ - integrations: [solidJs()], - adapter: cloudflare(), - output: 'server', -}); diff --git a/packages/integrations/cloudflare/test/fixtures/with-solid-js/package.json b/packages/integrations/cloudflare/test/fixtures/with-solid-js/package.json deleted file mode 100644 index 55e344b21..000000000 --- a/packages/integrations/cloudflare/test/fixtures/with-solid-js/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "@test/astro-cloudflare-with-solid-js", - "version": "0.0.0", - "private": true, - "dependencies": { - "@astrojs/cloudflare": "workspace:*", - "@astrojs/solid-js": "workspace:*", - "astro": "workspace:*", - "solid-js": "^1.7.11" - } -} diff --git a/packages/integrations/cloudflare/test/fixtures/with-solid-js/src/components/Component.tsx b/packages/integrations/cloudflare/test/fixtures/with-solid-js/src/components/Component.tsx deleted file mode 100644 index d223d4f1c..000000000 --- a/packages/integrations/cloudflare/test/fixtures/with-solid-js/src/components/Component.tsx +++ /dev/null @@ -1 +0,0 @@ -export const Component = () => <div class="solid">Solid Content</div> diff --git a/packages/integrations/cloudflare/test/fixtures/with-solid-js/src/pages/index.astro b/packages/integrations/cloudflare/test/fixtures/with-solid-js/src/pages/index.astro deleted file mode 100644 index f185a95d3..000000000 --- a/packages/integrations/cloudflare/test/fixtures/with-solid-js/src/pages/index.astro +++ /dev/null @@ -1,13 +0,0 @@ ---- -import {Component} from "../components/Component"; ---- - -<html> -<head> - <title>Testing</title> -</head> -<body> -<h1>Testing</h1> -<Component /> -</body> -</html> 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 f0287c717..000000000 --- a/packages/integrations/cloudflare/test/function-per-route.test.js +++ /dev/null @@ -1,36 +0,0 @@ -import { loadFixture } from './test-utils.js'; -import { expect } from 'chai'; - -/** @type {import('./test-utils.js').Fixture} */ -describe('Cloudflare SSR functionPerRoute', () => { - /** @type {import('./test-utils').Fixture} */ - let fixture; - - before(async () => { - fixture = await loadFixture({ - root: './fixtures/function-per-route/', - }); - await fixture.build(); - }); - - after(() => { - fixture?.clean(); - }); - - it('generates functions folders inside the project root, and checks that each page is emitted by astro', async () => { - expect(await fixture.pathExists('../functions')).to.be.true; - expect(await fixture.pathExists('../functions/index.js')).to.be.true; - expect(await fixture.pathExists('../functions/blog/cool.js')).to.be.true; - expect(await fixture.pathExists('../functions/blog/[post].js')).to.be.true; - expect(await fixture.pathExists('../functions/[person]/[car].js')).to.be.true; - expect(await fixture.pathExists('../functions/files/[[path]].js')).to.be.true; - expect(await fixture.pathExists('../functions/[language]/files/[[path]].js')).to.be.true; - expect(await fixture.pathExists('../functions/trpc/[trpc].js')).to.be.true; - expect(await fixture.pathExists('../functions/javascript.js')).to.be.true; - expect(await fixture.pathExists('../functions/test.json.js')).to.be.true; - }); - - it('generates pre-rendered files', async () => { - expect(await fixture.pathExists('./prerender/index.html')).to.be.true; - }); -}); diff --git a/packages/integrations/cloudflare/test/no-output.test.js b/packages/integrations/cloudflare/test/no-output.test.js deleted file mode 100644 index af4d9c2b6..000000000 --- a/packages/integrations/cloudflare/test/no-output.test.js +++ /dev/null @@ -1,24 +0,0 @@ -import { loadFixture } from './test-utils.js'; -import { expect } from 'chai'; - -describe('Missing output config', () => { - /** @type {import('./test-utils').Fixture} */ - let fixture; - - before(async () => { - fixture = await loadFixture({ - root: './fixtures/no-output/', - }); - }); - - it('throws during the build', async () => { - let error = undefined; - try { - await fixture.build(); - } catch (err) { - error = err; - } - expect(error).to.not.be.equal(undefined); - expect(error.message).to.include(`output: "server"`); - }); -}); diff --git a/packages/integrations/cloudflare/test/prerender.test.js b/packages/integrations/cloudflare/test/prerender.test.js deleted file mode 100644 index 6c2b8c5bb..000000000 --- a/packages/integrations/cloudflare/test/prerender.test.js +++ /dev/null @@ -1,58 +0,0 @@ -import { loadFixture } from './test-utils.js'; -import { expect } from 'chai'; - -describe('Prerendering', () => { - /** @type {import('./test-utils').Fixture} */ - let fixture; - - before(async () => { - process.env.PRERENDER = true; - fixture = await loadFixture({ - root: './fixtures/prerender/', - }); - await fixture.build(); - }); - - after(() => { - delete process.env.PRERENDER; - fixture.clean(); - }); - - it('includes non prerendered routes in the routes.json config', async () => { - const foundRoutes = JSON.parse(await fixture.readFile('/_routes.json')); - - expect(foundRoutes).to.deep.equal({ - version: 1, - include: ['/', '/_image'], - exclude: [], - }); - }); -}); - -describe('Hybrid rendering', () => { - /** @type {import('./test-utils').Fixture} */ - let fixture; - - before(async () => { - process.env.PRERENDER = false; - fixture = await loadFixture({ - root: './fixtures/prerender/', - output: 'hybrid', - }); - await fixture.build(); - }); - - after(() => { - delete process.env.PRERENDER; - }); - - it('includes non prerendered routes in the routes.json config', async () => { - const foundRoutes = JSON.parse(await fixture.readFile('/_routes.json')); - - expect(foundRoutes).to.deep.equal({ - version: 1, - include: ['/one', '/_image'], - exclude: [], - }); - }); -}); diff --git a/packages/integrations/cloudflare/test/routes-json.test.js b/packages/integrations/cloudflare/test/routes-json.test.js deleted file mode 100644 index 9c5cfad4a..000000000 --- a/packages/integrations/cloudflare/test/routes-json.test.js +++ /dev/null @@ -1,211 +0,0 @@ -import { expect } from 'chai'; -import { loadFixture } from './test-utils.js'; -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: './fixtures/routes-json/', - 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); - - expect(routes).to.deep.equal({ - version: 1, - include: ['/a/*', '/_image'], - exclude: ['/a/', '/a/redirect', '/a/index.html'], - }); - }); - }); - - describe('of only functions', () => { - let fixture; - - before(async () => { - fixture = await loadFixture({ - root: './fixtures/routes-json/', - 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); - - expect(routes).to.deep.equal({ - version: 1, - include: ['/*'], - exclude: ['/public.txt', '/redirectme', '/a/redirect'], - }); - }); - }); - - describe('of only static files', () => { - let fixture; - - before(async () => { - fixture = await loadFixture({ - root: './fixtures/routes-json/', - 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); - - expect(routes).to.deep.equal({ - version: 1, - include: ['/_image'], - exclude: [], - }); - }); - }); - - describe('with strategy `"include"`', () => { - let fixture; - - before(async () => { - fixture = await loadFixture({ - root: './fixtures/routes-json/', - 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); - - expect(routes).to.deep.equal({ - version: 1, - include: ['/', '/_image', '/dynamic1', '/dynamic2', '/dynamic3'], - exclude: [], - }); - }); - }); - - describe('with strategy `"exclude"`', () => { - let fixture; - - before(async () => { - fixture = await loadFixture({ - root: './fixtures/routes-json/', - 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); - - expect(routes).to.deep.equal({ - version: 1, - include: ['/*'], - exclude: ['/', '/index.html', '/public.txt', '/redirectme', '/a/redirect'], - }); - }); - }); - - describe('with additional `include` entries', () => { - let fixture; - - before(async () => { - fixture = await loadFixture({ - root: './fixtures/routes-json/', - 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); - - expect(routes).to.deep.equal({ - 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: './fixtures/routes-json/', - 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); - - expect(routes).to.deep.equal({ - version: 1, - include: ['/a/*', '/_image'], - exclude: ['/a/', '/a/*', '/another'], - }); - }); - }); - }); - } - } -}); diff --git a/packages/integrations/cloudflare/test/runtime.test.js b/packages/integrations/cloudflare/test/runtime.test.js deleted file mode 100644 index e0d77d5c6..000000000 --- a/packages/integrations/cloudflare/test/runtime.test.js +++ /dev/null @@ -1,44 +0,0 @@ -import { loadFixture, runCLI } from './test-utils.js'; -import { expect } from 'chai'; -import * as cheerio from 'cheerio'; -import cloudflare from '../dist/index.js'; - -describe('Runtime Locals', () => { - /** @type {import('./test-utils.js').Fixture} */ - let fixture; - /** @type {import('./test-utils.js').WranglerCLI} */ - let cli; - - before(async function () { - fixture = await loadFixture({ - root: './fixtures/runtime/', - output: 'server', - adapter: cloudflare(), - }); - await fixture.build(); - - cli = await runCLI('./fixtures/runtime/', { - silent: true, - onTimeout: (ex) => { - console.log(ex); - // if fail to start, skip for now as it's very flaky - this.skip(); - }, - }); - }); - - after(async () => { - await cli?.stop(); - }); - - it('has CF and Caches', async () => { - let res = await fetch(`http://127.0.0.1:${cli.port}/`); - expect(res.status).to.equal(200); - let html = await res.text(); - let $ = cheerio.load(html); - expect($('#env').text()).to.contain('SECRET_STUFF'); - expect($('#env').text()).to.contain('secret'); - expect($('#hasRuntime').text()).to.contain('true'); - expect($('#hasCache').text()).to.equal('true'); - }); -}); diff --git a/packages/integrations/cloudflare/test/test-utils.js b/packages/integrations/cloudflare/test/test-utils.js deleted file mode 100644 index 5e0c698f4..000000000 --- a/packages/integrations/cloudflare/test/test-utils.js +++ /dev/null @@ -1,169 +0,0 @@ -import { spawn } from 'node:child_process'; -import { fileURLToPath } from 'node:url'; -import { loadFixture as baseLoadFixture } from '../../../astro/test/test-utils.js'; -import * as net from 'node:net'; -export { fixLineEndings } from '../../../astro/test/test-utils.js'; -/** - * @typedef {{ stop: Promise<void>, port: number }} WranglerCLI - * @typedef {import('../../../astro/test/test-utils').Fixture} Fixture - */ - -export function loadFixture(config) { - if (config?.root) { - config.root = new URL(config.root, import.meta.url); - } - return baseLoadFixture(config); -} - -const wranglerPath = fileURLToPath( - new URL('../node_modules/wrangler/bin/wrangler.js', import.meta.url) -); - -let lastPort = 8788; - -/** - * @returns {Promise<WranglerCLI>} - */ -export async function runCLI( - basePath, - { - silent, - maxAttempts = 3, - timeoutMillis = 2500, // really short because it often seems to just hang on the first try, but work subsequently, no matter the wait - backoffFactor = 2, // | - 2.5s -- 5s ---- 10s -> onTimeout - onTimeout = (ex) => { - new Error(`Timed out starting the wrangler CLI after ${maxAttempts} tries.`, { cause: ex }); - }, - } -) { - let triesRemaining = maxAttempts; - let timeout = timeoutMillis; - let cli; - let lastErr; - while (triesRemaining > 0) { - cli = await tryRunCLI(basePath, { - silent, - timeout, - forceRotatePort: triesRemaining !== maxAttempts, - }); - try { - await cli.ready; - return cli; - } catch (err) { - lastErr = err; - console.error((err.message || err.name || err) + ' after ' + timeout + 'ms'); - cli.stop(); - triesRemaining -= 1; - timeout *= backoffFactor; - } - } - onTimeout(lastErr); - return cli; -} - -async function tryRunCLI(basePath, { silent, timeout, forceRotatePort = false }) { - const port = await getNextOpenPort(lastPort + (forceRotatePort ? 1 : 0)); - lastPort = port; - - const fixtureDir = fileURLToPath(new URL(`${basePath}`, import.meta.url)); - const p = spawn( - 'node', - [ - wranglerPath, - 'pages', - 'dev', - 'dist', - '--port', - port, - '--log-level', - 'info', - '--persist-to', - '.wrangler/state', - ], - { - cwd: fixtureDir, - } - ); - - p.stderr.setEncoding('utf-8'); - p.stdout.setEncoding('utf-8'); - - const ready = new Promise(async (resolve, reject) => { - const failed = setTimeout(() => { - p.kill('SIGKILL'); - reject(new Error(`Timed out starting the wrangler CLI`)); - }, timeout); - - const success = () => { - clearTimeout(failed); - resolve(); - }; - - p.on('exit', (code) => reject(`wrangler terminated unexpectedly with exit code ${code}`)); - - p.stderr.on('data', (data) => { - if (!silent) { - process.stdout.write(data); - } - }); - let allData = ''; - p.stdout.on('data', (data) => { - if (!silent) { - process.stdout.write(data); - } - allData += data; - if (allData.includes(`[mf:inf] Ready on`)) { - success(); - } - }); - }); - - return { - port, - ready, - stop() { - return new Promise((resolve, reject) => { - const timer = setTimeout(() => { - p.kill('SIGKILL'); - }, 1000); - p.on('close', () => { - clearTimeout(timer); - resolve(); - }); - p.on('error', (err) => reject(err)); - p.kill(); - }); - }, - }; -} - -const isPortOpen = async (port) => { - return new Promise((resolve, reject) => { - let s = net.createServer(); - s.once('error', (err) => { - s.close(); - if (err['code'] == 'EADDRINUSE') { - resolve(false); - } else { - reject(err); - } - }); - s.once('listening', () => { - resolve(true); - s.close(); - }); - s.listen(port, '0.0.0.0'); - }); -}; - -const getNextOpenPort = async (startFrom) => { - let openPort = null; - while (startFrom < 65535 || !!openPort) { - if (await isPortOpen(startFrom)) { - openPort = startFrom; - break; - } - startFrom++; - } - return openPort; -}; 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 0f387a660..000000000 --- a/packages/integrations/cloudflare/test/wasm-directory.test.js +++ /dev/null @@ -1,36 +0,0 @@ -import { loadFixture, runCLI } from './test-utils.js'; -import { expect } from 'chai'; - -describe('Wasm directory mode import', () => { - /** @type {import('./test-utils.js').Fixture} */ - let fixture; - /** @type {import('./test-utils.js').WranglerCLI} */ - let cli; - - before(async function () { - fixture = await loadFixture({ - root: './fixtures/wasm-directory/', - }); - await fixture.build(); - - cli = await runCLI('./fixtures/wasm-directory/', { - silent: true, - onTimeout: (ex) => { - console.log(ex); - // if fail to start, skip for now as it's very flaky - this.skip(); - }, - }); - }); - - after(async () => { - await cli?.stop(); - }); - - it('can render', async () => { - let res = await fetch(`http://127.0.0.1:${cli.port}/`); - expect(res.status).to.equal(200); - const json = await res.json(); - expect(json).to.deep.equal({ 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 f751f1ff4..000000000 --- a/packages/integrations/cloudflare/test/wasm-function-per-route.test.js +++ /dev/null @@ -1,41 +0,0 @@ -import { loadFixture, runCLI } from './test-utils.js'; -import { expect } from 'chai'; - -describe('Wasm function per route import', () => { - /** @type {import('./test-utils.js').Fixture} */ - let fixture; - /** @type {import('./test-utils.js').WranglerCLI} */ - let cli; - - before(async function () { - fixture = await loadFixture({ - root: './fixtures/wasm-function-per-route/', - }); - await fixture.build(); - - cli = await runCLI('./fixtures/wasm-function-per-route/', { - silent: true, - onTimeout: (ex) => { - console.log(ex); - // if fail to start, skip for now as it's very flaky - this.skip(); - }, - }); - }); - - after(async () => { - await cli?.stop(); - }); - - it('can render', async () => { - let res = await fetch(`http://127.0.0.1:${cli.port}/`); - expect(res.status).to.equal(200); - let json = await res.json(); - expect(json).to.deep.equal({ answer: 42 }); - - res = await fetch(`http://127.0.0.1:${cli.port}/deeply/nested/route`); - expect(res.status).to.equal(200); - json = await res.json(); - expect(json).to.deep.equal({ answer: 84 }); - }); -}); diff --git a/packages/integrations/cloudflare/test/wasm.test.js b/packages/integrations/cloudflare/test/wasm.test.js deleted file mode 100644 index 279a00cd1..000000000 --- a/packages/integrations/cloudflare/test/wasm.test.js +++ /dev/null @@ -1,85 +0,0 @@ -import { loadFixture, runCLI } from './test-utils.js'; -import { expect } from 'chai'; -import cloudflare from '../dist/index.js'; - -describe('Wasm import', () => { - describe('in cloudflare workerd', () => { - /** @type {import('./test-utils.js').Fixture} */ - let fixture; - /** @type {import('./test-utils.js').WranglerCLI} */ - let cli; - - before(async function () { - fixture = await loadFixture({ - root: './fixtures/wasm/', - }); - await fixture.build(); - - cli = await runCLI('./fixtures/wasm/', { - silent: true, - onTimeout: (ex) => { - console.log(ex); - // if fail to start, skip for now as it's very flaky - this.skip(); - }, - }); - }); - - after(async () => { - await cli?.stop(); - }); - - it('can render', async () => { - let res = await fetch(`http://127.0.0.1:${cli.port}/add/40/2`); - expect(res.status).to.equal(200); - const json = await res.json(); - expect(json).to.deep.equal({ answer: 42 }); - }); - }); - describe('astro dev server', () => { - /** @type {import('./test-utils').Fixture} */ - let fixture; - let devServer; - - before(async () => { - fixture = await loadFixture({ - root: './fixtures/wasm/', - }); - devServer = undefined; - }); - - after(async () => { - await devServer?.stop(); - }); - - it('can serve wasm', async () => { - devServer = await fixture.startDevServer(); - let res = await fetch(`http://localhost:${devServer.address.port}/add/60/3`); - expect(res.status).to.equal(200); - const json = await res.json(); - expect(json).to.deep.equal({ answer: 63 }); - }); - - it('fails to build intelligently when wasm is disabled', async () => { - let ex; - try { - await fixture.build({ - adapter: cloudflare({ - wasmModuleImports: false, - }), - }); - } catch (err) { - ex = err; - } - expect(ex?.message).to.have.string('add `wasmModuleImports: true` to your astro config'); - }); - - it('can import wasm in both SSR and SSG pages', async () => { - await fixture.build({ output: 'hybrid' }); - const staticContents = await fixture.readFile('./hybrid'); - expect(staticContents).to.be.equal('{"answer":21}'); - const assets = await fixture.readdir('./_astro'); - expect(assets.map((x) => x.slice(x.lastIndexOf('.')))).to.contain('.wasm'); - }); - }); -}); diff --git a/packages/integrations/cloudflare/test/with-solid-js.test.js b/packages/integrations/cloudflare/test/with-solid-js.test.js deleted file mode 100644 index 501a947d0..000000000 --- a/packages/integrations/cloudflare/test/with-solid-js.test.js +++ /dev/null @@ -1,38 +0,0 @@ -import { loadFixture, runCLI } from './test-utils.js'; -import { expect } from 'chai'; -import * as cheerio from 'cheerio'; - -describe('With SolidJS', () => { - /** @type {import('./test-utils').Fixture} */ - let fixture; - /** @type {import('./test-utils').WranglerCLI} */ - let cli; - - before(async function () { - fixture = await loadFixture({ - root: './fixtures/with-solid-js/', - }); - await fixture.build(); - - cli = await runCLI('./fixtures/with-solid-js/', { - silent: true, - onTimeout: (ex) => { - console.log(ex); - // if fail to start, skip for now as it's very flaky - this.skip(); - }, - }); - }); - - after(async () => { - await cli?.stop(); - }); - - it('renders the solid component', async () => { - let res = await fetch(`http://127.0.0.1:${cli.port}/`); - expect(res.status).to.equal(200); - let html = await res.text(); - let $ = cheerio.load(html); - expect($('.solid').text()).to.equal('Solid Content'); - }); -}); diff --git a/packages/integrations/cloudflare/test/wrangler.toml b/packages/integrations/cloudflare/test/wrangler.toml deleted file mode 100644 index 2c1acb55a..000000000 --- a/packages/integrations/cloudflare/test/wrangler.toml +++ /dev/null @@ -1,6 +0,0 @@ -# for tests only - -send_metrics = false - -[vars] -SECRET_STUFF = "secret" |