📋 Overview
This guide will help you migrate from the deprecated @studs/react package to the new @strongtie/design-system package.What’s Changing?
| Item | Old (@studs/react) | New (@strongtie/design-system) |
|---|---|---|
| Package Name | @studs/react | @strongtie/design-system |
| Registry | npm (public) | GitHub Package Manager (enterprise) |
| Version | 3.1.2 | 1.0.0 |
| Scope | @studs | @strongtie |
Why the Change?
The @studs/react package has been rebranded as @strongtie/design-system to:- Better align with Simpson Strong-Tie’s enterprise infrastructure
- Consolidate under a unified enterprise scope
- Provide enhanced security through private GitHub Package Manager
- Signal a new chapter in the design system’s evolution
⚠️ Breaking Changes
Package Name Change
All imports must be updated from@studs/react to @strongtie/design-system.
Version Reset
The new package starts at v1.0.0. While the API remains largely the same, the version number reflects the new package identity.🚀 Migration Steps
Step 1: Set Up GitHub Package Manager Authentication
Before installing the new package, you need to authenticate with GitHub Package Manager.1.1 Generate a GitHub Personal Access Token (PAT)
- Go to GitHub Settings > Developer Settings > Personal Access Tokens
- Click “Generate new token (classic)”
- Give it a descriptive name (e.g., “NPM Package Access”)
- Select the following scopes:
- ✅
read:packages- Required for installing packages - ✅
write:packages- Optional, only if you need to publish
- ✅
- Click “Generate token” and copy the token
- Click Configure SSO
- Select your organization and click “Authorize”
1.2 Configure NPM to Use GitHub Package Manager
Create or update your.npmrc file in your project root or home directory:
1.3 Authenticate with Your Token
- Username: Your GitHub username
- Password: Your Personal Access Token (PAT)
- Email: Your GitHub email address
- Never commit
.npmrcfiles containing tokens to version control - Add
.npmrcto your.gitignoreif it contains sensitive data - Use environment variables in CI/CD pipelines
Step 2: Update Your Dependencies
2.1 Remove the Old Package
2.2 Install the New Package
2.3 Update package.json
Yourpackage.json should now look like this:
Step 3: Update Your Imports
You’ll need to update all component imports throughout your codebase.Before (❌ Old):
After (✅ New):
Automated Find & Replace
Use your IDE’s find-and-replace feature (with regex if needed): Find:@studs/react
Replace: @strongtie/design-system
Or use command-line tools:
Step 4: Update CSS/Style Imports
If you’re importing styles directly, update those imports as well:Before (❌ Old):
After (✅ New):
Step 5: Verify Your Application
After making the changes:-
Clear your build cache:
-
Reinstall dependencies:
-
Run your tests:
-
Start your development server:
-
Build your application:
🔍 Component API Compatibility
Good news! The component APIs remain 100% compatible. All props, methods, and behaviors work exactly as before.Available Components
All 48+ components from @studs/react are available in @strongtie/design-system:- ✅ Accordion
- ✅ Alert
- ✅ Alert Dialog
- ✅ Avatar
- ✅ Badge
- ✅ Breadcrumb
- ✅ Button
- ✅ Calendar
- ✅ Card
- ✅ Carousel
- ✅ Checkbox
- ✅ Collapsible
- ✅ Combobox
- ✅ Context Menu
- ✅ Date Picker
- ✅ Dialog
- ✅ Drawer
- ✅ Dropdown Menu
- ✅ Hover Card
- ✅ Icon
- ✅ Input
- ✅ Label
- ✅ Menubar
- ✅ Multi Select
- ✅ Navigation Menu
- ✅ Pagination
- ✅ Popover
- ✅ Progress
- ✅ Radio Group
- ✅ Scroll Area
- ✅ Select
- ✅ Separator
- ✅ Sheet
- ✅ Sidebar
- ✅ Skeleton
- ✅ Slider
- ✅ Switch
- ✅ Tab Nav
- ✅ Table
- ✅ Tabs
- ✅ Textarea
- ✅ Toaster
- ✅ Toggle
- ✅ Toggle Group
- ✅ Tooltip
- ✅ Tree
No Code Changes Required
Once you’ve updated the package name and imports, your existing code will work without modifications:🔧 CI/CD Configuration
GitHub Actions
Add the following to your workflow file:GitLab CI
Azure DevOps
🐛 Troubleshooting
Issue: “Unable to authenticate”
Problem: Getting 401 Unauthorized errors when installing. Solution:- Verify your GitHub token has
read:packagesscope - Check that your
.npmrcis configured correctly - Ensure you’re using the correct token (not expired)
- Try logging in again:
Issue: “Package not found”
Problem: npm can’t find@strongtie/design-system.
Solution:
-
Verify the registry is set correctly:
Should return:
https://npm.pkg.github.com - Check that the package has been published to GitHub Package Manager
- Ensure you have access to the repository
Issue: “Module not found” after migration
Problem: Getting import errors after updating package name. Solution:-
Clear your build cache:
-
Remove and reinstall dependencies:
- Restart your development server
-
Check for any missed imports:
Issue: Type errors after migration
Problem: TypeScript can’t find type definitions. Solution:-
Clear TypeScript cache:
-
Restart your TypeScript server (VS Code:
Cmd/Ctrl + Shift + P→ “Restart TS Server”) -
Verify the package is installed correctly:
Issue: Styles not loading
Problem: Components render but without styles. Solution:-
Verify you’ve updated the styles import:
-
Check that the import is in your main entry file (e.g.,
main.tsx,App.tsx) - Clear your build cache and restart
📚 Additional Resources
- Design System Documentation - Complete design guidelines
- Component Library - Interactive Storybook
- GitHub Repository - Source code and issues
- GitHub Package Manager Docs - Official GitHub documentation
❓ Need Help?
If you encounter any issues during migration:- Check the troubleshooting section above
- Search existing issues on GitHub
- Create a new issue if your problem isn’t covered
- Contact the UX team via Teams
📝 Migration Checklist
Use this checklist to track your migration progress:- Generate GitHub Personal Access Token with
read:packagesscope - Configure
.npmrcwith GitHub Package Manager registry - Authenticate with GitHub Package Manager
- Uninstall
@studs/react - Install
@strongtie/design-system - Update all component imports from
@studs/reactto@strongtie/design-system - Update style imports
- Update CI/CD configuration files
- Clear build cache and reinstall dependencies
- Run tests to verify everything works
- Build and test your application locally
- Update documentation/README with new package name
- Deploy to staging environment for testing
- Communicate changes to your team
- Deploy to production
🎉 Migration Complete!
Once you’ve completed all the steps above, you’re successfully migrated to@strongtie/design-system!
The @studs/react package will continue to work for now but is deprecated and will not receive updates. We strongly recommend completing this migration as soon as possible.
Last Updated: January 2025 Migration Guide Version: 1.0.0