From 797add308b8d247ed994612767768b32b08f2d6f Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 23 Apr 2026 20:58:25 +0000 Subject: [PATCH 1/4] Fix build scripts to use bun instead of pnpm Replace pnpm install/exec calls with bun equivalents so the build works in this bun-only project. Also switch from `bunx eleventy` to `bun run build` so the Bun runtime is used and Bun.file() APIs in reviews.js are available. https://claude.ai/code/session_01C2QdU9Djkt7xZ2hxusFHsC --- scripts/build.js | 2 +- scripts/prepare-dev.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build.js b/scripts/build.js index f913534..bced08b 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -13,7 +13,7 @@ console.log('Building site...'); fs.rmSync(output, { recursive: true, force: true }); -execSync('pnpm exec eleventy', { cwd: dev, stdio: 'inherit' }); +execSync('bun run build', { cwd: dev, stdio: 'inherit' }); execSync(`mv "${path.join(dev, '_site')}" "${output}"`); diff --git a/scripts/prepare-dev.js b/scripts/prepare-dev.js index a5a8914..9e4a05d 100644 --- a/scripts/prepare-dev.js +++ b/scripts/prepare-dev.js @@ -53,7 +53,7 @@ function prep() { if (!fs.existsSync(path.join(dev, "node_modules"))) { console.log("Installing dependencies..."); - execSync("pnpm install", { cwd: dev }); + execSync("bun install", { cwd: dev }); } fs.rmSync(path.join(dev, "_site"), { recursive: true, force: true }); From 3ffe9d104cea6ea9cc8851b8746113168b9b98e5 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 23 Apr 2026 20:59:54 +0000 Subject: [PATCH 2/4] Fix CI workflow to use bun instead of pnpm Replace pnpm setup/install/exec steps with bun equivalents. Also update sparse-checkout to fetch bun.lock and bunfig.toml instead of pnpm-lock.yaml, since the template is bun-only. https://claude.ai/code/session_01C2QdU9Djkt7xZ2hxusFHsC --- .github/workflows/build-and-deploy.yml | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index 62940f9..9fae475 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -28,7 +28,8 @@ jobs: sparse-checkout: | .eleventy.js package.json - pnpm-lock.yaml + bun.lock + bunfig.toml flake.nix flake.lock bin @@ -86,17 +87,10 @@ jobs: name: combined-files path: combined - - name: Setup pnpm - uses: pnpm/action-setup@v4 + - name: Setup Bun + uses: oven-sh/setup-bun@v2 with: - version: latest - - - name: Setup Node.js - uses: actions/setup-node@v6 - with: - node-version: latest - cache: 'pnpm' - cache-dependency-path: combined/pnpm-lock.yaml + bun-version: latest - name: Restore image cache uses: actions/cache@v4 @@ -106,11 +100,11 @@ jobs: restore-keys: | ${{ runner.os }}-images- - - name: Build with Node + - name: Build with Bun run: | cd combined - pnpm install --frozen-lockfile - pnpm exec eleventy + bun install --frozen-lockfile + bun scripts/eleventy-build.js mkdir -p ../_site mv _site/* ../_site/ From 18eca6ef52e5b0cf65acb203c3d0707a4a6bf810 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 23 Apr 2026 21:01:52 +0000 Subject: [PATCH 3/4] Add scripts to sparse-checkout in CI The eleventy-build.js entrypoint lives in the template's scripts/ directory, which wasn't included in the sparse-checkout. This caused the 'Build Site' job to fail with a file-not-found error. https://claude.ai/code/session_01C2QdU9Djkt7xZ2hxusFHsC --- .github/workflows/build-and-deploy.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index 9fae475..4c8db3d 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -33,6 +33,7 @@ jobs: flake.nix flake.lock bin + scripts src - name: Copy template files to combined dir From fdd723ded50126f9663095e0c546d9f1cdbb8932 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 23 Apr 2026 21:04:43 +0000 Subject: [PATCH 4/4] Add packages to sparse-checkout; align cache with chobble-client - Add packages/ to sparse-checkout so #toolkit/* path alias resolves - Cache node_modules alongside .image-cache (keyed on bun.lock hash) so bun install is fast on repeat runs, matching chobble-client setup https://claude.ai/code/session_01C2QdU9Djkt7xZ2hxusFHsC --- .github/workflows/build-and-deploy.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index 4c8db3d..22c79d6 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -34,6 +34,7 @@ jobs: flake.lock bin scripts + packages src - name: Copy template files to combined dir @@ -93,13 +94,15 @@ jobs: with: bun-version: latest - - name: Restore image cache + - name: Restore cache uses: actions/cache@v4 with: - path: combined/.image-cache - key: ${{ runner.os }}-images-${{ hashFiles('combined/src/images/**/*') }} + path: | + combined/node_modules + combined/.image-cache + key: ${{ runner.os }}-bun-${{ hashFiles('combined/bun.lock') }} restore-keys: | - ${{ runner.os }}-images- + ${{ runner.os }}-bun- - name: Build with Bun run: |