npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@vasakgroup/plugin-config-manager

v2.13.0

Published

A tauri plugin for managing configuration in a Vue 3 application using Pinia.

Readme

Tauri plugin config manager

Un simple plugin de tauri que permite leer y modificar la configuracion de VasakOS en tiempo real para poder integrarse con las preferencias del usuario


Tecnología

Rust Tauri TypeScript

Estado

CI Versión Licencia Cobertura Quality Gate Tamaño repo


Descripción

Un simple plugin de tauri que permite leer y modificar la configuracion de VasakOS en tiempo real para poder integrarse con las preferencias del usuario

Para el usuario: Un simple plugin de tauri que permite leer y modificar la configuracion de VasakOS en tiempo real para poder integrarse con las preferencias del usuario

Integración VasakOS: Integra con el ecosistema VasakOS vía D-Bus y configuración compartida.


Arquitectura (diagramas)

Flujo de datos

graph TD
    A[Entrada: App host Tauri (invoke / events)] --> B[Procesamiento: Plugin Rust backend + JS bindings]
    B --> C[Salida: APIs nativas expuestas a la app]
    style A fill:#e1f5fe
    style C fill:#e8f5e9

Componentes internos

flowchart LR
    subgraph App[Tauri plugin config manager]
        UI[JS Bindings (TypeScript)]
        Core[Rust backend: plugin Tauri]
        IPC[Tauri invoke / events]
    end
    UI --> IPC
    IPC --> Core
    Core --> System[Tauri runtime + APIs nativas]
    style UI fill:#f3e5f5
    style Core fill:#e3f2fd
    style System fill:#fce4ec

Integración en el sistema VasakOS

C4Context
    title Tauri plugin config manager en VasakOS
    Person(usuario, "Usuario", "Persona que usa el sistema")
    System_Boundary(c1, "VasakOS") {
        System(app, "Tauri plugin config manager", "Plugin Tauri para config-manager")
        System_Ext(tauri, "Tauri v2", "Runtime de la app host")
    }
    
    Rel(usuario, app, "Usa")
    Rel(app, tauri, "Se registra como plugin")
    Rel(app, systemd, "Opcional: servicios del plugin")

Instalación

Desde npm (recomendado)

# Con bun (recomendado para proyectos VasakOS)
bun add @vasakgroup/tauri-plugin-config-manager

# Con npm
npm install @vasakgroup/tauri-plugin-config-manager

# Con pnpm
pnpm add @vasakgroup/tauri-plugin-config-manager

Desde fuente (desarrollo del plugin)

git clone https://github.com/Vasak-OS/tauri-plugin-config-manager.git
cd tauri-plugin-config-manager

# Build Rust
cargo build --release --locked

# Tests
cargo test --locked
bun test  # si tiene tests JS

Uso rápido

import { config_manager } from '@vasakgroup/tauri-plugin-config-manager';

// En tu app Tauri (tauri.conf.json → plugins):
// { "plugins": { "config-manager": { ...config... } } }

// Uso programático:
const plugin = config_manager();
const result = await plugin.someMethod();

Atajos / flags principales

| Acción | Código | |--------|--------| | Instalar | bun add @vasakgroup/tauri-plugin-config-manager | | Importar | import { config_manager } from '@vasakgroup/tauri-plugin-config-manager' | | Configurar | tauri.conf.json → plugins.config-manager |

Captura: assets/demo.gif (placeholder — sustituir por GIF real)


Configuración

Configuración en tauri.conf.json

{
  "plugins": {
    "config-manager": {
      // Opciones específicas del plugin
    }
  }
}

Variables de entorno (si aplica)

| Variable | Descripción | Por defecto | |----------|-------------|-------------| | TAURI-PLUGIN-CONFIG-MANAGER_DEBUG | Logs de depuración del plugin | false |

Variables de entorno

| Variable | Descripción | Por defecto | |----------|-------------|-------------| | VASAK_DEBUG | Activa logs de depuración en consola | false | | VASAK_PROFILE | Perfil de rendimiento: balanced, performance, power-save | balanced |

Integración con tauri-plugin-config-manager

(plugin — la app host usa config-manager)


Desarrollo

