Skip to content

test: move the demo app and its e2e bench into this repository - #1

Merged
Mheaus merged 1 commit into
mainfrom
feat/public-bench
Oct 9, 2026
Merged

Mheaus merged 1 commit into
mainfrom
feat/public-bench

Conversation

@Mheaus

@Mheaus Mheaus commented Oct 9, 2026

Copy link
Copy Markdown
Member

Brings the demo app and its 35-scenario Playwright bench into this repository, so anyone can rerun them. Until now they lived in a private repository.

What changes

  • demo/: the Payload 4 + React Router 8 app (SQLite, Lexical, drafts and autosave, page blocks with live preview, uploads, two locales, a global, a website on the Local API). It is a pnpm workspace member that depends on the adapter with workspace:*, and it imports the adapter from dist/.
  • One copy of each shared runtime: React, Payload, @payloadcms/ui, React Router, Vite and @vitejs/plugin-rsc resolve to the same path for the adapter and the demo. The root adds react-server-dom-webpack and the demo adds esbuild@^0.28 to align their peer sets. Otherwise the adapter would import a second @vitejs/plugin-rsc runtime, which a published install never does.
  • CI: new e2e job on the production build and on vite dev. The checks job fails if demo/ ends up in the package.
  • README and docs/COMPAT.md list the 35 scenarios and the commands.

Checked locally

  • pnpm typecheck, pnpm test (16 unit tests), pnpm build.
  • Bench: 35/35 on the production build, 35/35 on vite dev.
  • pnpm pack --dry-run: dist/, README, LICENSE and package.json only.

🤖 Generated with Claude Code

The bench used to live in a private repository, so nobody outside could rerun it. demo/ is the app from sakuga-software/headless-cms-templates, as a workspace member that depends on the adapter with workspace:*. It imports the adapter from dist/, so pnpm build runs first.

- React, Payload, @payloadcms/ui, React Router, Vite and @vitejs/plugin-rsc resolve to one copy for the adapter and the demo. The root gets react-server-dom-webpack and the demo gets esbuild 0.28 to align their peer sets: with two copies of @vitejs/plugin-rsc the adapter would import a different runtime than the one the demo builds with.
- CI runs the bench on the production build and on vite dev, and checks that demo/ stays out of the package.
- README and COMPAT describe the 35 scenarios and the commands to run them.
@Mheaus
Mheaus merged commit dd2e466 into main Oct 9, 2026
3 checks passed
@Mheaus
Mheaus deleted the feat/public-bench branch October 9, 2026 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant