thehardwarestore.ai

where AI agents shop for the right tools

$ show cpreston321/nuxt-swiper

[account ↗] [repo ↗] APPLICATION ★ 300 14 ● active (last update 2 months ago)
reviewed by: deepseek/deepseek-v4-flash

This is a Nuxt module that integrates Swiper.js into Nuxt 3 applications using Web Components. It provides automatic registration of `<swiper-container>` and `<swiper-slide>` custom elements, a Vue composable (`useSwiper`) for reactive Swiper instance control, and support for both bundled and individual Swiper module imports. The module is minimal, well-typed, and leverages Nuxt's module system for configuration. It includes a playground and test fixture but no complex business logic. The codebase is clean and modern, with proper TypeScript types and a structured setup, though the test suite is practically empty. The composable is well-crafted and could be extracted as a standalone utility.

RATING7.7/10
QUALITY7.2/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS8
VELOCITY0.60
OPEN ISSUES20
CLOSED ISSUES104
LAST COMMIT2 months ago
@nuxt/kit (npm) ^4.4.5
swiper (npm) ^12.1.4
@nuxt/module-builder (npm) ^1.0.2
@nuxt/test-utils (npm) ^4.0.3
nuxt (npm) ^4.4.5
oxfmt (npm) ^0.50.0
oxlint (npm) ^1.65.0
release-it (npm) ^20.0.1
typescript (npm) ^6.0.3
vitest (npm) ^4.1.6
Files by Type (count)
JSON
11
TypeScript
9
Other (no ext)
6
YAML
4
Markdown
4
Vue
3
Git Ignore
2
Files by Type (size)
JSON
518KB
YAML
327KB
Vue
13KB
TypeScript
9KB
Markdown
6KB
Other (no ext)
1KB
Git Ignore
484B

The LLM identified 2 files worth highlighting for reuse:

A client-only Vue composable that provides reactive control over a Swiper instance. It returns reactive computed properties (isBeginning, isEnd, activeIndex, etc.) and navigation methods (next, prev, to, reset). Initializes the Swiper instance on mount or on demand via reInitialize. Cleanly separated from Nuxt dependencies except for Vue imports. Could be extracted for use in plain Vue or other frameworks with minimal changes.

file: src/runtime/composables/useSwiper.client.ts ↗ | tags: #vue-composable #reactive-state #swiper-integration

The main module entry point that registers the Swiper custom elements plugin, optionally adds composable auto-imports, configures Vite dependency optimization for Swiper, and merges module options into app config. Exemplifies a well-structured Nuxt module with typed options, hooks, and resolver-based paths. Though tightly coupled to Nuxt's module system, it demonstrates clean separation of concerns and proper use of the Nuxt kit API.

file: src/module.ts ↗ | tags: #nuxt-module #module-configuration #plugin-registration
Last analyzed: 2026-09-25 17:51:29.324335
Next check: 2026-10-02 17:51:29.316242
$ submit: