Back to changelog
Milestone
pnpm workspace, two apps, and env-only configuration
The template is now a pnpm workspace. apps/web serves Vercel and Docker. apps/cloudflare serves Workers. Encrypted admin settings are removed.
The template is a pnpm workspace with Turborepo. Shared behavior lives in @musemvp/* packages. Page code is copied between the two apps and checked by pnpm apps:parity.
Apps
apps/webis the Node app for Vercel and Docker. Set the Vercel Root Directory toapps/web.apps/cloudflareis the Workers app. Deploy withpnpm cf:deploy.DATABASE_CONNECTION_STRATEGYis gone. The Node app uses a pooled driver. The Workers app uses Hyperdrive per request.
Configuration
- Payment, storage, Turnstile, and newsletter signing are environment variables.
/app/admin/settingsandMUSE_SETTINGS_SECRETare removed. Migration0002_drop_app_settings.sqldropsapp_settingandapp_setting_revision.pnpm muse:settings:exportprints env lines from old encrypted rows.pnpm muse:initandpnpm muse:doctorset up a local app.
Tests
- Package tests live next to each package. Coverage floors can only rise.
pnpm test:e2ecovers the Node app.pnpm test:e2e:cfcovers the Cloudflare app.