Skip to content

feat(tanstack-start): add dedicated build adapter#119

Draft
tensordreams wants to merge 2 commits into
mainfrom
feat/tanstack-start-support
Draft

feat(tanstack-start): add dedicated build adapter#119
tensordreams wants to merge 2 commits into
mainfrom
feat/tanstack-start-support

Conversation

@tensordreams

@tensordreams tensordreams commented Jul 17, 2026

Copy link
Copy Markdown

Linked issue

Closes #118

Summary

Add a first-party TanStack Start build adapter to Composer. The authoring surface is tanstackStart({ module, appDir }), and deploy configuration registers tanstackStartBuild() from @prisma/composer/tanstack-start/control.

The control adapter reads .output/nitro.json, requires the Nitro node-server preset, takes the authoritative serverEntry from the manifest, and delegates the complete output-tree assembly to the existing Node directory adapter. This preserves server chunks and client/public assets without hardcoding the emitted entry path.

The runnable TanStack Start example and both public guidance surfaces now use the dedicated adapter.

Testing performed

  • pnpm build
  • pnpm typecheck
  • pnpm lint
  • pnpm test
  • pnpm lint:deps
  • pnpm lint:rules:symlinks
  • pnpm check:publish-deps
  • The example integration test assembles the Nitro output, boots the assembled server entry, verifies SSR, and fetches a copied public asset.

Checklist

  • All commits are signed off (git commit -s) per the DCO. The DCO status check will block merge if any commit is missing a Signed-off-by: trailer.
  • I read CONTRIBUTING.md and the change is scoped to one logical concern.
  • The PR title is a conventional commit (feat, fix, chore, docs, refactor, test, build) — PR titles drive the auto-generated release notes.
  • Tests are updated (or n/a if the change is doc-only / refactor with no behavioural delta).

Notes for the reviewer

Build execution remains user-owned per ADR-0005: run vite build before deploy. The dedicated adapter interprets only the stable Nitro build manifest needed to assemble its already-built runnable output.

Signed-off-by: Alexey Orlenko's AI Agent <robot@aqrln.net>
@pkg-pr-new

pkg-pr-new Bot commented Jul 17, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@prisma/composer@119
npm i https://pkg.pr.new/@prisma/composer-prisma-cloud@119

commit: de3cead

Comment thread skills/prisma-composer/SKILL.md Outdated
Comment on lines +239 to +241
Run `vite build` first and register `nodeBuild()` in the deploy config. Never
point the single-file form at `.output/server/index.mjs`; that drops the rest
of Nitro's runnable output.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't it the whole point of Composer to run these things for you automatically? Also, why does our in-app-tree version have a dedicated tanStackStartBuild() but this version use vanilla nodeBuild()?

@aqrln
aqrln marked this pull request as draft July 17, 2026 12:59
Signed-off-by: Alexey Orlenko's AI Agent <robot@aqrln.net>
@tensordreams tensordreams changed the title feat(node): support TanStack Start applications feat(tanstack-start): add dedicated build adapter Jul 17, 2026
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.

Support TanStack Start via the Node directory adapter

2 participants