Skip to main content

Librerías y dependencias

Inventario de dependencies y devDependencies del package.json del proyecto backoffice (idéntico en main y en feat/meta_connections). La columna Dónde se usa sale de buscar imports reales en src/ y referencias en angular.json y en src/assets/scss/app.scss; no se infiere del nombre del paquete.

Leyenda de estado:

  • En uso: hay un import (o estilo/script cargado) que lo consume.
  • Solo estilos: el código TypeScript no lo importa; se cargan sus hojas de estilo.
  • Sin uso: no hay ninguna referencia en src/, angular.json ni karma.conf.js. Candidato a eliminar.

:::caution Dependencias heredadas El proyecto parte de una plantilla de backoffice genérica. Varias librerías (carruseles, scroll personalizado, dropzone, chartist, editores de código) siguen en package.json o en los estilos pero ya no se usan. Se marcan abajo para poder limpiarlas; esta página solo documenta, no las elimina. :::

Framework​

PaqueteVersiónUsoDónde se usaEstado
@angular/core, common, forms, router, platform-browser, platform-browser-dynamic^18.2.0 / ~18.2.0 (instalado 18.2.14)Núcleo de Angular: NgModules, DI, HttpClient, formularios, routerapp.module.ts, app-routing.module.ts, main.ts, prácticamente todos los componentes y serviciosEn uso
@angular/animations^18.2.0Animaciones de componentescore/helpers/ui/fade-in-animation.constant.ts, chat-list.component.tsEn uso
@angular/cdk^18.2.0overlay, drag-drop y portalapp.module.ts (OverlayModule), permissions-builder y otros módulosEn uso
@angular/localize~18.2.0Polyfill $localize requerido por ng-bootstrapsrc/polyfills.ts, tsconfig.app.jsonEn uso
@angular/compiler~18.2.0Compilador JIT/AOTNingún import explícito; lo requiere Angular internamenteTransitivo
@angular/service-worker^18.2.0PWA / service workerSin referencias: no hay ngsw-config.json ni ServiceWorkerModuleSin uso
rxjs~7.8.1Observables en servicios, efectos y sockets144 archivosEn uso
zone.js~0.14.2Detección de cambios de Angularsrc/polyfills.ts, src/test.tsEn uso
tslib^2.7.0Helpers de TypeScriptLo exige el compilador; sin import directoTransitivo

Estado​

