From 6c7ce63272f90d914d927e316a6980177e9d753a Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Mon, 16 Feb 2026 10:55:54 +0700 Subject: [PATCH] chore(website): generate Mac download link from package version --- CLAUDE.md | 2 +- README.md | 2 ++ packages/website/src/routes/index.tsx | 6 +++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 73e865e97..9f59acbc2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -191,7 +191,7 @@ Notes: - If `release:publish` fails after a successful publish of one workspace, re-run `npm run release:publish`; npm will skip already-published versions and continue where possible. - If a user asks to "release paseo" (without specifying major/minor), treat it as a patch release and run `npm run release:patch`. - All workspaces share one version by design. Keep versions synchronized and release together. -- After each release, update the website Mac download CTA URL to the new version tag in `packages/website/src/routes/index.tsx`. +- The website Mac download CTA URL is derived from `packages/website/package.json` version at build time, so no manual update is required after release. Release completion checklist: - `npm run release:patch` completes successfully. diff --git a/README.md b/README.md index 6818c71a1..7acc3cf36 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,8 @@ The tag triggers: - GitHub `Desktop Release` workflow (`.github/workflows/desktop-release.yml`) - Expo EAS mobile workflow (`packages/app/.eas/workflows/release-mobile.yml`) to build + submit Android/iOS +The website Mac download CTA is generated from `packages/website/package.json` version at build time, so it tracks each release automatically. + Useful monitoring commands after a release push: ```bash diff --git a/packages/website/src/routes/index.tsx b/packages/website/src/routes/index.tsx index bd70ba1bf..f78fd3d14 100644 --- a/packages/website/src/routes/index.tsx +++ b/packages/website/src/routes/index.tsx @@ -1,8 +1,12 @@ import * as React from 'react' import { createFileRoute } from '@tanstack/react-router' import { CursorFieldProvider } from '~/components/butterfly' +import websitePackage from '../../package.json' import '~/styles.css' +const desktopVersion = websitePackage.version +const macDownloadHref = `https://github.com/getpaseo/paseo/releases/download/v${desktopVersion}/Paseo_${desktopVersion}_aarch64.dmg` + export const Route = createFileRoute('/')({ head: () => ({ meta: [ @@ -194,7 +198,7 @@ function GetStarted() { npm install -g @getpaseo/cli && paseo