Requisitos

  • Rust: rustup toolchain estable (rust-toolchain.toml fija la versión)
  • Node / bun: bun ≥ 1.1 (nunca npm/yarn/pnpm para apps Tauri)
  • Sistema: pkg-config, libgtk-3-dev, libwebkit2gtk-4.1-dev, libssl-dev
  • libssl-dev para TLS, dependencias nativas específicas del plugin

Dependencias de desarrollo

Sistema (paquetes Arch / Debian / Fedora)

base-devel, pkgconf, libssl-dev, libwebkit2gtk-4.1-dev, libgtk-3-dev, libayatana-appindicator3-dev, librsvg2-dev, gstreamer1.0-plugins-base, gstreamer1.0-plugins-good, libpipewire-0.3-dev, libwireplumber-0.5-dev, libdbus-1-dev, libudev-dev, libxkbcommon-dev, libwayland-dev, meson, ninja, clang, lld

Rust

rustup → stable + rustfmt + clippy

Node

Solo bun (nunca npm/yarn/pnpm para apps Tauri). bun --version ≥ 1.1

Herramientas CLI

just (command runner), cargo-binstall (opcional), cargo-llvm-cov (para cobertura)

Correr en desarrollo

# Build Rust en watch mode
cargo watch -x "build --lib"

# Tests
cargo test --locked
bun test  # si tiene bindings JS

Compilar / Build de release

# Build release
cargo build --release --locked

# Publicar (requiere permisos en crates.io y npm)
cargo publish --locked
npm publish

Targets principales

# Desarrollo
cargo watch -x "build --lib"

# Build producción
cargo build --release --locked

# Solo frontend
bun test  # tests JS bindings

# Solo backend Rust
cargo build --release --locked

# Lint + tipos (pre-commit / CI)
cargo fmt --check
cargo clippy -- -D warnings
bunx --bun biome check .  # si hay código JS

Pruebas

# Tests Rust
cargo test -p tauri-plugin-config-manager --locked

# Tests JS (bindings)
bun test

Convención de commits

Conventional Commits:

<tipo>(<ámbito>): <descripción corta>

[cuerpo opcional]

[pie opcional: Closes #N]

Tipos habituales: feat, fix, bugfix, docs, ci, chore, security, refactor, perf, test.

Cómo abrir PR

  1. Rama desde origin/main:
    git worktree add -b feat/{{TEMA}} ~/wt/tauri-plugin-config-manager-{{TEMA}} origin/main
  2. Prefijos de rama: fix/, feat/, bugfix/, docs/, ci/, chore/, security/
  3. Escribe el fix → qa escribe las pruebas (fallan sin el fix) → suite verde → abre PR
  4. Al abrir PR, cuatro cosas obligatorias:
    • Asignado a JoaquinDecima
    • Etiqueta enhancement o bug (+ ci / dependencies si aplica)
    • Añadido al proyecto «VasakOS Roadmap»
    • Status In Progress

Arquitectura (texto)

Crates / módulos principales

| Crate / Módulo | Responsabilidad | |----------------|-----------------| | tauri-plugin-config-manager | Plugin Tauri: Rust backend + JS bindings |

Interfaces D-Bus / zbus expuestas

Puntos de extensión

  • Plugins: Sistema de plugins modular
  • Hooks: Hooks de ciclo de vida
  • API pública Rust: API pública del crate principal

Features / Cargo features

| Feature | Descripción | Default | |---------|-------------|---------| | async | API asíncrona (futures) | ✓ | | blocking | API bloqueante para compatibilidad | |


Pruebas y calidad

  • Cobertura objetivo: ≥ 80 % del código nuevo (SonarCloud Quality Gate)
  • Informes: GitHub Actions → pestaña SonarCloud Code Analysis → enlace a SonarCloud
  • Añadir pruebas: ver AGENTS.md sección 9 (mapa de repos y comandos de prueba)
  • Regla: toda corrección lleva prueba escrita por qa que falla sin el fix

Contribuir


Contribuidores

Actualizado automáticamente en CI — muestra los avatares de quienes han aportado código a este repo.

Ver todos los contribuidores


Donadores / Sponsors

Sponsors

Backers: Actualizado automáticamente en CI desde GitHub Sponsors / OpenCollective / Polar.

💖 Donar al proyecto


Licencia

GPL-3.0 — Copyright © 2026 Vasak-OS Contributors

Ver licencia completa