Files
Raashish Aggarwal 07900769d9 fix(cli): update template handling for pnpm 11 (#10659)
* fix(cli): allow esbuild builds in Vite templates

* fix(cli): extend pnpm 11 build-script allowlists across app templates

- Add packages: [] to single-app pnpm-workspace.yaml so pnpm 9 does
  not reject the file with "packages field missing or empty".
- Add astro-app, react-router-app, start-app, next-app workspace
  yamls with the build-script allowlist each template needs
  (esbuild, sharp, unrs-resolver as applicable).
- Set msw: false across all app allowlists so the registry component
  install runs cleanly under pnpm 11 without executing msw's
  service-worker postinstall.
- Add a scaffold test pinning the packages:[] + allowBuilds shape
  so the parser keeps treating it as single-app.

* chore: changeset

* fix(templates): allow monorepo pnpm builds

* ci(templates): validate app workspace conversion

---------

Co-authored-by: shadcn <m@shadcn.com>
2026-05-29 08:24:31 +04:00
..
2026-05-27 21:08:26 +04:00
2026-05-27 21:08:26 +04:00
2026-02-26 17:11:56 +04:00
2026-02-26 17:11:56 +04:00
2026-02-26 17:11:56 +04:00
2026-05-27 21:08:26 +04:00
2026-02-26 17:11:56 +04:00
2026-02-26 17:11:56 +04:00
2026-02-26 17:11:56 +04:00

Astro + React + TypeScript + shadcn/ui (Monorepo)

This is a monorepo template for Astro with React, TypeScript, and shadcn/ui.

Structure

  • apps/web - Astro application
  • packages/ui - Shared UI components (shadcn/ui)

Adding components

To add components, run the following command from the root:

npx shadcn@latest add button -c apps/web

Using components

To use the components in your app, import them in an .astro file:

---
import { Button } from "@workspace/ui/components/button"
---

<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <title>Astro App</title>
  </head>
  <body>
    <div class="grid h-screen place-items-center content-center">
      <Button>Button</Button>
    </div>
  </body>
</html>