Skip to content
This repository was archived by the owner on Mar 7, 2026. It is now read-only.

feat: Fix Release v0.4.1 - TypeScript Declarations & API Standardization#45

Merged
christoph2806 merged 27 commits intodevelopfrom
feature/implement-shadcn-components
Jun 4, 2025
Merged

feat: Fix Release v0.4.1 - TypeScript Declarations & API Standardization#45
christoph2806 merged 27 commits intodevelopfrom
feature/implement-shadcn-components

Conversation

@christoph2806
Copy link
Copy Markdown
Member

🚀 Fix Release v0.4.1 - TypeScript Declarations & API Standardization

🎯 Overview

This PR delivers critical fixes that resolve TypeScript declaration issues and standardizes API consistency across the UI kit while maintaining 100% backward compatibility.

🔧 Critical Fixes Implemented

✅ TypeScript Declaration Issues Resolved

  • Fixed bundle externalization: All major dependencies (@radix-ui/, @codemirror/, utilities) now properly externalized
  • Improved module resolution: Changed from "bundler" to "node" for better consumer compatibility
  • Dramatically reduced bundle sizes:
    • ES Module: 335KB (24% reduction from 440KB)
    • CommonJS: 356KB (63% reduction from 966KB)
  • Enhanced TypeScript configuration: Added esModuleInterop and allowSyntheticDefaultImports
  • Clean type definitions: Properly externalized dependencies for better TypeScript IntelliSense

✅ API Consistency Improvements

  • Standardized Button component: Now supports both variant (recommended) and intent (deprecated) props
  • Backward compatibility: All existing intent usage continues to work unchanged
  • Developer experience: Clear deprecation warnings guide migration to variant prop
  • Industry alignment: variant prop aligns with Radix UI, Shadcn/ui standards

🚀 Benefits for Consumers

  • TypeScript compilation now works without errors
  • Faster npm install (smaller bundles)
  • Better tree-shaking and performance
  • Consistent API across all components
  • Zero breaking changes

📊 Bundle Analysis

Before v0.4.1:

  • ES Module: ~440KB gzipped
  • CommonJS: ~966KB gzipped

After v0.4.1:

  • ES Module: 335KB gzipped (24% reduction)
  • CommonJS: 356KB gzipped (63% reduction)
  • Both well within 1MB/1.5MB limits

📋 Migration Guide

Button Component (Optional Migration):

// Before (still works, but deprecated)
<Button intent="primary">Submit</Button>

// After (recommended)
<Button variant="primary">Submit</Button>

For TypeScript consumers:

  • No changes needed - everything now works out of the box
  • Better IntelliSense and type checking
  • Faster compilation times

🧪 Quality Assurance

  • All 952 tests passing
  • Lint checks passing (21 warnings, 0 errors)
  • Build successful for both packages
  • Bundle size limits met
  • Pre-push hooks passing

🔍 Issues Resolved

📦 Release Notes

This is a patch release (v0.4.1) that:

  • Maintains 100% backward compatibility
  • Fixes critical infrastructure issues
  • Improves developer experience significantly
  • Prepares foundation for future enhancements

✅ Ready to Merge

This PR is ready for review and merge. All CI checks pass, tests are green, and the release has been thoroughly tested.

Post-merge steps:

  1. GitHub Actions will automatically publish to npm
  2. Storybook will be deployed with latest changes
  3. Release notes will be available on GitHub releases page

Developer and others added 27 commits June 3, 2025 20:17
… this is a very long commit message to test that the length limit has been properly removed from commitlint configuration
…endencies, improve module resolution, reduce bundle sizes significantly - resolves #44
…ent - add backward compatibility support for intent prop with deprecation warning - add comprehensive Storybook examples for both variant and intent - update TypeScript interfaces with proper deprecation documentation - maintain 100% backward compatibility while encouraging migration to variant - all tests passing (952/952)
@christoph2806 christoph2806 merged commit cbeb319 into develop Jun 4, 2025
7 checks passed
@christoph2806 christoph2806 deleted the feature/implement-shadcn-components branch June 4, 2025 14:48
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Critical TypeScript Declaration Issues Blocking Development - @etherisc/ui-kit v0.4.0

1 participant