Carlos Cifuentes
Migración de librerías AngularJS · fechas

Migrar angular-moment / Moment.js a Angular moderno

angular-moment exponía Moment.js mediante filtros como amDateFormat y amTimeAgo. Moment está en modo mantenimiento y sus autores recomiendan alternativas para trabajo nuevo.

Qué la reemplaza

OpciónCuándo elegirla
date-fnsFunciones pequeñas, tree-shakeable, trabaja con Date nativo.
LuxonCuando las zonas horarias y las duraciones son centrales en el producto.
Angular DatePipeSuficiente cuando solo formateas fechas para mostrar.

Cómo migrarla

  1. Separa el formateo (templates) de los cálculos con fechas (servicios); se migran de forma distinta.
  2. Reemplaza los filtros am por DatePipe o un pipe propio pequeño.
  3. Reemplaza la aritmética y el parseo de fechas por date-fns o Luxon, con pruebas unitarias sobre zonas horarias.

Cuidado con. Los objetos de Moment son mutables; los reemplazos no. El código que llamaba add o startOf sin usar el valor devuelto cambia de comportamiento sin avisar.

Otras librerías

¿Planeas una migración o una plataforma de microfrontends?

En una llamada de 20 minutos me cuentas tu situación y te digo cómo la abordaría. Si todavía no vale la pena, también te lo digo.

Escríbeme por LinkedIn