thehardwarestore.ai

where AI agents shop for the right tools

── 98870 repos indexed ── | filtered by tag: vue
storybookjs/storybook ★ 91169 10470 APPLICATION

Storybook is a frontend workshop for building UI components and pages in isolation. It functions as a monorepo-based CLI tool and framework that enables developers to develop, document, and test UI components independently from the rest of the application. The architecture is split into a core engine (`@storybook/core`), framework-specific renderers (React, Vue, Angular, etc.), build tools (Vite, Webpack), and a modular addon system. It relies heavily on the Component Story Format (CSF) for story definition and uses a channel-based communication system between the manager UI, preview iframe, and server. The codebase demonstrates a sophisticated separation of concerns, with distinct layers for server-side indexing, client-side rendering, and UI management, all orchestrated through a robust CLI and build pipeline.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
vuejs/core ★ 54445 9215 APPLICATION

Vue.js 3 core framework (v3.5.43) — a TypeScript library for building user interfaces, organized as a pnpm monorepo. The codebase is split into focused packages: compiler-* (template → render function compilation), runtime-* (component model, virtual DOM patching, DOM platform bindings), reactivity (dependency-tracked state), server-renderer (SSR), and shared (internal utilities). The packages/vue directory aggregates the public API surface, while vue-compat provides Vue 2 compatibility mode.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
prettier/prettier ★ 52321 5035 APPLICATION

Prettier is an opinionated code formatter that acts as both a CLI tool and a programmable library. It parses source code into an AST (using a variety of language-specific parsers such as @babel/parser, typescript-eslint, flow-parser, postcss, markdown-it, etc.), converts the AST into a custom Document IR (intermediate representation) composed of primitive formatting commands (group, indent, line, fill, etc.), and then prints the Document IR into a formatted string. The architecture is modular: each supported language (JavaScript, TypeScript, Flow, CSS, HTML, Markdown, YAML, JSON, GraphQL, Handlebars) is defined by a 'language plugin' that provides parsers, printers, and additional options. The core formatting algorithm is language-agnostic and operates solely on the Document IR. Key entry points are the CLI (bin/prettier.cjs) and the JavaScript API (src/index.js). The system also supports a standalone browser build, configuration via .prettierrc files, editorconfig integration, and a rich plugin system for adding custom parsers or printers. External dependencies include numerous parser libraries and utilities for config loading. The codebase is exceptionally well-crafted, with a clean separation of concerns, a highly reusable document IR design, extensive test coverage, and a long history of active maintenance.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
TanStack/query ★ 50396 4248 APPLICATION

TanStack Query is a multi-framework, protocol-agnostic library for managing asynchronous server state in web applications. It provides a robust caching layer, automatic background refetching, pagination (infinite queries), optimistic updates, and mutation management. The core engine (`@tanstack/query-core`) implements a generic observer pattern with subscribable caches (`QueryCache`, `MutationCache`), retry logic with exponential backoff, network/focus awareness, and a pluggable timeout system. Framework-specific adapters (React, Vue, Svelte, Solid, Preact, Lit, Angular) wrap the core with idiomatic hooks, composables, controllers, or signals, enabling seamless integration into each ecosystem. The architecture follows a layered design: the core package is framework-agnostic and handles all state management, caching, and scheduling. Each adapter provides thin bindings that map the core's observer-based subscription model to the framework's reactivity system (e.g., React's `useSyncExternalStore`, Vue's `computed`/`watch`, Svelte's `$state` runes, Angular's signals). Key entry points include `useQuery`/`useMutation` (React), `createQuery`/`createMutation` (Svelte), `injectQuery`/`injectMutation` (Angular), and their infinite variants. The library also ships with devtools (Solid-based UI), an ESLint plugin for best practices, codemods for major version migrations, and persistence plugins for offline support. Data flows are driven by query keys (serializable arrays) that uniquely identify cached data. Observers subscribe to queries, triggering fetches via user-defined `queryFn` callbacks. The cache manages stale time, garbage collection, and structural sharing to minimize re-renders. Mutations follow a lifecycle (pending → success/error) with optimistic updates and rollback support. SSR hydration/dehydration serializes cache state into the server response and restores it on the client, supporting streaming and suspense. External dependencies are minimal: the core has zero runtime dependencies; adapters depend only on their respective framework and the core package.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
TanStack/table ★ 28474 3587 APPLICATION

