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

ngx-dsxlibrary

v2.21.48

Published

Libreria para control de código automatizado.

Readme

Mi Librería Angular

Librería general para proyectos de desarrollo DevSoftXela

Instalación

npm install ngx-dsxlibrary

Compatibilidad para depuración local

Para ejecutar y depurar esta librería en local, el proyecto debe mantener las mismas versiones base de:

  • Angular: 21.2.5
  • TypeScript: 5.9.2
  • zone.js: 0.16.1 (rango compatible: ~0.16.x)

Si estas versiones no coinciden (o no son compatibles), pueden aparecer errores de compilación, tipado o ejecución durante la depuración local.

Guía para consumidores

Envío de archivos al backend (POST)

Si tu endpoint del backend recibe datos por formulario multipart (por ejemplo [FromForm] en ASP.NET Core), puedes usar HttpHelpersService.

Este servicio convierte automáticamente el objeto a FormData, así que permite enviar campos normales y archivos en una sola petición.

import { HttpHelpersService } from 'ngx-dsxlibrary';

constructor(private httpHelpers: HttpHelpersService) {}

subirArchivo(file: File | null) {
  return this.httpHelpers.post<{ ok: boolean; mensaje: string }>('documentos/subir', {
    documentoId: 10,
    nombre: 'Contrato',
    archivo: file,
  });
}

Notas:

  • Si el archivo viene en null o undefined, ese campo se omite del FormData.
  • Es ideal para simplificar flujos de carga de archivos con metadata.

Fuentes compartidas (@font-face)

La librería expone un archivo CSS con @font-face para que cualquier proyecto consumidor lo importe una sola vez.

Tambien expone un archivo de personalizacion base para PrimeNG, para mantener estilos uniformes entre proyectos consumidores.

En el styles.css/styles.scss del proyecto consumidor:

@import "ngx-dsxlibrary/assets/css/fonts.css";
@import "ngx-dsxlibrary/assets/css/primeng_dsx.css";

Las rutas del CSS están definidas como url("/fonts/..."), por lo que el proyecto consumidor debe publicar esos archivos en /fonts.

Incluye variantes por peso cuando aplique (por ejemplo, Oswald normal y Oswald 500).

En angular.json del proyecto consumidor (sección assets):

{
  "glob": "**/*",
  "input": "./src/assets/fonts",
  "output": "/fonts"
}
  • Diagnóstico de cookies y fallback:
    • Ver documento: COOKIE_FALLBACK.md
  • Este documento explica cómo se comporta AuthorizeService en desarrollo/producción y HTTP/HTTPS.
  • Incluye checklist de depuración para validar protocol, host, environment.production y logs.

Botón reutilizable dsx-button

dsx-button encapsula estilos, permisos por parámetro y variantes de acción para evitar duplicar lógica en cada vista.

Importar constantes seguras para evitar typos:

import { ACTION_TYPES } from "ngx-dsxlibrary";

Uso básico:

<dsx-button [type]="ACTION_TYPES.create" [routerLink]="[urlNew, 0]" />

Con validación de parámetro de seguridad:

<dsx-button [type]="ACTION_TYPES.create" parameterName="pCreate" [routerLink]="[urlNew, 0]" />

Con modo guardar/actualizar según id:

<dsx-button [type]="ACTION_TYPES.saveOrUpdate" [id]="id()" [disabled]="!form.valid" (action)="saveRegister()" />

Con icono PrimeNG (sin texto):

<dsx-button [type]="ACTION_TYPES.edit" [iconOnly]="true" [routerLink]="[urlNew, rowData.propietarioId]" />

Rendimiento:

  • El comportamiento es equivalente a la forma original con @if + _paramService.isParameterValue(...).
  • El componente mantiene guard por loaded para evitar render inestable mientras refrescan parámetros.
  • isParameterValue ya usa cache interno en ParameterValuesService, por lo que el costo por evaluación se mantiene controlado.

Cambios

Se realizo actualización en el interceptor para mejorar el comportamiento con angular V21 1.21.1 Se actualizo kpicard por la actualización de la libreria count 1.21.2 Se actualizo parameter service para que muestre una alerta al usuario al no coincider 1.21.2 Se depuro la no validación en los parametros al obtener su valor 1.21.3 Se actualizo el servicio authorize se agrego getTokenValues y se agrego a primeNg PasswordModule 1.21.8 Se actualizo primeNg se agrego PanelMenuModule y se dio acceso al servicio de error 1.21.9 Se actualizo primeNg se agrego DrawerModule 1.21.10 Se actualiza url de json loader 1.21.12 Se actualizo el interceptor http-authorize para manejar correctamente el refresh de token (401), detener peticiones cuando el TokenRefresh es inválido y mostrar mensajes de error más claros al usuario 1.21.24