From 6341afd0cb5b3a89f3bb53fa3386895a83733de6 Mon Sep 17 00:00:00 2001 From: ainekko-cloudflare Date: Thu, 6 Mar 2025 11:15:37 -0800 Subject: [PATCH 1/5] Update package.json and package-lock.json --- apps/front/package.json | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/front/package.json b/apps/front/package.json index e4c0f5b..c9786d8 100644 --- a/apps/front/package.json +++ b/apps/front/package.json @@ -30,7 +30,7 @@ "swiper": "^11.2.1" }, "engines": { - "node": ">=18.0.0 <=20.x.x", + "node": ">=18.0.0 <=22.x.x", "npm": ">=6.0.0" }, "devDependencies": { diff --git a/package-lock.json b/package-lock.json index bf32578..da147ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -66,7 +66,7 @@ "typescript": "^5" }, "engines": { - "node": ">=18.0.0 <=20.x.x", + "node": ">=18.0.0 <=22.x.x", "npm": ">=6.0.0" } }, @@ -6438,7 +6438,7 @@ "pack-up": "bin/pack-up.js" }, "engines": { - "node": ">=18.0.0 <=20.x.x", + "node": ">=18.0.0 <=22.x.x", "npm": ">=6.0.0" } }, diff --git a/package.json b/package.json index 5398534..4bc334c 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "workspaces": { "packages": [ - "apps/*" + "apps/front/" ], "nohoist": [ "**/@strapi/strapi", From 86110350b9acfad8383e6d069b6f319ffcd66436 Mon Sep 17 00:00:00 2001 From: Roman Shaposhnik Date: Thu, 6 Mar 2025 20:30:52 +0000 Subject: [PATCH 2/5] Hooking up to Cloudflare --- apps/front/open-next.config.ts | 7 +++++++ apps/front/package.json | 8 +++++++- apps/front/wrangler.jsonc | 12 ++++++++++++ package.json | 6 ++++++ 4 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 apps/front/open-next.config.ts create mode 100644 apps/front/wrangler.jsonc diff --git a/apps/front/open-next.config.ts b/apps/front/open-next.config.ts new file mode 100644 index 0000000..a62dbe7 --- /dev/null +++ b/apps/front/open-next.config.ts @@ -0,0 +1,7 @@ +// default open-next.config.ts file created by @opennextjs/cloudflare +import { defineCloudflareConfig } from "@opennextjs/cloudflare/config"; +import kvIncrementalCache from "@opennextjs/cloudflare/kv-cache"; + +export default defineCloudflareConfig({ + incrementalCache: kvIncrementalCache, +}); diff --git a/apps/front/package.json b/apps/front/package.json index c9786d8..0974b43 100644 --- a/apps/front/package.json +++ b/apps/front/package.json @@ -3,6 +3,10 @@ "version": "0.9.0", "private": true, "scripts": { + "build:worker": "opennextjs-cloudflare", + "dev:worker": "wrangler dev --port 8771", + "preview:worker": "npm run build:worker && npm run dev:worker", + "deploy:worker": "npm run build:worker && wrangler deploy", "dev": "next dev", "build": "next build", "start": "next start", @@ -35,6 +39,7 @@ }, "devDependencies": { "@eslint/eslintrc": "^3", + "@opennextjs/cloudflare": "^0.5.8", "@types/node": "^20", "@types/qs": "^6.9.18", "@types/react": "^18.2.45", @@ -45,6 +50,7 @@ "eslint-config-next": "15.1.3", "postcss": "^8", "tailwindcss": "^3.4.1", - "typescript": "^5" + "typescript": "^5", + "wrangler": "^3.114.0" } } diff --git a/apps/front/wrangler.jsonc b/apps/front/wrangler.jsonc new file mode 100644 index 0000000..533c6ae --- /dev/null +++ b/apps/front/wrangler.jsonc @@ -0,0 +1,12 @@ +{ + "main": ".open-next/worker.js", + "name": "ai-nekko-web", + "compatibility_date": "2024-09-23", + "compatibility_flags": [ + "nodejs_compat" + ], + "assets": { + "directory": ".open-next/assets", + "binding": "ASSETS" + } +} diff --git a/package.json b/package.json index 4bc334c..3a5c2ca 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,10 @@ ] }, "scripts": { + "build:worker": "opennextjs-cloudflare", + "dev:worker": "wrangler dev --port 8771", + "preview:worker": "npm run build:worker && npm run dev:worker", + "deploy:worker": "npm run build:worker && wrangler deploy", "build": "turbo run build --filter=apps/front", "dev": "turbo run dev --filter=apps/front", "lint": "turbo run lint", @@ -20,6 +24,8 @@ "commit": "git-cz" }, "devDependencies": { + "@opennextjs/cloudflare": "^0.5.8", + "wrangler": "^3.114.0", "turbo": "1.10.6" }, "engines": { From 33209bf115f514775321616360ef9fd40d82f157 Mon Sep 17 00:00:00 2001 From: Roman Shaposhnik Date: Mon, 10 Mar 2025 12:31:14 -0700 Subject: [PATCH 3/5] Adding a GitHub action for site build --- .github/workflows/build.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..1857eeb --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,17 @@ +--- +name: Site Build +on: + push: + branches: [ deployment ] + +jobs: + site-build: + runs-on: ubuntu-latest + container: node:22-alpine + steps: + - name: Check out repository code + uses: actions/checkout@v4 + - name: Install Yarn Dependencies + run: cd apps/front && yarn install + - name: Build Site + run: cd apps/front && npm run build:worker From 86e7acae25c360604625fcf88dc6e3311b09b3ee Mon Sep 17 00:00:00 2001 From: Roman Shaposhnik Date: Mon, 10 Mar 2025 13:48:19 -0700 Subject: [PATCH 4/5] Adding deployment workflow --- .github/workflows/deploy.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..c759bfe --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,22 @@ +--- +name: Site Deploy +on: + push: + tags: + - '*' + +jobs: + site-deploy: + runs-on: ubuntu-latest + container: + image: node:22-alpine + env: + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + steps: + - name: Check out repository code + uses: actions/checkout@v4 + - name: Install Yarn Dependencies + run: cd apps/front && yarn install + - name: Deploy Site + run: cd apps/front && npm run deploy:worker From 4ea6f3edb29205704e6772580a6363cf1d8d8cd6 Mon Sep 17 00:00:00 2001 From: Roman Shaposhnik Date: Fri, 14 Mar 2025 13:27:28 -0700 Subject: [PATCH 5/5] Adding Strapi fetch to the build --- .github/workflows/deploy.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index c759bfe..41b1e49 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -13,6 +13,8 @@ jobs: env: CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + NEXT_PUBLIC_STRAPI_API_TOKEN: ${{ secrets.NEXT_PUBLIC_STRAPI_API_TOKEN }} + NEXT_PUBLIC_STRAPI_BASE_URL: ${{ secrets.NEXT_PUBLIC_STRAPI_BASE_URL }} steps: - name: Check out repository code uses: actions/checkout@v4