TanStack Table is a headless, framework-agnostic table library for building powerful datagrids. It provides a core engine (`@tanstack/table-core`) with a composable feature system (sorting, filtering, pagination, grouping, aggregation, column resizing, row selection, cell selection, etc.) and framework-specific adapters for React, Vue, Solid, Svelte, Angular, Lit, Preact, Alpine, Ember, Octane, and Vanilla JS. The architecture is a monorepo managed with pnpm and Nx, with each adapter wrapping the core with native reactivity bindings (signals, stores, refs) and rendering utilities like `flexRender`. The library emphasizes type safety, performance (memoized row models, prototype caching), and extensibility via a plugin-like feature registration system. In production, TanStack Table is used to render interactive, high-performance tables with full control over markup and styling. It supports client-side and server-side data, real-time updates, virtual scrolling, and integration with UI libraries (Mantine, Material UI, shadcn). The core exports a `createTable` function that accepts options and returns a table instance with state and API methods. Features are composed via `tableFeatures()`, which statically merges feature definitions, row models, and type augmentations. Each framework adapter provides hooks like `useTable` (React), `injectTable` (Angular), or `createTable` (Solid) that bridge the core to the framework's reactivity system. The repository includes hundreds of example applications demonstrating every feature combination, real-time trading dashboards with web workers, and large wrapper libraries (Material React Table, Mantine React Table) built on top. Devtools packages provide a Solid-based inspector panel for debugging table state. The codebase is well-structured, with clear separation of concerns, extensive TypeScript generics, and a consistent pattern for feature implementation.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
ueberdosis/tiptap ★ 38590 3140 APPLICATION

Tiptap is a headless, framework-agnostic rich text editor built on ProseMirror. It provides a core editor engine with an extension system for nodes, marks, and plugins. The architecture is a monorepo with separate packages for core, framework bindings (React, Vue), HTML/markdown conversion, static rendering, and dozens of first-party extensions. Key entry points are the Editor class, Extension/Node/Mark factories, and framework-specific components like EditorContent and useEditor. Data flows: user input → ProseMirror state → extension hooks → commands → transaction → view update. External dependencies: ProseMirror libraries, Yjs for collaboration, lowlight for code highlighting, Floating UI for popups. The codebase demonstrates high craftsmanship with a well-designed extension API, comprehensive test coverage, and reusable patterns for decoration management, markdown serialization, suggestion autocomplete, and static rendering.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
directus/directus ★ 38162 4962 APPLICATION

Directus is a headless CMS and backend-as-a-service platform implemented as a TypeScript monorepo. It provides a REST and GraphQL API for content management, a Vue 3 admin application for configuration and data management, a typed SDK for client integration, and an extension system for custom functionality. The system supports multiple databases (PostgreSQL, MySQL, SQLite, MSSQL, Oracle, CockroachDB) via Knex, and includes built-in authentication (local, OAuth2, OpenID, LDAP, SAML), role-based permissions with field-level access control, file storage with multiple drivers (local, S3, Azure, etc.), and a flows automation engine. Recent additions include AI chat and object generation capabilities, real-time collaborative editing via WebSockets, and MCP (Model Context Protocol) integration. The architecture is modular with shared packages for errors, memory (caching, KV, bus, rate limiting), utilities, themes, and composables, all published as separate npm packages.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
vuejs/eslint-plugin-vue ★ 4592 720 APPLICATION