PaqueteVersiónUsoDónde se usaEstado
@ngrx/store^18.0.2Estado global (slices de auth, tickets, etc.)app.module.ts, app.component.ts, core/states/*En uso
@ngrx/effects^18.0.2Efectos asíncronosapp.module.ts, core/states/auth/auth.effects.tsEn uso
@ngrx/store-devtools^18.0.2Instrumentación para Redux DevToolsapp.module.tsEn uso

Detalle en Estado (NgRx).

Tiempo real​

PaqueteVersiónUsoDónde se usaEstado
socket.io-client^4.8.3Conexión al namespace /chatcore/services/ui/chat-socket.service.ts, internal-chat-socket.service.tsEn uso

Ver Sockets.

UI y componentes​

PaqueteVersiónUsoDónde se usaEstado
bootstrap5.3.3Estilos base y utilidadessrc/assets/scss/app.scss y parciales SCSSEn uso (estilos)
@ng-bootstrap/ng-bootstrap^17.0.0Modales, dropdowns, tooltips, tabs78 archivos (app.module.ts, componentes)En uso
@popperjs/core^2.11.6Posicionamiento de tooltips y dropdownsPeer de ng-bootstrap; los SCSS de Bootstrap lo referencianTransitivo
@ng-select/ng-select^13.0.0Selects con búsqueda y múltiplesMódulos de access-control y 37 archivos en total; tema en app.scssEn uso
@swimlane/ngx-datatable^20.1.0Tablasshared/components/tables/ngx-datatable/, core/helpers/ui/ngx-datatable.constant.tsEn uso
ngx-toastr^16.0.1Notificaciones tipo toastapp.module.ts, core/helpers/ui/ui.constant.ts; CSS en app.scssEn uso
sweetalert2^11.4.29Diálogos de confirmacióncore/helpers/ui/ui.constant.ts (swalWithBootstrapButtons); SCSS en vendors/sweetalert2.scssEn uso
@sweetalert2/ngx-sweetalert2^11.0.0Wrapper Angular de SweetAlert2Sin referencias; se usa sweetalert2 directoSin uso
@ngx-loading-bar/core, http-client, router^6.0.2Barra de progreso en navegación y HTTPapp.module.ts, app.component.tsEn uso
feather-icons^4.29.0Iconos SVGshared/components/feather-icons/, layout/content/content.component.ts; angular.jsonEn uso
font-awesome^4.7.0Iconos por clase CSS (fa fa-...)Cargado como estilo global en angular.json (font-awesome.scss); fuentes en assets/fonts/font-awesomeEn uso (estilos)
animate.css^4.1.1Animaciones CSSapp.scssSolo estilos
angular-archwizard^7.0.0Asistente por pasosSolo @import en app.scss; ningún import TSSolo estilos
ngx-tabset^2.2.0PestañasSolo @import en app.scss; ningún import TSSolo estilos
photoswipe^5.3.0Visor de galeríasangular.json (allowedCommonJsDependencies) y SCSS de vendors/photoswipe; sin import TSSolo estilos
ngx-image-cropper^9.1.7Recorte de avatarfeatures/profile/components/avatar-cropper-dialog/, profile.module.tsEn uso
ngx-bootstrap^18.0.2Alternativa a ng-bootstrapSin referencias (se usa @ng-bootstrap)Sin uso
ngx-owl-carousel-o^18.0.0CarruselSin imports; solo SCSS heredado de owlthemeSin uso
ngx-perfect-scrollbar^10.1.1Scroll personalizadoSin imports; app.scss importa un CSS de perfect-scrollbarSin uso
swiper^8.4.5Carrusel táctil (declarado en devDependencies)Solo un @import en app.scssSin uso real
angularx-qrcode^18.0.2Generador de QRSin referencias; el icono fa-qrcode es solo una clase CSSSin uso

Gráficos​

PaqueteVersiónUsoDónde se usaEstado
highcharts^12.6.0Motor de gráficos del dashboard (highcharts/highstock)app.module.ts (provideHighcharts)En uso
highcharts-angular^5.4.0Componente Angular de Highchartsapp.module.ts, features/dashboard/dashboard.module.tsEn uso
apexcharts^3.36.3Gráficos ApexChartsshared/components/apex-chart/apex-chart.component.ts, dashboard-page.component.tsEn uso
ng-apexcharts1.8.0Tipos y wrapper de ApexChartscore/helpers/ui/statistics.ts (solo tipos)En uso (limitado)
ng-chartist^8.0.0Gráficos ChartistSin imports; quedan SCSS (vendors/chartist)Sin uso
ng2-charts^4.1.1Gráficos Chart.jsSin referenciasSin uso
@types/chartist^0.11.1Tipos de ChartistSin referenciasSin uso

Editores de texto y emojis​

PaqueteVersiónUsoDónde se usaEstado
emoji-mart^5.6.0Selector de emojis (web component)chat-conversation.component.ts, shared/components/rich-text-editor/, src/typings/emoji-mart-browser.d.tsEn uso
@emoji-mart/data^1.2.1Datos del selector de emojisLos mismos dos componentesEn uso
@ctrl/ngx-emoji-mart^7.0.0Wrapper Angular antiguoSolo su CSS en app.scss; el código usa emoji-mart directoSolo estilos
@kolkov/angular-editor^2.1.0Editor WYSIWYGSolo tipo AngularEditorConfig en page-configuration.constants.ts y promotion-management.constants.ts (archivos huérfanos, ver abajo)Legado
codemirror, @codemirror/basic-setup, lang-html, lang-javascript, state, view^6.0.1 / ^0.20.0 / ^6.xEditor de códigoSin imports; quedan estilos CodeMirror en SCSSSin uso
@types/codemirror^5.60.15Tipos de CodeMirror 5Sin referenciasSin uso

Formularios, subidas y datos​

PaqueteVersiónUsoDónde se usaEstado
ngx-dropzone^3.1.0Zona de arrastre de archivosSin importsSin uso
ngx-dropzone-wrapper^13.0.0Idem (wrapper de Dropzone)Sin imports; hay SCSS de dropzoneSin uso
date-fns^2.30.0Formateo y comparación de fechascore/helpers/global/global.util.ts (format), core/services/api/auth.service.ts (isBefore)En uso
moment-timezone^0.6.0Lista de zonas horariasfeatures/settings/components/general-settings/general-settings.component.ts (moment.tz.names()); angular.jsonEn uso
drawflow^0.0.59Editor de flujosSolo un tipo en core/interfaces/api/real-time.interface.ts, angular.json y _real-time.scss; sin editor realLegado

i18n​

PaqueteVersiónUsoDónde se usaEstado
@ngx-translate/core^15.0.0Traducciones es / en87 archivos; app.module.ts, global.util.tsEn uso
@ngx-translate/http-loader^8.0.0Carga de assets/i18n/*.jsonapp.module.tsEn uso

Ver i18n y tema.

Seguridad y cifrado​

PaqueteVersiónUsoDónde se usaEstado
crypto-js^4.2.0Cifrado de la sesión guardada en el navegadorcore/services/ui/storage.service.tsEn uso
secure-web-storage^1.0.2localStorage cifradocore/services/ui/storage.service.ts, src/typings/secure-web-storage.d.tsEn uso
node-forge^1.3.1Cifrado híbrido con la clave pública RSA del backendcore/services/ui/encryption.service.tsEn uso
@types/crypto-js^4.2.2TiposCompilaciónTipos
@b12k/gitleaks^8.30.1-v.35Binario de gitleaks para npm run secrets:scanScript secrets:scan (.gitleaks.toml)Tooling

Ver Auth, interceptores y RBAC y Entornos.

Tooling, test y lint​

PaqueteVersiónUsoDónde se usaEstado
@angular/cli^18.2.0Comandos ngScripts de package.json, angular.jsonTooling
@angular-devkit/build-angular^18.2.0Builders de Angularangular.json, karma.conf.jsTooling
@angular/compiler-cli, @angular/language-service^18.2.0 / ~18.2.0Compilación AOT y soporte de editorImplícito en el buildTooling
typescript~5.5.4Lenguaje (strict, strictTemplates)tsconfig*.jsonTooling
karma, karma-chrome-launcher, karma-jasmine, karma-jasmine-html-reporter, karma-coverage-istanbul-reporter~6.4.0 y afinesEjecución de tests unitarioskarma.conf.jsTooling
jasmine-core, jasmine-spec-reporter, @types/jasmine, @types/jasminewd2~4.3.0, ~7.0.0, ~4.0.3, ~2.0.10Framework de test y tipos*.spec.tsTooling
husky^9.1.7Hooks de Git (prepare).husky/Tooling
lint-staged^17.5.0Ejecuta Prettier sobre lo preparadoBloque lint-staged de package.jsonTooling
prettier^3.8.1Formateolint-stagedTooling
tslint, codelyzer~6.1.0, ^6.0.2Linter heredado (TSLint está descontinuado)tslint.json; angular.json no define target lint, así que npm run lint no tiene builderLegado
ts-node~10.9.1Ejecutar TS en NodeSin referenciasSin uso
@types/node^18.7.9Tipos de NodeCompilaciónTipos
@types/drawflow, @types/feather-icons^0.0.12, ^4.7.0TiposCompilaciónTipos

Ver Testing y calidad.

Candidatas a eliminar​

Paquetes sin ninguna referencia real (confirmado por búsqueda de imports y de angular.json): @angular/service-worker, @sweetalert2/ngx-sweetalert2, ngx-bootstrap, ngx-owl-carousel-o, ngx-perfect-scrollbar, angularx-qrcode, ng-chartist, ng2-charts, @types/chartist, codemirror y los seis @codemirror/*, @types/codemirror, ngx-dropzone, ngx-dropzone-wrapper, ts-node, swiper. Los paquetes Solo estilos y Legado (@kolkov/angular-editor, drawflow, tslint, codelyzer) requieren revisar SCSS o constantes antes de quitarlos.

:::note Restos de otro dominio core/helpers/global/page-configuration.constants.ts y promotion-management.constants.ts (promociones, configuración de páginas) y el campo apiReportsUrl en Entornos proceden de otro producto; son archivos huérfanos (ningún otro archivo los importa) y la única razón por la que @kolkov/angular-editor aparece en el código. :::