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 🙏

© 2024 – Pkg Stats / Ryan Hefner

osedhelu

v1.2.17

Published

Las dependencias son paquetes de código que proporcionan funcionalidades que no queremos implementar desde cero. En este proyecto, estamos utilizando las siguientes dependencias:

Downloads

2

Readme

Dependencias

Las dependencias son paquetes de código que proporcionan funcionalidades que no queremos implementar desde cero. En este proyecto, estamos utilizando las siguientes dependencias:

  • @elysiajs/swagger: Es una biblioteca para generar documentación de API utilizando el estándar OpenAPI. Nos permite definir nuestras rutas de API y sus parámetros, y luego genera una interfaz de usuario interactiva donde podemos probar nuestras rutas de API.
  • elysia: Es un marco de trabajo para construir aplicaciones web en Node.js. Proporciona una estructura para organizar nuestro código y facilita la creación de rutas de API, controladores, servicios, etc.
  • node-dependency-injection: Es una biblioteca para implementar la inyección de dependencias en Node.js. Esto nos permite desacoplar nuestro código y hacerlo más modular y fácil de probar.
  • qrcode-terminal: Es una biblioteca para generar códigos QR en la terminal. Podemos usar esto para generar códigos QR a partir de texto en la terminal.
  • uuid: Es una biblioteca para generar identificadores únicos. Esto es útil para generar identificadores únicos para nuestros objetos de datos.

Para crear un proyecto utilizando npx y bunx, puedes seguir los siguientes pasos

Abre tu terminal y navega hasta el directorio donde deseas crear tu proyecto. Ejecuta el siguiente comando para crear un nuevo proyecto utilizando npx y bunx:

npx osedhelu <nombre_del_directorio>

o

bunx osedhelu <nombre_del_directorio>

Asegúrate de reemplazar <nombre_del_directorio> con el nombre que deseas darle a tu proyecto.

To install dependencies

bun install

To run dev:

bun start:dev

Arquitectura Hexagonal

La arquitectura hexagonal, también conocida como arquitectura de puertos y adaptadores, es un patrón de diseño que nos permite separar la lógica de negocio de nuestra aplicación de su infraestructura. Esto nos permite cambiar la infraestructura (por ejemplo, cambiar de una base de datos a otra) sin afectar a la lógica de negocio.

En la arquitectura hexagonal, nuestra aplicación se divide en tres capas: dominio, aplicación y infraestructura.

  • Dominio: Esta es la capa donde reside toda la lógica de negocio de nuestra aplicación. Define las entidades, los casos de uso y las interfaces que las otras capas deben implementar.
  • Aplicación: Esta capa implementa las interfaces definidas en el dominio. Utiliza los servicios de la capa de infraestructura para interactuar con la base de datos, el sistema de archivos, etc.
  • Infraestructura: Esta capa implementa los adaptadores que permiten a la capa de aplicación interactuar con el mundo exterior (por ejemplo, la base de datos, el sistema de archivos, etc.). Cada vez que creamos un nuevo directorio en la carpeta app, se genera automáticamente la estructura de la arquitectura hexagonal para ese directorio. Esto nos permite mantener nuestro código organizado y modular.

Diagrama de la Arquitectura Hexagonal

graph LR
   A[Dominio] --> B[Aplicación]
   B --> C[Infraestructura]
   C --> D[Base de Datos]
   C --> E[Sistema de Archivos]
   C --> F[APIs externas]

En este diagrama, las flechas representan las dependencias entre las diferentes capas de nuestra aplicación. Por ejemplo, la capa de aplicación depende de la capa de dominio (porque implementa las interfaces definidas en el dominio), y la capa de infraestructura depende de la capa de aplicación (porque utiliza los servicios de la capa de aplicación para interactuar con el mundo exterior).