eslint-plugin-vue is an ESLint plugin specifically designed for linting Vue.js single-file components (SFCs). It provides over 100 rules covering template syntax, script setup, Options API, Composition API, and Vue-specific best practices. The architecture follows standard ESLint plugin patterns with rule implementations in lib/rules/, shareable configurations in lib/configs/ (both legacy and Flat Config formats), and a processor for handling .vue files. Key entry points include the main plugin export (lib/index.ts), the processor (lib/processor.ts), and utility modules (lib/utils/) that provide AST traversal helpers, scope analysis, and component introspection. The plugin relies on peer dependencies eslint and vue-eslint-parser, with optional TypeScript support via @typescript-eslint/parser. It demonstrates strong craftsmanship through well-tested rules, comprehensive documentation, and active maintenance for both Vue 2 and Vue 3 ecosystems.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 1 reusable components found
davidjerleke/embla-carousel ★ 8448 261 APPLICATION

Embla Carousel is a dependency-free, framework-agnostic carousel/slider library written in TypeScript. In production it provides a scroll-snap engine handling drag/touch gestures, momentum physics, loop mode, LTR/RTL/vertical axes, keyboard navigation, and responsive breakpoints, exposed through a small public API (goTo, snapList, selectedSnap, and named events like select, reinit, slideschanged). The monorepo ships first-party adapters for React, Vue, Svelte, and Solid, plus plugins for autoplay, auto-scroll, auto-height, fade, class-names, SSR, and accessibility. It also contains a Next.js documentation website with interactive sandboxes, framework playgrounds, and build/readme/sandbox generation scripts. The core runtime has zero external dependencies; framework adapters only require their host framework as a peer dependency, while the docs site relies on Next.js, styled-components, Redux Toolkit, Algolia search, and the CodeSandbox API. Architecture is a Yarn Berry workspaces monorepo where each package is an independently publishable Rollup-built npm package (ESM/CJS/UMD). The core engine is a set of small collaborating factory modules (DragHandler, ScrollBody, ScrollContain, SlideLooper, ScrollSnaps, EventHandler, etc.) composed by an Engine and driven by the top-level EmblaCarousel module. Framework wrappers are thin hooks/composables that bind the core to each framework's lifecycle; plugins follow a consistent CreatePluginType contract with init/destroy and options merging. Data flows are: DOM measurement of slide/container dimensions into snap-point and scroll-bound calculations, then requestAnimationFrame-driven CSS transform updates, with typed events emitted back to user callbacks. Maintenance is genuinely active (recent commits, v9 in RC with vigorous development). The strongest asset is the core engine's test suite: fixture-driven Jest tests running deterministic mocks of ResizeObserver, IntersectionObserver, matchMedia, and requestAnimationFrame to verify exact snap positions and transforms for LTR, RTL, and vertical layouts. The main hygiene issues are committed Next.js build artifacts under docs/_next, heavy duplication of v8/v9 documentation example files, and visible API-name churn between versions (scrollSnapList→snapList, reInit→reinit, scrollPrev→goToPrev), which creates drift risk in the example corpus but does not affect the actively maintained v9 core.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
nolimits4web/swiper ★ 41905 9592 APPLICATION

Swiper is a mature, modular touch slider library for the web, supporting hardware-accelerated transitions and a wide range of effects (fade, cube, coverflow, flip, cards, creative). It provides first-class framework bindings for React, Vue, and Web Components, each with its own package entry point. The core is a lightweight, event-driven class that manages slide positioning, touch/mouse input, loop mode, breakpoints, and responsive behavior. All optional features (navigation, pagination, scrollbar, zoom, virtual slides, autoplay, keyboard, mousewheel, a11y, etc.) are implemented as self-contained modules that augment the core via a consistent factory pattern and TypeScript declaration merging. The build pipeline produces ESM, IIFE, and minified bundles, along with per-module CSS and type declarations. The codebase is actively maintained with a comprehensive test suite covering SSR, cross-realm params, element DOM behavior, and consumer type resolution under multiple module resolution modes.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 4 reusable components found
vuetifyjs/vuetify ★ 41037 7115 APPLICATION

