Extensions Minimalist & Modern Stack
Extensions Minimalist & Modern Stack
Chrome Extension Framework: WXT (Vite-powered, framework-agnostic)
- Chosen over Plasmo because:
- Active Maintenance & Reliability: Plasmo suffers from significant maintenance lag, unresolved issues with its bundler (Parcel), and slow build times. WXT is actively maintained, highly stable, and boasts rapid development cycles.
- Vite Ecosystem Speed: WXT is natively powered by Vite, giving it ultra-fast Hot Module Replacement (HMR) and compilation speeds, whereas Plasmo is bound to Parcel's slower resolver.
- Chosen over raw CRXJS because:
- Unified Abstractions: WXT provides elegant, built-in APIs and helper modules for unified local storage, cross-context messaging, and internationalization (i18n), which must be manually implemented in CRXJS.
- Developer Ergonomics: WXT includes features like auto-imports (similar to Nuxt) and automatic browser-specific manifest generation (Chrome, Firefox, Safari, Edge) from a single codebase.
- Chosen over Plasmo because:
VS Code Extension Development: TypeScript + yo code + esbuild
- TypeScript & yo code: Serves as the industry-standard generator and strongly-typed base for VS Code extension APIs.
- esbuild chosen over Webpack because:
- Compilation Speed: esbuild is written in Go and compiles/packages JavaScript and TypeScript code 10x to 100x faster than Webpack, providing near-instant packaging for developer iteration.
- Zero-Config Simplicity: esbuild requires virtually zero configuration to package VS Code extensions, avoiding the complex, verbose webpack.config.js setups commonly required.
Infrastructure & Costs:
- Local Development ($0/month): Extension compilation, loading, debugging, and execution run entirely on the local client machine.
- Zero Hosting Costs: Unless the extension communicates with a remote backend (which should be minimized/avoided for security and local-first policies), hosting, distribution, and runtime execution incur $0 hosting/infrastructure costs.