Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
e1601e9
chore(deps): update all non-major dependencies (#35)
renovate[bot] Feb 4, 2025
c8c80e9
chore(deps): update dependency vite to v6.0.9 [security] (#36)
renovate[bot] Feb 4, 2025
95d5069
chore(deps): update all non-major dependencies (#41)
renovate[bot] Feb 10, 2025
4adb31b
chore(deps): update all non-major dependencies (#42)
renovate[bot] Feb 24, 2025
4423f76
chore: remove pnpm cache (#43)
brillout Mar 2, 2025
a003432
fix: make `vike-cloudflare` a real Vike extension (#37) (#39)
brillout Mar 3, 2025
6524159
chore(deps): update all non-major dependencies (#44)
renovate[bot] Mar 3, 2025
73cf692
chore(deps): update all non-major dependencies (#46)
renovate[bot] Mar 10, 2025
4cd3016
chore(deps): update dependency wrangler to v4 (#49)
renovate[bot] Mar 17, 2025
afcef63
chore(deps): update all non-major dependencies (#48)
renovate[bot] Mar 17, 2025
32b3434
use latest Vike version (#47)
brillout Mar 21, 2025
bede974
chore(deps): update all non-major dependencies (#51)
renovate[bot] Mar 24, 2025
6064d3b
fix: use `vike@>=0.4.227` (#50)
brillout Mar 25, 2025
c140354
feat: use `vike-server` (#45)
magne4000 Mar 25, 2025
6b35791
release: v0.2.0
magne4000 Mar 25, 2025
30d1fa1
doc: update changelog
magne4000 Mar 25, 2025
ac1272a
fix: use configEnvironment instead of config. Fixes #52 (#53)
magne4000 Mar 26, 2025
3fc3967
release: v0.2.1
magne4000 Mar 26, 2025
48d5fa7
fix: wrong resolve conditions applied in dev
magne4000 Mar 27, 2025
d1d093d
release: v0.2.2
magne4000 Mar 27, 2025
952e61c
chore: vike@^0.4.228
brillout Apr 5, 2025
4e32273
chore: vite@^6.2.5
brillout Apr 5, 2025
7471fd3
fix: avoid type mismatch between different Vite versions (#56)
brillout Apr 5, 2025
e23cebf
release: v0.2.3
brillout Apr 5, 2025
e0d51b4
docs: update vike.dev link
brillout May 8, 2025
2a72d1d
chore: @brillout/test-e2e@^0.6.10
brillout May 16, 2025
498fefd
fix: prevent rebuild failures with improved handling of existing file…
EvanDarwin Jun 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ jobs:
- uses: actions/setup-node@v4
with:
node-version: 18
cache: "pnpm"
# TODO/eventually: try using the cache again
# The cache breaks playwright installation, see https://github.com/vikejs/vike-vue/pull/119
# cache: "pnpm"

- run: pnpm install
- run: pnpm playwright install chromium
Expand Down
48 changes: 48 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,51 @@
## [0.2.3](https://github.com/vikejs/vike-cloudflare/compare/v0.2.2...v0.2.3) (2025-04-05)


### Bug Fixes

* avoid type mismatch between different Vite versions ([#56](https://github.com/vikejs/vike-cloudflare/issues/56)) ([7471fd3](https://github.com/vikejs/vike-cloudflare/commit/7471fd342e90d57b2dd8c568d06e41ad2c80af5e))



## [0.2.2](https://github.com/vikejs/vike-cloudflare/compare/v0.2.1...v0.2.2) (2025-03-27)


### Bug Fixes

* wrong resolve conditions applied in dev ([48d5fa7](https://github.com/vikejs/vike-cloudflare/commit/48d5fa70b2504eb9b4cba0f35e1a60f826f0c7e6))



## [0.2.1](https://github.com/vikejs/vike-cloudflare/compare/v0.2.0...v0.2.1) (2025-03-26)


### Bug Fixes

* use configEnvironment instead of config. Fixes [#52](https://github.com/vikejs/vike-cloudflare/issues/52) ([#53](https://github.com/vikejs/vike-cloudflare/issues/53)) ([ac1272a](https://github.com/vikejs/vike-cloudflare/commit/ac1272accac90361be8d000865fcb22604420daf))



# [0.2.0](https://github.com/vikejs/vike-cloudflare/compare/v0.1.7...v0.2.0) (2025-03-25)


### Bug Fixes

* make `vike-cloudflare` a real Vike extension ([#37](https://github.com/vikejs/vike-cloudflare/issues/37)) ([#39](https://github.com/vikejs/vike-cloudflare/issues/39)) ([a003432](https://github.com/vikejs/vike-cloudflare/commit/a0034326f9dac1e7de100b4f44d401cb76a77795))
* use `vike@>=0.4.227` ([#50](https://github.com/vikejs/vike-cloudflare/issues/50)) ([6064d3b](https://github.com/vikejs/vike-cloudflare/commit/6064d3b621b78c1e6179311d0c3272b53f7d9e3c))


### Features

* use `vike-server` ([#45](https://github.com/vikejs/vike-cloudflare/issues/45)) ([c140354](https://github.com/vikejs/vike-cloudflare/commit/c14035456ae9b5f71e60ed3bb431d6d2e3fe0cd4))


### BREAKING CHANGES

* `vike-cloudflare` is now a Vike extension. Check [migrating from `0.1.x` to `0.2.x`](https://vike.dev/migration/vike-cloudflare)
* Use `[email protected]` or above.



## [0.1.7](https://github.com/vikejs/vike-cloudflare/compare/v0.1.6...v0.1.7) (2025-01-24)


Expand Down
5 changes: 3 additions & 2 deletions examples/hattip-app/.test-dev.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { testRun } from "./.testRun";

testRun("pnpm run dev --port 3000", {
serverIsReadyMessage: "Local:",
process.env.VITE_CONFIG = "{server:{port:3000}}";
testRun("pnpm run dev", {
serverIsReadyMessage: "Server running",
additionalTimeout: 1000,
});
22 changes: 9 additions & 13 deletions examples/hattip-app/hattip-entry.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
import type { HattipHandler } from "@hattip/core";
import { createRouter } from "@hattip/router";
import { createHandler } from "@universal-middleware/hattip";
import { createTodoHandler } from "./server/create-todo-handler";
import { vikeHandler } from "./server/vike-handler";
import { apply } from "vike-cloudflare/hattip";
import { serve } from "vike-cloudflare/hattip/serve";

const router = createRouter();
function startServer() {
const router = createRouter();
const port = process.env.PORT || 3000;

router.post("/api/todo/create", createHandler(() => createTodoHandler)());
apply(router);

/**
* Vike route
*
* @link {@see https://vike.dev}
**/
router.use(createHandler(() => vikeHandler)());
return serve(router, { port: +port });
}

export default router.buildHandler() as HattipHandler;
export default startServer();
33 changes: 16 additions & 17 deletions examples/hattip-app/package.json
Original file line number Diff line number Diff line change
@@ -1,38 +1,37 @@
{
"name": "hattip-app",
"private": true,
"version": "0.0.1",
"description": "",
"type": "module",
"scripts": {
"dev": "hattip serve ./hattip-entry.ts --client",
"build": "cross-env NODE_ENV=production hattip build ./hattip-entry.ts --target es2022 --client",
"preview": "pnpm run build && cross-env NODE_ENV=production wrangler pages dev",
"deploy": "pnpm run build && cross-env NODE_ENV=production wrangler pages deploy",
"dev": "vike dev",
"build": "vike build",
"preview": "vike build && cross-env NODE_ENV=production wrangler pages dev",
"deploy": "vike build && cross-env NODE_ENV=production wrangler pages deploy",
"test": "tsc --noEmit"
},
"keywords": [],
"author": "",
"devDependencies": {
"@auth/core": "^0.37.4",
"@auth/core": "^0.38.0",
"@hattip/adapter-cloudflare-workers": "^0.0.49",
"@hattip/adapter-node": "^0.0.49",
"@hattip/vite": "^0.0.49",
"@universal-middleware/core": "^0.3.3",
"@universal-middleware/core": "^0.4.4",
"cross-env": "^7.0.3",
"typescript": "^5.7.3",
"vike-cloudflare": "^0.1.7",
"wrangler": "^3.102.0"
"typescript": "^5.8.2",
"vike-cloudflare": "^0.2.3",
"vike-server": "^1.0.5",
"wrangler": "^4.4.0"
},
"dependencies": {
"@hattip/core": "^0.0.49",
"@hattip/router": "^0.0.49",
"@universal-middleware/hattip": "^0.3.3",
"cross-fetch": "^4.1.0",
"@universal-middleware/hattip": "^0.4.5",
"hattip": "^0.0.33",
"lowdb": "^7.0.1",
"solid-js": "^1.9.4",
"vike": "^0.4.219",
"vike-solid": "^0.7.8",
"vite": "^6.0.7"
"solid-js": "^1.9.5",
"vike": "^0.4.228",
"vike-solid": "^0.7.9",
"vite": "^6.2.5"
}
}
8 changes: 6 additions & 2 deletions examples/hattip-app/pages/+config.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
import vikeSolid from "vike-solid/config";
import vikeCloudflare from "vike-cloudflare/config";
import type { Config } from "vike/types";
import Head from "../layouts/HeadDefault.js";
import Layout from "../layouts/LayoutDefault.js";
import Layout from "../layouts/LayoutDefault.js"; // Default config (can be overridden by pages)

// Default config (can be overridden by pages)
export default {
Layout,
Head,
title: "My Vike App",
server: {
entry: "hattip-entry.ts",
},
stream: "web",
extends: vikeSolid,
extends: [vikeSolid, vikeCloudflare],
} satisfies Config;
24 changes: 24 additions & 0 deletions examples/hattip-app/pages/+middleware.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { enhance } from "@universal-middleware/core";

export default [
enhance(
async function todoHandler(request: Request): Promise<Response> {
const res = await request.json();

console.log("Received todo item:", res);

return new Response(JSON.stringify({ status: "OK" }), {
status: 200,
headers: {
"content-type": "application/json",
},
});
},
{
name: "todo-handler",
method: "POST",
path: "/api/todo/create",
immutable: false,
},
),
];
6 changes: 0 additions & 6 deletions examples/hattip-app/pages/+onPageTransitionEnd.ts

This file was deleted.

6 changes: 0 additions & 6 deletions examples/hattip-app/pages/+onPageTransitionStart.ts

This file was deleted.

1 change: 0 additions & 1 deletion examples/hattip-app/pages/star-wars/@id/+data.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
// https://vike.dev/data

import fetch from "cross-fetch";
import type { PageContextServer } from "vike/types";
import type { MovieDetails } from "../types.js";

Expand Down
1 change: 0 additions & 1 deletion examples/hattip-app/pages/star-wars/index/+data.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
// https://vike.dev/data

import fetch from "cross-fetch";
import type { Movie, MovieDetails } from "../types.js";

export type Data = Awaited<ReturnType<typeof data>>;
Expand Down
14 changes: 1 addition & 13 deletions examples/hattip-app/vite.config.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import { hattip } from "@hattip/vite";
import { pages } from "vike-cloudflare";
import vikeSolid from "vike-solid/vite";
import vike from "vike/plugin";
import { defineConfig } from "vite";
Expand All @@ -8,15 +6,5 @@ export default defineConfig({
build: {
target: "es2022",
},
plugins: [
hattip(),
vike({}),
vikeSolid(),
pages({
server: {
kind: "hattip",
entry: "hattip-entry.ts",
},
}),
],
plugins: [vike(), vikeSolid()],
});
2 changes: 1 addition & 1 deletion examples/hono-app/.test-dev.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ import { testRun } from "./.testRun";

process.env.VITE_CONFIG = "{server:{port:3000}}";
testRun("pnpm run dev", {
serverIsReadyMessage: "Local:",
serverIsReadyMessage: "Server running",
});
6 changes: 5 additions & 1 deletion examples/hono-app/.testRun.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@ import { expect, fetchHtml, getServerUrl, page, run, test } from "@brillout/test

export { testRun };

let isProd: boolean;

function testRun(cmd: `pnpm run ${"dev" | "preview"}${string}`, options?: Parameters<typeof run>[1]) {
run(cmd, options);

isProd = !cmd.startsWith("pnpm run dev");

testUrl({
url: "/",
title: "My Vike App",
text: "SSR running on Cloudflare",
text: isProd ? "SSR running on Cloudflare" : "Rendered to HTML",
textHydration: "Rendered to HTML",
});

Expand Down
21 changes: 9 additions & 12 deletions examples/hono-app/hono-entry.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
import { createHandler } from "@universal-middleware/hono";
import { Hono } from "hono";
import { createTodoHandler } from "./server/create-todo-handler.js";
import { vikeHandler } from "./server/vike-handler";
import { apply } from "vike-cloudflare/hono";
import { serve } from "vike-cloudflare/hono/serve";

const app = new Hono();
function startServer() {
const app = new Hono();
const port = process.env.PORT || 3000;

app.post("/api/todo/create", createHandler(() => createTodoHandler)());
apply(app);

/**
* Vike route
*
* @link {@see https://vike.dev}
**/
app.all("*", createHandler(() => vikeHandler)());
return serve(app, { port: +port });
}

export default app;
export default startServer();
28 changes: 13 additions & 15 deletions examples/hono-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,22 @@
"keywords": [],
"author": "Joël Charles <[email protected]>",
"devDependencies": {
"@auth/core": "^0.37.4",
"@hono/vite-cloudflare-pages": "^0.4.2",
"@hono/vite-dev-server": "^0.18.0",
"@auth/core": "^0.38.0",
"@types/node": "^18.19.70",
"@universal-middleware/core": "^0.3.3",
"typescript": "^5.7.3",
"vike-cloudflare": "^0.1.7",
"wrangler": "^3.102.0"
"@universal-middleware/core": "^0.4.4",
"typescript": "^5.8.2",
"vike-cloudflare": "^0.2.3",
"vike-server": "^1.0.5",
"wrangler": "^4.4.0"
},
"dependencies": {
"@universal-middleware/hono": "^0.3.3",
"@universal-middleware/hono": "^0.4.6",
"cross-env": "^7.0.3",
"cross-fetch": "^4.1.0",
"hono": "^4.6.16",
"solid-js": "^1.9.4",
"tsx": "^4.19.2",
"vike": "^0.4.219",
"vike-solid": "^0.7.8",
"vite": "^6.0.7"
"hono": "^4.7.5",
"solid-js": "^1.9.5",
"tsx": "^4.19.3",
"vike": "^0.4.228",
"vike-solid": "^0.7.9",
"vite": "^6.2.5"
}
}
7 changes: 6 additions & 1 deletion examples/hono-app/pages/+config.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import vikeSolid from "vike-solid/config";
import vikeCloudflare from "vike-cloudflare/config";
import type { Config } from "vike/types";
import Head from "../layouts/HeadDefault.js";
import Layout from "../layouts/LayoutDefault.js";
Expand All @@ -9,5 +10,9 @@ export default {
Head,
// <title>
title: "My Vike App",
extends: vikeSolid,
server: {
entry: "hono-entry.ts",
},
stream: "web",
extends: [vikeSolid, vikeCloudflare],
} satisfies Config;
24 changes: 24 additions & 0 deletions examples/hono-app/pages/+middleware.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { enhance } from "@universal-middleware/core";

export default [
enhance(
async function todoHandler(request: Request): Promise<Response> {
const res = await request.json();

console.log("Received todo item:", res);

return new Response(JSON.stringify({ status: "OK" }), {
status: 200,
headers: {
"content-type": "application/json",
},
});
},
{
name: "todo-handler",
method: "POST",
path: "/api/todo/create",
immutable: false,
},
),
];
6 changes: 0 additions & 6 deletions examples/hono-app/pages/+onPageTransitionEnd.ts

This file was deleted.

6 changes: 0 additions & 6 deletions examples/hono-app/pages/+onPageTransitionStart.ts

This file was deleted.

Loading