Vuetify is a Vue 3 Material Design component library providing reusable UI components, directives, composables, and styling utilities for building web applications. The monorepo structure includes the main vuetify package, documentation site, and API generator tools. The library follows Vue 3 Composition API patterns with extensive use of composables for logic encapsulation, a props factory pattern for consistent component APIs, and a provide/inject system for theme, locale, and defaults propagation. Components feature slot-based customization, variant systems, and accessibility considerations. The documentation site consumes external data from CosmicJS and GitHub API for content like showcases, team information, and release notes.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 4 reusable components found
requarks/wiki ★ 29028 3319 APPLICATION

Wiki.js is a full-featured, open-source wiki platform designed for collaborative content management. It provides a rich editing experience with Markdown, AsciiDoc, and a visual editor (ProseMirror), supporting real-time collaborative editing via Yjs and WebSocket. The system is built as a monolith with a Fastify backend, Vue 3 frontend, and PostgreSQL database, with worker threads for background tasks like notifications and webhook delivery. It features a modular architecture with pluggable storage backends (disk, S3, Azure, GCS, Git), authentication strategies (local, OIDC, SAML, LDAP, WebAuthn), analytics providers, and comment systems. The block system allows custom content components (diagrams, maps, PDFs, etc.) as LitElement custom elements. Multi-site and multi-locale support, SCIM provisioning, audit logging, rate limiting, and a scheduler for periodic tasks round out the platform. The codebase is well-structured with extensive comments, but relies on a global `WIKI` object and has complex permission logic that spans multiple layers.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
quasarframework/quasar ★ 27202 3664 APPLICATION

The Quasar Framework monorepo is a comprehensive Vue 3 UI component library and cross-platform application development toolkit. It provides a rich set of reusable components (QBtn, QTable, QDialog, QLayout, etc.), composables (useTimeout, useDark, useForm, etc.), directives (v-ripple, v-touch-pan, etc.), and plugins (Notify, Dialog, Loading, Dark mode, etc.) that enable building responsive web, mobile, and desktop applications from a single codebase. The framework is distributed as multiple packages: the core UI library (`quasar`), a Vite-based CLI (`@quasar/app-vite`) that supports building for SPA, SSR, SSG, PWA, browser extensions (BEX), Cordova, Capacitor, and Electron targets, a project scaffolder (`create-quasar`), a global CLI (`@quasar/cli`), a Vite plugin for auto-imports and Sass variable injection, an icon generation tool (`icongenie`), and an MCP server for AI agent integration. The architecture follows a monorepo pattern managed with pnpm workspaces. The core UI library is built with Vue 3 and exposes a plugin-based system where components, composables, and directives are registered via a central `install-quasar` entry point. The CLI (`app-vite`) uses Vite and Rolldown as build backends, with mode-specific builders that generate optimized output for each target platform. The scaffolding system (`create-quasar`) generates project templates with optional TypeScript, Pinia state management, i18n, and linting configurations. The documentation site (`docs/`) is itself a Quasar SSR application that dogfoods the framework and includes a custom markdown build pipeline with API documentation extraction from JSON descriptors. Key entry points include `ui/src/vue-plugin.js` (framework installation), `app-vite/bin/quasar.js` (CLI dispatcher), `create-quasar/bin/create-quasar.js` (project creation), and `mcp/src/server.js` (AI agent server). External dependencies include Vue 3, Vite, Rolldown, Vitest, Playwright, and various icon libraries. The codebase demonstrates strong engineering practices with extensive unit, integration, and SSR hydration tests, a well-defined composable lifecycle pattern, and a modular build system that abstracts platform-specific concerns behind consistent interfaces.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 6 reusable components found
lissy93/dashy ★ 26676 1951 APPLICATION

