From aaf629beab67833cc15e16a24c39f797bdd57abb Mon Sep 17 00:00:00 2001 From: Rihan Arfan Date: Fri, 11 Apr 2025 05:08:09 +0100 Subject: [PATCH 1/9] docs: workers changelog --- docs/content/changelog/workers.md | 60 +++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 docs/content/changelog/workers.md diff --git a/docs/content/changelog/workers.md b/docs/content/changelog/workers.md new file mode 100644 index 00000000..de9e7b36 --- /dev/null +++ b/docs/content/changelog/workers.md @@ -0,0 +1,60 @@ +--- +title: NuxtHub on Workers +description: "Deploy your Nuxt apps to Cloudflare Workers and build real-time experiences." +date: 2025-04-10 +image: '/images/changelog/workers.png' +authors: + - name: Sebastien Chopin + avatar: + src: https://avatars.githubusercontent.com/u/904724?v=4 + to: https://bsky.app/profile/atinux.com + username: atinux + - name: Rihan Arfan + avatar: + src: https://avatars.githubusercontent.com/u/20425781?v=4 + to: https://bsky.app/profile/rihan.dev + username: rihan.dev + - name: Ahad Birang + avatar: + src: https://avatars.githubusercontent.com/u/2047945?v=4 + to: https://bsky.app/profile/farnabaz.dev + username: farnabaz.dev +--- + +::tip +This feature is available on both [free and pro plans](/pricing) and in [`@nuxthub/core >= v0.8.24`](https://github.com/nuxt-hub/core/releases/tag/v0.8.24). +:: + +After much development (and many teasers), we're thrilled to announce that NuxtHub now supports deploying to Cloudflare Workers! + +## Why Workers + +For a while, Cloudflare have been releasing exciting new features such as [observability & persistent logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/), [workflows](https://developers.cloudflare.com/workflows/), [cron triggers](https://developers.cloudflare.com/workers/configuration/cron-triggers/), and [much more](https://developers.cloudflare.com/workers/static-assets/migrate-from-pages/#compatibility-matrix). However, these features are only available on Cloudflare Workers, and were not brought to Cloudflare Pages. + +Now with the introduction of [static assets](https://developers.cloudflare.com/workers/static-assets/), suddenly it is now viable to deploy Nuxt applications to Cloudflare Workers, and we can benefit from the new features and services available on Cloudflare Workers. + +## Real-time + +Projects deployed to NuxtHub on Workers also fully support [Nitro WebSocket](https://nitro.build/guide/websocket), allowing you to create real-time experiences on NuxtHub. Simply set `nitro.experimental.websocket` to `true` in your `nuxt.config.ts`, create your websocket server route with crossws, and deploy! + +Under the hood this is powered by Cloudflare Durable Objects. Nitro and NuxtHub magically takes care of everything related to the Durable Object, from building to deploying. + +::note{to=https://nitro.build/guide/websocket icon="i-lucide-book"} +Learn more about Nitro WebSocket on the Nitro documentation +:: + +Check out our [multiplayer-globe](https://github.com/nuxt-hub/multiplayer-globe) template for an example of using websockets. [github.com/nuxt-hub/multiplayer-globe](https://github.com/nuxt-hub/multiplayer-globe +) + +## Deploying to Workers + +Get started by creating a new project and selecting the Cloudflare Workers type via NuxtHub Admin or the latest version of the `nuxthub` CLI ([v0.9.0](https://github.com/nuxt-hub/cli/releases)). All our templates are fully compatible with NuxtHub + +We're working on a migration path to help simplify the switch from Cloudflare Pages to Workers. Until then, you can deploy your existing Nuxt apps to Cloudflare Workers by setting `hub.workers` to `true`, and linking them to a separate new Cloudflare Workers project type, then manually moving any data stored in your database, KV or blob. + + +::note +While NuxtHub on Workers is in beta, preview environments aren't unavailable. Stay tuned for updates. +:: + +Let us know your thoughts by joining our [Discord](https://discord.gg/vW89dsVqBF), or emailing us at hub@nuxt.com. From a23230d5192707569280d45dd3bf2ba8521abd85 Mon Sep 17 00:00:00 2001 From: Rihan Arfan Date: Mon, 14 Apr 2025 16:50:12 +0100 Subject: [PATCH 2/9] docs: workers changelog --- docs/content/changelog/workers.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/content/changelog/workers.md b/docs/content/changelog/workers.md index de9e7b36..9ff25bb9 100644 --- a/docs/content/changelog/workers.md +++ b/docs/content/changelog/workers.md @@ -52,9 +52,17 @@ Get started by creating a new project and selecting the Cloudflare Workers type We're working on a migration path to help simplify the switch from Cloudflare Pages to Workers. Until then, you can deploy your existing Nuxt apps to Cloudflare Workers by setting `hub.workers` to `true`, and linking them to a separate new Cloudflare Workers project type, then manually moving any data stored in your database, KV or blob. - ::note While NuxtHub on Workers is in beta, preview environments aren't unavailable. Stay tuned for updates. :: -Let us know your thoughts by joining our [Discord](https://discord.gg/vW89dsVqBF), or emailing us at hub@nuxt.com. +## What's next + +Throughout the next few weeks, we'll be enhancing NuxtHub on Workers with new features and integration with more Cloudflare Workers-specific services, including: + +- Observability: Automatically ingest, filter, and analyse logs +- Queues: Process background tasks effectively at scale +- Cron Tasks: Run Nitro tasks automatically on a schedule +- Environments: Bringing the preview environment to NuxtHub on Workers + +Let us know your feedback by joining our [Discord](https://discord.gg/vW89dsVqBF), or emailing us at hub@nuxt.com. From 0d1ddaad25afa9296da5db3baab011d057761c44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Mon, 14 Apr 2025 19:39:53 +0200 Subject: [PATCH 3/9] up --- docs/content/changelog/workers.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/content/changelog/workers.md b/docs/content/changelog/workers.md index 9ff25bb9..238037ca 100644 --- a/docs/content/changelog/workers.md +++ b/docs/content/changelog/workers.md @@ -25,7 +25,7 @@ authors: This feature is available on both [free and pro plans](/pricing) and in [`@nuxthub/core >= v0.8.24`](https://github.com/nuxt-hub/core/releases/tag/v0.8.24). :: -After much development (and many teasers), we're thrilled to announce that NuxtHub now supports deploying to Cloudflare Workers! +After much development (and [many](https://x.com/Atinux/status/1907552625559744865/photo/1) [teasers](https://x.com/Atinux/status/1884315020982657452/video/1)), we're thrilled to announce that NuxtHub now supports deploying to Cloudflare Workers! ## Why Workers @@ -43,16 +43,16 @@ Under the hood this is powered by Cloudflare Durable Objects. Nitro and NuxtHub Learn more about Nitro WebSocket on the Nitro documentation :: -Check out our [multiplayer-globe](https://github.com/nuxt-hub/multiplayer-globe) template for an example of using websockets. [github.com/nuxt-hub/multiplayer-globe](https://github.com/nuxt-hub/multiplayer-globe +Check out our [multiplayer-globe](https://github.com/nuxt-hub/multiplayer-globe) template for an example of using websockets ([live demo](https://multiplayer-globe.nuxthub.workers.dev/)). ) ## Deploying to Workers -Get started by creating a new project and selecting the Cloudflare Workers type via NuxtHub Admin or the latest version of the `nuxthub` CLI ([v0.9.0](https://github.com/nuxt-hub/cli/releases)). All our templates are fully compatible with NuxtHub +Get started by creating a new project and selecting the Cloudflare Workers type on the [NuxtHub Admin](https://admin.hub.nuxt.com) or with the latest version of the `nuxthub` CLI ([v0.9.0](https://github.com/nuxt-hub/cli/releases)). All our templates are fully compatible with NuxtHub on Workers. -We're working on a migration path to help simplify the switch from Cloudflare Pages to Workers. Until then, you can deploy your existing Nuxt apps to Cloudflare Workers by setting `hub.workers` to `true`, and linking them to a separate new Cloudflare Workers project type, then manually moving any data stored in your database, KV or blob. +We're working on a migration path to help simplify the switch from Cloudflare Pages to Workers. Until then, you can deploy your existing Nuxt apps to Cloudflare Workers by setting `hub.workers` to `true`, and linking them to a separate new project with the Workers type, then manually moving any data stored in your database, KV or blob. -::note +::important While NuxtHub on Workers is in beta, preview environments aren't unavailable. Stay tuned for updates. :: @@ -60,9 +60,9 @@ While NuxtHub on Workers is in beta, preview environments aren't unavailable. St Throughout the next few weeks, we'll be enhancing NuxtHub on Workers with new features and integration with more Cloudflare Workers-specific services, including: -- Observability: Automatically ingest, filter, and analyse logs -- Queues: Process background tasks effectively at scale -- Cron Tasks: Run Nitro tasks automatically on a schedule -- Environments: Bringing the preview environment to NuxtHub on Workers +- **Observability**: Automatically ingest, filter, and analyse logs +- **Queues**: Process background tasks effectively at scale +- **Cron Tasks**: Run Nitro tasks automatically on a schedule +- **Environments**: Bringing the preview environment to NuxtHub on Workers -Let us know your feedback by joining our [Discord](https://discord.gg/vW89dsVqBF), or emailing us at hub@nuxt.com. +Let us know your feedback by joining our [Discord](https://discord.gg/vW89dsVqBF), following us on [X](https://x.com/nuxt_hub), or emailing us at hub@nuxt.com. From a86746f53ec7b6ced38467a20098ee4c8dfe1d85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Mon, 14 Apr 2025 22:29:55 +0200 Subject: [PATCH 4/9] up --- docs/content/changelog/workers.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/content/changelog/workers.md b/docs/content/changelog/workers.md index 238037ca..b98656fb 100644 --- a/docs/content/changelog/workers.md +++ b/docs/content/changelog/workers.md @@ -1,7 +1,7 @@ --- title: NuxtHub on Workers description: "Deploy your Nuxt apps to Cloudflare Workers and build real-time experiences." -date: 2025-04-10 +date: 2025-04-14 image: '/images/changelog/workers.png' authors: - name: Sebastien Chopin @@ -39,13 +39,12 @@ Projects deployed to NuxtHub on Workers also fully support [Nitro WebSocket](htt Under the hood this is powered by Cloudflare Durable Objects. Nitro and NuxtHub magically takes care of everything related to the Durable Object, from building to deploying. +Check out our [multiplayer-globe](https://github.com/nuxt-hub/multiplayer-globe) template for an example of using websockets ([live demo](https://multiplayer-globe.nuxthub.workers.dev/)). + ::note{to=https://nitro.build/guide/websocket icon="i-lucide-book"} Learn more about Nitro WebSocket on the Nitro documentation :: -Check out our [multiplayer-globe](https://github.com/nuxt-hub/multiplayer-globe) template for an example of using websockets ([live demo](https://multiplayer-globe.nuxthub.workers.dev/)). -) - ## Deploying to Workers Get started by creating a new project and selecting the Cloudflare Workers type on the [NuxtHub Admin](https://admin.hub.nuxt.com) or with the latest version of the `nuxthub` CLI ([v0.9.0](https://github.com/nuxt-hub/cli/releases)). All our templates are fully compatible with NuxtHub on Workers. From 2b9aa3c8c554f8f494907cf8cfc7a445a2f1ecac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Mon, 14 Apr 2025 22:57:19 +0200 Subject: [PATCH 5/9] up --- docs/content/changelog/workers.md | 2 +- .../public/images/changelog/workers-support.png | Bin 0 -> 95904 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/public/images/changelog/workers-support.png diff --git a/docs/content/changelog/workers.md b/docs/content/changelog/workers.md index b98656fb..2dd683de 100644 --- a/docs/content/changelog/workers.md +++ b/docs/content/changelog/workers.md @@ -2,7 +2,7 @@ title: NuxtHub on Workers description: "Deploy your Nuxt apps to Cloudflare Workers and build real-time experiences." date: 2025-04-14 -image: '/images/changelog/workers.png' +image: '/images/changelog/workers-support.png' authors: - name: Sebastien Chopin avatar: diff --git a/docs/public/images/changelog/workers-support.png b/docs/public/images/changelog/workers-support.png new file mode 100644 index 0000000000000000000000000000000000000000..bebfd2575f8323cfeb73a2a817ff10211e5caa15 GIT binary patch literal 95904 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 x*1oKv762Xdag7bhwJCqp(`|`Fa)>9!Gh) Date: Mon, 14 Apr 2025 23:03:09 +0200 Subject: [PATCH 6/9] chore: link from home --- docs/content/changelog/workers.md | 2 +- docs/content/index.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/content/changelog/workers.md b/docs/content/changelog/workers.md index 2dd683de..08816b50 100644 --- a/docs/content/changelog/workers.md +++ b/docs/content/changelog/workers.md @@ -1,6 +1,6 @@ --- title: NuxtHub on Workers -description: "Deploy your Nuxt apps to Cloudflare Workers and build real-time experiences." +description: "Deploy your Nuxt apps to Cloudflare Workers and build real-time experiences with zero configuration." date: 2025-04-14 image: '/images/changelog/workers-support.png' authors: diff --git a/docs/content/index.yml b/docs/content/index.yml index 5cde2baf..86b1cf33 100644 --- a/docs/content/index.yml +++ b/docs/content/index.yml @@ -10,8 +10,8 @@ hero: light: '/images/landing/hero-light.svg' dark: '/images/landing/hero-dark.svg' headline: - label: "NuxtHub Github App & Action" - to: /changelog/github-app-and-action + label: "Deploy to Cloudflare Workers" + to: /changelog/workers icon: i-lucide-arrow-right features: - title: Cloud Hosting From da820c2ae73f234e066857fc5579540193f67cb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Mon, 14 Apr 2025 23:14:27 +0200 Subject: [PATCH 7/9] up --- docs/content/changelog/workers.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/content/changelog/workers.md b/docs/content/changelog/workers.md index 08816b50..3bde4260 100644 --- a/docs/content/changelog/workers.md +++ b/docs/content/changelog/workers.md @@ -51,10 +51,21 @@ Get started by creating a new project and selecting the Cloudflare Workers type We're working on a migration path to help simplify the switch from Cloudflare Pages to Workers. Until then, you can deploy your existing Nuxt apps to Cloudflare Workers by setting `hub.workers` to `true`, and linking them to a separate new project with the Workers type, then manually moving any data stored in your database, KV or blob. -::important +::note While NuxtHub on Workers is in beta, preview environments aren't unavailable. Stay tuned for updates. :: +::important +**If you already have a NuxtHub account**, make sure to add the `Workers Scripts` permission on your Cloudflare API token. + +- Open [Cloudflare User API Tokens](https://dash.cloudflare.com/profile/api-tokens) +- Find your NuxtHub token(s) +- Add the `Workers Scripts > Edit` permission +- Save the changes + +Another solution is to link again your Cloudflare account from your NuxtHub team settings by clicking on `Connect a different Cloudflare account` > `Create a token`. +:: + ## What's next Throughout the next few weeks, we'll be enhancing NuxtHub on Workers with new features and integration with more Cloudflare Workers-specific services, including: From 266841f77e4b17976fb229464b37df697c9cc34d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Tue, 15 Apr 2025 00:39:57 +0200 Subject: [PATCH 8/9] chore: update date --- docs/content/changelog/workers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/changelog/workers.md b/docs/content/changelog/workers.md index 3bde4260..d70c80d8 100644 --- a/docs/content/changelog/workers.md +++ b/docs/content/changelog/workers.md @@ -1,7 +1,7 @@ --- title: NuxtHub on Workers description: "Deploy your Nuxt apps to Cloudflare Workers and build real-time experiences with zero configuration." -date: 2025-04-14 +date: 2025-04-15 image: '/images/changelog/workers-support.png' authors: - name: Sebastien Chopin From 72eb07d2d8a864118026c85095273be8185f30a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Tue, 15 Apr 2025 01:04:26 +0200 Subject: [PATCH 9/9] docs: add realtime --- docs/content/docs/2.features/realtime.md | 87 ++++++++++++++++++++++++ docs/content/index.yml | 8 +-- 2 files changed, 91 insertions(+), 4 deletions(-) create mode 100644 docs/content/docs/2.features/realtime.md diff --git a/docs/content/docs/2.features/realtime.md b/docs/content/docs/2.features/realtime.md new file mode 100644 index 00000000..80ae7f96 --- /dev/null +++ b/docs/content/docs/2.features/realtime.md @@ -0,0 +1,87 @@ +--- +title: Realtime & WebSockets +navigation.title: Realtime +description: Build realtime experiences with NuxtHub using Cloudflare Workers & Durable Objects. +--- + +## Getting Started + +Enable [Niro's experimental WebSocket](https://nitro.build/guide/websocket) support by adding the following to your `nuxt.config.ts` file: + +```ts [nuxt.config.ts] +export default defineNuxtConfig({ + nitro: { + experimental: { + websocket: true + } + }, + hub: { + workers: true + } +}) +``` + +::note +We need to enable the `workers` option to use the WebSocket support as Durable Objects are only supported on Cloudflare Workers. +:: + +## Example + +Let's create a simple application that display how many users are connected to the website. + +First, let's create a websocket handler on `/ws/visitors` route: + +```ts [server/routes/ws/visitors.ts] +export default defineWebSocketHandler({ + open(peer) { + // We subscribe to the 'visitors' channel + peer.subscribe('visitors') + // We publish the number of connected users to the 'visitors' channel + peer.publish('visitors', peer.peers.size) + // We send the number of connected users to the client + peer.send(peer.peers.size) + }, + close(peer) { + peer.unsubscribe('visitors') + // Wait 500ms before sending the updated locations to the server + setTimeout(() => { + peer.publish('visitors', peer.peers.size) + }, 500) + }, +}) +``` + +Install VueUse if you haven't already: + +```bash [Terminal] +npx nuxi module add vueuse +``` + +Let's use the [`useWebSocket`](https://vueuse.org/core/useWebSocket/) composable from VueUse to subscribe to the `visitors` channel and display the number of connected users. + +```vue [pages/visitors.vue] + + + +``` + +See a full open source example on [GitHub](https://github.com/nuxt-hub/multiplayer-globe), including geolocation tracking. \ No newline at end of file diff --git a/docs/content/index.yml b/docs/content/index.yml index 86b1cf33..b78bfc38 100644 --- a/docs/content/index.yml +++ b/docs/content/index.yml @@ -38,13 +38,13 @@ features: description: Run generative AI tasks on a global network and build full-stack AI applications. icon: i-lucide-wand to: /docs/features/ai - - title: Analytics Engine - description: Write data points & query with an SQL API with a unlimited-cardinality analytics service at scale. - icon: i-lucide-bar-chart-4 - soon: true - title: Real-time & sockets description: Create collaborative applications, real-time chat, multiplayer games and more. icon: i-lucide-mouse-pointer-click + to: /docs/features/realtime + - title: Analytics Engine + description: Write data points & query with an SQL API with a unlimited-cardinality analytics service at scale. + icon: i-lucide-bar-chart-4 soon: true - title: Cron Triggers & Queues description: Run periodic jobs with cron triggers & make sure to guarantee delivery with queues.