refactor: migrate onboarding tour from react-joyride to driver.js#146
Merged
breaking-brake merged 1 commit intomainbreaking-brake/cc-wf-studio:mainfrom Nov 24, 2025
refactor/migrate-to-driverjsbreaking-brake/cc-wf-studio:refactor/migrate-to-driverjsCopy head branch name to clipboard
Merged
refactor: migrate onboarding tour from react-joyride to driver.js#146breaking-brake merged 1 commit intomainbreaking-brake/cc-wf-studio:mainfrom refactor/migrate-to-driverjsbreaking-brake/cc-wf-studio:refactor/migrate-to-driverjsCopy head branch name to clipboard
breaking-brake merged 1 commit intomainbreaking-brake/cc-wf-studio:mainfrom
refactor/migrate-to-driverjsbreaking-brake/cc-wf-studio:refactor/migrate-to-driverjsCopy head branch name to clipboard
Conversation
- Replaced react-joyride (30.3KB) with driver.js (5KB) for 83% bundle size reduction - Removed 18 dependency packages, added 1 package (driver.js@1.4.0) - Migrated Tour.tsx and tour-steps.ts to driver.js API - Added VSCode theme integration with CSS variables - Disabled animations for cleaner, simpler tour experience - Fixed overlay behavior: focused areas remain bright, background darkened - Removed arrows for cleaner UI - Changed progress format to 'Step X/Y' - Added Slack share button tour step (now 14 steps total) - Updated all 5 language translations (en, ja, ko, zh-CN, zh-TW) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Merged
github-actions Bot
added a commit
that referenced
this pull request
Nov 24, 2025
## [2.13.0](v2.12.2...v2.13.0) (2025-11-24) ### Features * add Terms of Use dialog with onboarding tour integration ([#148](#148)) ([fae4334](fae4334)) ### Bug Fixes * correct ConnectSlackManualPayload type definition to match implementation ([#147](#147)) ([735033b](735033b)) ### Code Refactoring * migrate onboarding tour from react-joyride to driver.js ([#146](#146)) ([62641b8](62641b8))
Contributor
|
🎉 This PR is included in version 2.13.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR migrates the onboarding tour from react-joyride to driver.js, reducing bundle size by 83% and resolving maintenance concerns with the outdated library.
Problem
Current Behavior
Expected Behavior
Solution
Migrated from react-joyride to driver.js with the following improvements:
Bundle Size Reduction
UX Improvements
Technical Improvements
Changes
Dependencies
File:
src/webview/package.jsonreact-joyride@2.9.3(and 18 transitive dependencies)driver.js@1.4.0Core Components
File:
src/webview/src/components/Tour.tsxuseRefanduseEffectonCloseClickcallback for close button functionalityonDestroyStartedcallback for cleanupFile:
src/webview/src/constants/tour-steps.tsreact-joyride.Step[]format todriver.js.DriveStep[]formatgetDriverConfig()function with UX-optimized settings:Styling
File:
src/webview/src/styles/main.css--vscode-editorWidget-*,--vscode-button-*display: none !importantInternationalization
Files:
src/webview/src/i18n/translations/*.tstour.slackSharetranslations in all 5 languagestour.button.next(removed "({step}/{steps})" suffix)translation-keys.tsImpact
User Experience
Performance
Maintenance
Breaking Changes
Testing
npm run format- Auto-formatted with Biomenpm run lint- No linting issuesnpm run check- All checks passednpm run build- Compiled successfullyNotes
🤖 Generated with Claude Code