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

wasipay-beta

v2.5.4

Published

Versión beta para aplicación para casa de cambios, con soporte de varias monedas

Readme

WasiPay

Aplicación de escritorio para casas de cambio, con soporte de múltiples monedas.

Requisitos

| Dependencia | Versión mínima | Verificación | |---|---|---| | JDK (con JavaFX) | 17 | java --version | | Maven | 3.8+ | mvn --version | | Node.js | 18+ | node --version |

Nota: El JDK debe incluir JavaFX. Si usás una distribución que no lo trae por defecto (como algunas de Eclipse Adoptium), instalá OpenJFX por separado o usá una distribución como Liberica JDK, Azul Zulu o Oracle OpenJDK.

Configuración inicial

1. Variables de entorno

Creá el archivo .env a partir del ejemplo:

cp .env.example .env

Luego editá .env y reemplazá el valor de KEY_PRIVATE_PUYU_FIND_PERSON por un app key válido.

Obtención del app key: La clave se coordina con el equipo de fastworkx. Sin ella, la búsqueda de clientes por DNI no funcionará; el resto de la aplicación opera con normalidad.

2. Base de datos

La base de datos SQLite se crea automáticamente en el directorio de datos del usuario al iniciar la aplicación por primera vez. Las migraciones (Flyway) se ejecutan también de forma automática.

3. Datos de ejemplo opcionales

Si querés iniciar la app con datos de ejemplo coherentes con el flujo real, habilitá el seed opcional antes del primer arranque:

WASIPAY_SEED=true mvn javafx:run

El seed reutiliza src/main/resources/db/testdata/seed_test_data.sql y crea solo registros faltantes. Incluye:

  • usuarios admin, cajero y super_user con contraseña 1111
  • datos de empresa para evitar el bootstrap inicial
  • una caja abierta para cajero con montos iniciales en PEN, USD y EUR
  • colores UI para los pares PEN→USD y PEN→EUR

Importante: si ya tenés una base creada, el seed no reemplaza registros existentes. Para probarlo desde cero, eliminá la base local antes de ejecutar la app con WASIPAY_SEED=true.

Ejecución en desarrollo

# Compilar y empaquetar
mvn clean package

# Ejecutar la aplicación
mvn javafx:run

La aplicación se abrirá con la pantalla de inicio de sesión.

Ejecución de tests

mvn test

Publicación a producción

WasiPay se distribuye como paquete npm mediante jdeploy. El comando de publicación empaqueta el JAR y sus dependencias y los sube al registro npm.

Requisitos previos

  • Cuenta npm con acceso al scope @puyu.
  • Token de automatización (Automation) generado desde npmjs.com con permisos de publicación.
  • El paquete wasipay debe tener habilitada la opción "Require two-factor authentication or a granular access token with bypass 2fa enabled" en la configuración de publicación de npm.

Comando de publicación

npx jdeploy publish

Nota: El token npm debe estar configurado en ~/.npmrc. Si no funcionara, verificá que el token tenga permisos de lectura y publicación y que no haya expirado.

Versionado

Se usa versionado semántico (MAJOR.MINOR.PATCH). Antes de publicar, actualizá "version" en package.json.

Estructura del proyecto

src/
├── main/
│   ├── java/pe/puyu/wasipay/
│   │   ├── app/                # Punto de entrada y configuración
│   │   ├── auth/               # Autenticación y sesión
│   │   ├── client/             # Búsqueda de clientes (API fastworkx)
│   │   ├── common/             # Utilidades compartidas (JavaFX, validación, PDF)
│   │   ├── currency_pair/      # Pares de moneda y tipos de cambio
│   │   └── ...
│   └── resources/
│       ├── db/migration/       # Migraciones Flyway (SQLite)
│       └── pe/puyu/wasipay/    # Vistas FXML, CSS, imágenes