wsh-dependency-cleanup

Installation
SKILL.md

WSH: Dependency Cleanup

Removing or replacing oversized dependencies is critical for TBT and bundle size. This project includes several multi-MB WASM libraries and unnecessary utility libraries.

Use this skill when removing @ffmpeg/ffmpeg, @imagemagick/magick-wasm, @mlc-ai/web-llm, jquery, moment, lodash, core-js, or other bloated deps.

Target Dependencies

@ffmpeg/ffmpeg + @ffmpeg/core (~44MB WASM)

  • Used in: client/src/utils/load_ffmpeg.ts, PausableMovie.tsx
  • Purpose: GIF to video conversion on client side
  • Replace with: Server-side conversion (ffmpeg CLI) or serve GIFs as-is with <img> tag, or convert GIFs to MP4/WebM at build time
  • Strategy: Pre-convert GIF files to MP4/WebM, serve as <video> elements. If GIFs must stay dynamic, use a simpler GIF decoder or just use <img src="*.gif">

@imagemagick/magick-wasm (~8MB WASM)

  • Used in: client/src/utils/convert_image.ts
  • Purpose: Client-side image format conversion (used in post creation)
  • Replace with: Server-side Sharp for image processing, or canvas API for simple operations
  • Strategy: Move image processing to server endpoint. Client sends raw file, server converts.
Installs
1
Repository
mazrean/wsh2026
First Seen
Jun 20, 2026
wsh-dependency-cleanup — mazrean/wsh2026