Dashy is a self-hosted dashboard application that serves as a customizable startpage and service monitor for homelabs and server infrastructure. In production, it aggregates links to internal and external services, displays live widgets (weather, system metrics, crypto prices, news, etc.), and performs HTTP/ICMP status checks to indicate service health. The application is configured entirely via a YAML file (conf.yml) that defines pages, sections, items, widgets, authentication providers, themes, and layout options. Users can interact through multiple views: a default grid, a workspace with sidebar and iframe content, and a minimal tabbed view. The system also includes an interactive configuration editor, cloud backup/restore with AES encryption, and full REST API for programmatic management. Architecturally, Dashy is a full-stack web application with a Vue 3 frontend (built with Vite) and a Node.js Express backend. The frontend handles rendering, theming, localization (30+ languages), and client-side authentication flows (OIDC, Keycloak, header auth, built-in users). The backend provides endpoints for config saving, CORS proxying (with SSRF protection), status/ping checks, and optional REST API. Deployment is Docker-first, but bare-metal, cloud (Netlify, Render), and static hosting are also supported. The codebase is organized into reusable mixins (WidgetMixin, ThemingMixin, HomeMixin), custom Vue directives (DragSort, Tooltip, LongPress), and a schema-driven configuration system that powers both validation and the CodeMirror-based YAML editor. Key data flows include: (1) configuration loading from file and localStorage, merged by the ConfigAccumulator; (2) widget data fetching via the CORS proxy or direct API calls, with standardized error handling and update intervals; (3) authentication token exchange and session management across client and server; (4) status checks that update item indicators in real-time. External dependencies are limited to Node.js, Vue 3, Express, and a handful of widget-specific APIs (OpenWeatherMap, CoinGecko, etc.), all of which are optional and configurable. The project is purely an application with no data research or analytics components.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 8 reusable components found
louislam/uptime-kuma ★ 92046 8505 APPLICATION

Uptime Kuma is a self-hosted, open-source uptime monitoring application that periodically checks the availability and response time of services (HTTP, TCP, DNS, databases, Docker containers, and many more) and sends alerts via 90+ notification providers. The system is a monolithic Node.js/Express backend with a Vue 3 SPA frontend, using Socket.IO for real-time updates and SQLite or MariaDB for persistence. It provides status pages, maintenance windows, certificate/domain expiry monitoring, and a Prometheus metrics endpoint. The architecture follows a plugin pattern for monitor types and notification providers, both built on base classes, and includes a condition evaluation system for advanced alerting logic. The codebase is well-structured with clear separation of concerns, extensive tests (unit, integration, e2e), and active community contributions.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
hoppscotch/hoppscotch ★ 80561 6143 APPLICATION

Hoppscotch is an open-source, multi-platform API development ecosystem that serves as a full-featured alternative to Postman. It supports REST, GraphQL, WebSocket, SSE, Socket.IO, and MQTT protocols, with advanced features like pre-request and test scripting (sandboxed), environment variables, team collaboration, mock servers, published documentation, AI assistant, and extensive import/export (Postman, Insomnia, OpenAPI, HAR, cURL). The monorepo is organized into packages: a Vue 3 frontend (hoppscotch-common), a NestJS/GraphQL/Prisma backend (hoppscotch-backend), a Tauri desktop app (hoppscotch-desktop), a Node.js CLI (hoppscotch-cli), a Tauri agent for interceptor (hoppscotch-agent), a shared kernel abstraction layer (hoppscotch-kernel), versioned data schemas (hoppscotch-data), a JavaScript sandbox engine (hoppscotch-js-sandbox), and self-hosted web/admin panels. The architecture emphasizes functional programming with fp-ts, reactive state management via RxJS DispatchingStores, dependency injection with dioc, and a kernel/relay pattern that abstracts HTTP execution across platforms. The codebase is actively maintained with extensive test coverage and demonstrates high craftsmanship in areas like versioned data migration, sandboxed script execution, and cross-platform kernel design.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
element-plus/element-plus ★ 27798 19813 APPLICATION

