Skip to content

Registry components install to wrong directory, literal file targets bypass shadcn alias resolution #9

@fredericbarthelet

Description

@fredericbarthelet

Description

When installing Manifest UI components via the shadcn CLI, files are placed relative to the components.json location using literal paths (e.g. components/ui/event-card.tsx) instead of resolving through the configured aliases.

Expected behavior

Components should install to the path resolved by the ui alias in components.json. In my case, @/components/ui maps to web/src/components/ui/ via tsconfig paths. On the other hand, standard shadcn components (like button) resolve correctly to that directory.

Actual behavior

Manifest UI registry components are always placed at components/ui/ relative to the project root (where the components.json file leaves), ignoring the alias configuration. Standard shadcn dependency components (e.g. button.tsx) in the same install resolve correctly.

$ pnpm dlx shadcn@latest add @manifest/product-list
✔ Created 3 files:  
      - components/ui/types.ts          ← wrong: should be web/src/components/ui/
      - components/ui/product-list.tsx   ← wrong
      - components/ui/demo/list.ts      ← wrong
      - web/src/components/ui/button.tsx ← correct (standard shadcn dep)

Setup

my-app/
├── components.json        ← aliases.ui: "@/components/ui"
├── tsconfig.json          ← paths: { "@/*": ["./web/src/*"] }
├── server/
└── web/
    └── src/
        └── components/ui/ ← where files should go

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions