Skip to content
This repository was archived by the owner on Mar 7, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions packages/showcase/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @org/showcase

## 0.1.10

### Patch Changes

- Updated dependencies [d491e75]
- @etherisc/ui-kit@0.4.4

## 0.1.9

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/showcase/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@org/showcase",
"version": "0.1.9",
"version": "0.1.10",
"private": true,
"type": "module",
"scripts": {
Expand Down
54 changes: 54 additions & 0 deletions packages/ui-kit/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,59 @@
# @etherisc/ui-kit

## 0.4.4

### Patch Changes

- d491e75: **CRITICAL FIX: Resolve TypeScript Module Resolution Issue with Radix UI Dependencies in pnpm Projects**

## Problem Fixed (Issue #46)

Fixed **HIGH priority** TypeScript compilation failures for pnpm users due to module resolution issues with externalized Radix UI dependencies.

### Root Cause

- pnpm's symlink structure + TypeScript module resolution = broken Radix UI dependency resolution
- TypeScript declarations contained external imports like `import * as SelectPrimitive from '@radix-ui/react-select'`
- pnpm couldn't resolve these imports due to its cache-based symlink structure
- This broke TypeScript compilation for **all** pnpm users

### Solution Applied

**Moved all Radix UI packages to peer dependencies** to ensure proper module resolution:

```json
{
"peerDependencies": {
"@radix-ui/react-accordion": "^1.2.11",
"@radix-ui/react-alert-dialog": "^1.1.14",
"@radix-ui/react-aspect-ratio": "^1.1.7"
// ... all Radix UI packages
},
"peerDependenciesMeta": {
// All marked as optional for tree-shaking
}
}
```

### Impact

βœ… **pnpm projects can now use TypeScript compilation**
βœ… **All package managers (npm, yarn, pnpm) supported**
βœ… **Zero breaking changes** - runtime functionality unchanged
βœ… **Proper dependency tree** - consumers install Radix UI directly
βœ… **Better tree-shaking** - only used components included

### Migration Required

Users will need to install Radix UI peer dependencies:

```bash
pnpm add @radix-ui/react-select @radix-ui/react-checkbox
# Or let pnpm auto-install peer deps
```

This ensures that TypeScript can resolve all module imports correctly in pnpm projects.

## 0.4.3

### Patch Changes
Expand Down
133 changes: 101 additions & 32 deletions packages/ui-kit/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@etherisc/ui-kit",
"version": "0.4.3",
"version": "0.4.4",
"type": "module",
"license": "Apache-2.0",
"main": "./dist/index.cjs",
Expand All @@ -19,21 +19,119 @@
],
"peerDependencies": {
"react": ">=18.0.0",
"react-dom": ">=18.0.0"
"react-dom": ">=18.0.0",
"@radix-ui/react-accordion": "^1.2.11",
"@radix-ui/react-alert-dialog": "^1.1.14",
"@radix-ui/react-aspect-ratio": "^1.1.7",
"@radix-ui/react-avatar": "^1.1.10",
"@radix-ui/react-checkbox": "^1.3.1",
"@radix-ui/react-collapsible": "^1.1.11",
"@radix-ui/react-context-menu": "^2.2.15",
"@radix-ui/react-dialog": "^1.1.14",
"@radix-ui/react-dropdown-menu": "^2.1.15",
"@radix-ui/react-hover-card": "^1.1.14",
"@radix-ui/react-label": "^2.1.7",
"@radix-ui/react-menubar": "^1.1.15",
"@radix-ui/react-navigation-menu": "^1.2.13",
"@radix-ui/react-popover": "^1.1.14",
"@radix-ui/react-progress": "^1.1.7",
"@radix-ui/react-radio-group": "^1.3.6",
"@radix-ui/react-scroll-area": "^1.2.9",
"@radix-ui/react-select": "^2.2.4",
"@radix-ui/react-separator": "^1.1.7",
"@radix-ui/react-slider": "^1.3.5",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-switch": "^1.2.5",
"@radix-ui/react-tabs": "^1.1.12",
"@radix-ui/react-toggle": "^1.1.9",
"@radix-ui/react-toggle-group": "^1.1.10",
"@radix-ui/react-tooltip": "^1.2.7",
"@tanstack/react-table": "^8.21.3",
"react-hook-form": "^7.56.4",
"zod": "^3.25.7"
},
"peerDependenciesMeta": {
"@radix-ui/react-select": {
"@radix-ui/react-accordion": {
"optional": true
},
"@radix-ui/react-alert-dialog": {
"optional": true
},
"@radix-ui/react-aspect-ratio": {
"optional": true
},
"@radix-ui/react-avatar": {
"optional": true
},
"@radix-ui/react-checkbox": {
"optional": true
},
"@radix-ui/react-collapsible": {
"optional": true
},
"@radix-ui/react-context-menu": {
"optional": true
},
"@radix-ui/react-dialog": {
"optional": true
},
"@radix-ui/react-dropdown-menu": {
"optional": true
},
"@radix-ui/react-hover-card": {
"optional": true
},
"@radix-ui/react-label": {
"optional": true
},
"@radix-ui/react-menubar": {
"optional": true
},
"@radix-ui/react-navigation-menu": {
"optional": true
},
"@radix-ui/react-popover": {
"optional": true
},
"@radix-ui/react-progress": {
"optional": true
},
"@radix-ui/react-radio-group": {
"optional": true
},
"@radix-ui/react-scroll-area": {
"optional": true
},
"@radix-ui/react-select": {
"optional": true
},
"@radix-ui/react-separator": {
"optional": true
},
"@radix-ui/react-slider": {
"optional": true
},
"@radix-ui/react-slot": {
"optional": true
},
"@radix-ui/react-switch": {
"optional": true
},
"@radix-ui/react-tabs": {
"optional": true
},
"@radix-ui/react-toggle": {
"optional": true
},
"@radix-ui/react-toggle-group": {
"optional": true
},
"@radix-ui/react-tooltip": {
"optional": true
},
"@tanstack/react-table": {
"optional": true
},
"react-hook-form": {
"optional": true
},
Expand Down Expand Up @@ -77,35 +175,8 @@
"@codemirror/theme-one-dark": "^6.1.2",
"@codemirror/view": "^6.36.8",
"@hookform/resolvers": "^5.0.1",
"@radix-ui/react-accordion": "^1.2.11",
"@radix-ui/react-alert-dialog": "^1.1.14",
"@radix-ui/react-aspect-ratio": "^1.1.7",
"@radix-ui/react-avatar": "^1.1.10",
"@radix-ui/react-checkbox": "^1.3.1",
"@radix-ui/react-collapsible": "^1.1.11",
"@radix-ui/react-context-menu": "^2.2.15",
"@radix-ui/react-dialog": "^1.1.14",
"@radix-ui/react-dropdown-menu": "^2.1.15",
"@radix-ui/react-hover-card": "^1.1.14",
"@radix-ui/react-label": "^2.1.7",
"@radix-ui/react-menubar": "^1.1.15",
"@radix-ui/react-navigation-menu": "^1.2.13",
"@radix-ui/react-popover": "^1.1.14",
"@radix-ui/react-progress": "^1.1.7",
"@radix-ui/react-radio-group": "^1.3.6",
"@radix-ui/react-scroll-area": "^1.2.9",
"@radix-ui/react-select": "^2.2.4",
"@radix-ui/react-separator": "^1.1.7",
"@radix-ui/react-slider": "^1.3.5",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-switch": "^1.2.5",
"@radix-ui/react-tabs": "^1.1.12",
"@radix-ui/react-toggle": "^1.1.9",
"@radix-ui/react-toggle-group": "^1.1.10",
"@radix-ui/react-tooltip": "^1.2.7",
"@sentry/browser": "^9.22.0",
"@sentry/react": "^9.22.0",
"@tanstack/react-table": "^8.21.3",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "^1.1.1",
Expand All @@ -118,13 +189,11 @@
"lucide-react": "^0.511.0",
"marked": "^15.0.12",
"react-day-picker": "8.10.1",
"react-hook-form": "^7.56.4",
"react-i18next": "^15.5.2",
"sonner": "^2.0.5",
"tailwind-merge": "^2.6.0",
"tailwindcss-animate": "^1.0.7",
"tslog": "^4.9.3",
"zod": "^3.25.7",
"zustand": "^5.0.4"
},
"size-limit": [
Expand Down
Loading