[PRD-003] Unificar lib/dateFormat.ts + lib/numberFormat.ts en lib/formatters.ts #46

Closed
opened 2026-04-19 22:10:13 +00:00 by dmolinari · 0 comments
Owner

Origen

SUGGESTION S1 del verify-report de PRD-003 (ProductPrices históricos). Engram topic_key: sdd/prd-003-product-prices-historicos/verify-report.

Contexto

Durante PRD-003 se creó src/web/src/lib/numberFormat.ts con formatCurrency() (ARS, Intl.NumberFormat('es-AR')). Ya existe src/web/src/lib/dateFormat.ts de UDT-011 con formatCivilDate(), formatInstant(), todayArgentina().

Son utilities del mismo dominio (formateo locale-aware) pero viven en archivos separados. A medida que crezcan los módulos (PRC-, VTA-, FAC-*) es probable que agreguemos más formatters (porcentajes, enteros con separador de miles, etc.). Tenerlos dispersos genera fricción de descubrimiento.

Propuesta

Unificar en src/web/src/lib/formatters.ts con re-exports backward-compatible de los dos archivos existentes. Migrar imports de forma gradual (o en bloque si es poco volumen).

Alcance

  • Cross-feature: toca imports en features/products/, features/puntos-de-venta/, features/users/, etc.
  • Scope creep si se mete en un UDT: por eso queda como follow-up dedicado.

Criticidad

Baja. Refactor cosmético. No bloquea ninguna UDT del Critical Path.

Cierre

Atacarlo en una pausa entre UDTs o cuando alguien agregue el tercer/cuarto formatter y la fricción se sienta.

## Origen SUGGESTION S1 del verify-report de PRD-003 (ProductPrices históricos). Engram topic_key: `sdd/prd-003-product-prices-historicos/verify-report`. ## Contexto Durante PRD-003 se creó `src/web/src/lib/numberFormat.ts` con `formatCurrency()` (ARS, `Intl.NumberFormat('es-AR')`). Ya existe `src/web/src/lib/dateFormat.ts` de UDT-011 con `formatCivilDate()`, `formatInstant()`, `todayArgentina()`. Son utilities del mismo dominio (formateo locale-aware) pero viven en archivos separados. A medida que crezcan los módulos (PRC-*, VTA-*, FAC-*) es probable que agreguemos más formatters (porcentajes, enteros con separador de miles, etc.). Tenerlos dispersos genera fricción de descubrimiento. ## Propuesta Unificar en `src/web/src/lib/formatters.ts` con re-exports backward-compatible de los dos archivos existentes. Migrar imports de forma gradual (o en bloque si es poco volumen). ## Alcance - **Cross-feature**: toca imports en `features/products/`, `features/puntos-de-venta/`, `features/users/`, etc. - **Scope creep si se mete en un UDT**: por eso queda como follow-up dedicado. ## Criticidad Baja. Refactor cosmético. No bloquea ninguna UDT del Critical Path. ## Cierre Atacarlo en una pausa entre UDTs o cuando alguien agregue el tercer/cuarto formatter y la fricción se sienta.
dmolinari added the followup label 2026-04-19 22:10:13 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dmolinari/SIG-CM2.0#46