diff --git a/packages/showcase/CHANGELOG.md b/packages/showcase/CHANGELOG.md index 2c59995..bbddbe6 100644 --- a/packages/showcase/CHANGELOG.md +++ b/packages/showcase/CHANGELOG.md @@ -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 diff --git a/packages/showcase/package.json b/packages/showcase/package.json index 3d2f026..878864f 100644 --- a/packages/showcase/package.json +++ b/packages/showcase/package.json @@ -1,6 +1,6 @@ { "name": "@org/showcase", - "version": "0.1.9", + "version": "0.1.10", "private": true, "type": "module", "scripts": { diff --git a/packages/ui-kit/CHANGELOG.md b/packages/ui-kit/CHANGELOG.md index 697ca3f..b01f7a7 100644 --- a/packages/ui-kit/CHANGELOG.md +++ b/packages/ui-kit/CHANGELOG.md @@ -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 diff --git a/packages/ui-kit/package.json b/packages/ui-kit/package.json index 95314d9..09bf192 100644 --- a/packages/ui-kit/package.json +++ b/packages/ui-kit/package.json @@ -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", @@ -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 }, @@ -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", @@ -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": [