$ show eclipse-openvsx/openvsx
Eclipse Open VSX is a full-stack, vendor-neutral open-source registry for VS Code extensions, serving as an alternative to the Visual Studio Marketplace. The system comprises three main components: a Java/Spring Boot server that manages extension publishing, security scanning, rate limiting, download analytics, and trusted publishing via OIDC; a React/TypeScript web UI (MUI, TanStack Query) for browsing, searching, and administering extensions; and a Node.js CLI for publishing, verifying, and managing extensions. The server uses PostgreSQL with Flyway migrations, optional Elasticsearch for search, TimescaleDB for time-series download analytics, and Valkey/Redis for caching and rate limiting. Storage is abstracted over local filesystem, AWS S3, Azure Blob, and Google Cloud Storage. The architecture is a monolith with background job processing via JobRunr, and it exposes both a custom REST API and a VS Code Gallery-compatible API for seamless integration with VS Code and other editors.
The LLM identified 5 files worth highlighting for reuse:
Defers cache eviction and other side effects until after the current database transaction commits, preventing stale reads from concurrent transactions. Implements a reusable pattern for transactional integrity in cache-heavy applications.
A Caffeine cache weigher that bounds both the number of entries and their total estimated disk footprint, using a minimum weight for small files. Solves the common problem of cache eviction policies that ignore actual resource consumption.
Defines a sealed interface for composable access token scopes (Unrestricted, NamespaceScoped, ExtensionScoped, ActionScoped, AndScoped), enabling fine-grained, type-safe permission checks without stringly-typed roles. The pattern is reusable for any authorization system requiring hierarchical or compound scopes.
Interface for pluggable publish-time validators that are auto-discovered as Spring beans. Each check can be required or optional, provides a user-facing message, and can block publishing. Demonstrates a clean extension point pattern for adding validation steps without modifying core publish logic.
A React hook that persists state across browser tabs using localStorage with cross-tab synchronization via storage events. Handles serialization, conflict resolution, and cleanup. Reusable for any web application needing shared state across tabs without a backend.