Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions PACKAGE_UPDATES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Package Updates Guide

This document tracks package updates and provides guidance for maintaining dependencies.

## Available Update Commands

### Check for Updates
- `npm run outdated` - Show outdated packages
- `npm run update-check` - Show outdated packages and security audit

### Perform Updates
- `npm run update-safe` - Safe updates with security fixes
- `npm run update-minor` - Update to latest minor/patch versions
- `npm run update-interactive` - Interactive update selection
- `npm run update-major` - Update all packages to latest (use with caution)

## Recent Updates

### Last Updated: [Current Date]

**Successfully Updated Packages:**
- @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
- pino-pretty: 13.0.0 → 13.1.1
- prettier-plugin-tailwindcss: 0.6.13 → 0.6.14
- svelte: 5.35.1 → 5.38.2
- svelte-check: 4.2.2 → 4.3.1
- typescript: 5.8.3 → 5.9.2
- vite: 7.0.1 → 7.1.3
- zod: 3.25.71 → 3.25.76

**Packages Requiring Major Version Updates:**
- @sveltejs/vite-plugin-svelte: 6.0.0-next.1 → 6.1.3 (stable release available)
- @types/chrome: 0.0.328 → 0.1.4 (major version change)
- @types/node: 22.17.2 → 24.3.0 (major version change)
- daisyui: 4.12.24 → 5.0.50 (major version change)
- lucide-svelte: 0.525.0 → 0.540.0 (minor version update)
- tailwindcss: 3.4.17 → 4.1.12 (major version change - breaking changes expected)
- zod: 3.25.76 → 4.0.17 (major version change - breaking changes expected)

## Notes on Major Updates

### TailwindCSS 4.x
- Major rewrite with breaking changes
- Requires careful migration
- Test thoroughly before updating

### Zod 4.x
- Breaking changes in API
- Check schema validation usage throughout codebase

### DaisyUI 5.x
- New features and potential breaking changes
- Review component usage after update

## Testing After Updates

Always perform these steps after package updates:

1. `npm run build` - Ensure project builds successfully
2. `npm run dev` - Test development mode
3. Test extension loading in Chrome/Firefox
4. Verify core functionality works

## Fixes Applied

### TypeScript Compatibility Issues
After updating packages, the following fixes were applied:

**src/utils/communication.ts:61**
```typescript
// Before
log.info("isOptionsPage", this.fromMsg, "Runtime Error: ");

// After
log.info(`isOptionsPage ${this.fromMsg} Runtime Error: `);
```

**src/background/background.ts:75**
```typescript
// Before
log.info("oAuth2URL", oAuth2Url);

// After
log.info(`oAuth2URL: ${oAuth2Url}`);
```

These changes resolve Pino logger API compatibility issues that surfaced with newer package versions.
68 changes: 68 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,74 @@ npm run dev
$ npm run build
```

## Package Management

This section describes how to update npm packages/dependencies for this extension.

### Check for Outdated Packages

```bash
# Check which packages have updates available
npm run outdated

# Check for both outdated packages and security vulnerabilities
npm run update-check

# Run the demo script to see all available options
./scripts/update-demo.sh
```

### Update Packages

**Safe Updates (Recommended):**
```bash
# Update to compatible versions within semver ranges
npm run update-safe
```

**Minor and Patch Updates:**
```bash
# Update packages to latest minor/patch versions
npm run update-minor
```

**Interactive Updates:**
```bash
# Interactively choose which packages to update
npm run update-interactive
```

**Major Updates (Use with Caution):**
```bash
# Update all packages to latest versions (including major version changes)
npm run update-major
```

### After Updating Packages

Always test the extension after updating packages:

```bash
# Run automated verification
./scripts/verify-update.sh

# Or manually test each step:
# 1. Build the extension
npm run build

# 2. Test in development mode
npm run dev

# 3. Load the unpacked extension in your browser (see instructions below)
```

**Important Notes:**
- Always commit your changes before major updates
- Test thoroughly after any package updates
- Major version updates may introduce breaking changes
- Check the extension's functionality in both Chrome and Firefox after updates
- See [PACKAGE_UPDATES.md](./PACKAGE_UPDATES.md) for detailed update history and notes

## Load unpacked extensions

[Getting Started Tutorial](https://developer.chrome.com/docs/extensions/mv3/getstarted/)
Expand Down
Loading