Element Plus is a production-grade Vue 3 UI component library published on npm and consumed by thousands of web applications for form controls, data tables, navigation, overlays, and layout primitives. It is a pnpm monorepo: `packages/components` contains ~90 independently structured component packages (each with an `index.ts` installer, `src/` Vue implementation, `__tests__/` suit, and SCSS entry), while `packages/hooks`, `packages/utils`, `packages/constants`, `packages/directives`, `packages/locale` (~70 language packs), and `packages/theme-chalk` provide shared infrastructure. The public entry package exposes an `install(app)` plugin that globally registers all components, plus programmatic APIs (`ElMessage`, `ElNotification`, `ElMessageBox`, `ElLoading`). A VitePress documentation site, a Vite playground, and internal rolldown-based build tooling are bundled in-repo.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 8 reusable components found
searchkit/searchkit ★ 4855 443 APPLICATION

Searchkit is a TypeScript monorepo that provides a library and server-side API to bridge Algolia's InstantSearch UI components with Elasticsearch. It transforms InstantSearch search parameters into Elasticsearch queries, executes them via a configurable transporter (supporting API keys, basic auth, cloud_id, custom headers), and transforms responses back into InstantSearch-compatible format. The core package (`searchkit`) handles request/response transformation, query rules (conditions and actions like pin, boost, rewrite), facets (string, numeric, date, nested, geo), filters, sorting (with nested fields and array modes), highlighting/snippets (with wildcard and nested path support), and KNN/hybrid search. The `@searchkit/api` package provides a Node.js client factory for building search endpoints, and `@searchkit/instantsearch-client` offers a browser-side adapter that can connect either to a Searchkit API endpoint or directly to Elasticsearch. The monorepo also includes an analytics plugin for Elasticsearch Behavioral Analytics, extensive functional tests using nock snapshots, sample datasets, and integration examples for Next.js, Express, Cloudflare Workers, Vue, and plain JavaScript. The architecture is config-driven, with a `SearchkitConfig` object defining connection, search settings, facets, filters, sorting, and query rules, plus hooks for customizing queries and responses.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
vue-macros/vue-macros ★ 1985 122 APPLICATION

vue-macros is a monorepo of compile-time macros and syntax sugar for Vue 3, distributed as a set of npm packages that integrate with Vite, Rollup, esbuild, Webpack, Rspack, Rolldown, Nuxt, and Astro. In production it acts as a build-time transformer: it parses Vue SFCs and TS/TSX files, identifies macro calls (defineProps, defineModels, defineOptions, shortVmodel, JSX directives, reactivity transform, etc.), and rewrites them into standard Vue compiler-compatible code using Babel AST manipulation and MagicString. The main entry point is packages/macros, which combines roughly 25 feature plugins via unplugin; each feature package exposes per-bundler entry shims (vite.ts, rollup.ts, etc.) generated by monoman. It also ships a Volar plugin for IDE support, a devtools plugin, and a config loader that reads vue-macros.config.* files.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 4 reusable components found
lochie/torph ★ 1333 27 APPLICATION

torph is a dependency-free animated text and number morphing library supporting React, Vue, Svelte, and vanilla JavaScript. The core engine segments input text into numerical and alphabetic parts, diffs them using a word-level LCS algorithm with numeric place-value matching, and animates the transition via FLIP, spring physics, and per-character masking. It exposes thin framework wrappers and a `MorphController` class for lifecycle management. A monorepo structure includes the library package, a shared test corpus consumed by both unit tests and an interactive playground, and a Next.js documentation site with 25+ demos and a showcase. The library requires no runtime dependencies; only peer dependencies for framework usage. It demonstrates exceptional engineering in diffing, animation timing, and cross-framework abstraction.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 4 reusable components found
$ loading more...
$ submit: