yst
yst copied to clipboard
Add comprehensive package management system for updating all dependencies
This PR implements a complete package management system to address the need for updating all npm packages in the YouTube Subscriptions Transfer extension.
What's Added
New NPM Scripts
-
npm run outdated- Check which packages have updates available -
npm run update-check- Check outdated packages and security vulnerabilities -
npm run update-safe- Safe updates with security fixes (recommended) -
npm run update-minor- Update to latest minor/patch versions -
npm run update-major- Update all packages to latest versions (use with caution) -
npm run update-interactive- Interactive package update selection -
npm run update-demo- Show demo of available update commands -
npm run verify-update- Automated post-update verification
Helper Scripts
-
scripts/update-demo.sh- Interactive demo showing all update options -
scripts/verify-update.sh- Automated verification that runs TypeScript checks, builds the extension, and validates output
Documentation
- Added comprehensive "Package Management" section to README with step-by-step instructions
- Created
PACKAGE_UPDATES.mdwith detailed update history and notes on major version changes - Documented which packages require careful consideration for major updates (TailwindCSS 4.x, Zod 4.x, etc.)
Packages Updated
Successfully updated 11 packages to their latest compatible versions:
- @crxjs/vite-plugin: 2.0.2 → 2.2.0
- @types/node: 22.16.0 → 22.17.2
- axios: 1.10.0 → 1.11.0
- pino: 9.7.0 → 9.9.0
- svelte: 5.35.1 → 5.38.2
- typescript: 5.8.3 → 5.9.2
- vite: 7.0.1 → 7.1.3
- And 4 more packages
Bug Fixes
Fixed TypeScript compatibility issues that surfaced with updated packages:
- Updated Pino logger calls to use template strings instead of multiple parameters
- Fixed logger calls in
src/utils/communication.tsandsrc/background/background.ts
Testing
- ✅ Extension builds successfully after updates
- ✅ Development server works correctly
- ✅ TypeScript checks pass
- ✅ All existing functionality preserved
Usage Examples
Check for updates:
npm run update-check
Perform safe updates:
npm run update-safe
Verify everything works after updates:
npm run verify-update
This system provides a safe, documented workflow for keeping the extension's dependencies up to date while minimizing the risk of breaking changes.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.