Skip to content

[DVW-BUILD-B01] Fix build failures en feature/markdown-editor — PR #66 #135

Description

@trbureiyan

🐛 Bug: Build failures en feature/markdown-editor — PR #66

Código: DVW-BUILD-B01
PR afectado: #66feature/markdown-editor
Commit: 05d40ff
Prioridad: 🔴 CRÍTICA
Responsable: @Arekkazu


1. Detalles Técnicos

Campo Detalle
Branch feature/markdown-editor
Commit 05d40ff
Build region Vercel iad1
Errores bloqueantes 2 × Module not found
Archivos afectados app/api/auth/projects/editor/[projectid]/route.ts
app/api/auth/projects/editor/[projectid]/upload/route.ts

Traza exacta del build:

./app/api/auth/projects/editor/[projectid]/route.ts
Module not found: Can't resolve '@/lib/utils/normalize.space'

./app/api/auth/projects/editor/[projectid]/upload/route.ts
Module not found: Can't resolve '@/lib/utils/normalize.space'

./lib/bcrypt.ts
Module not found: Can't resolve 'bcryptjs'
./app/api/auth/projects/editor/[projectid]/route.ts Module not found: Can't resolve ''lib/utils/normalize.space'' (see below for file content)

./app/api/auth/projects/editor/[projectid]/upload/route.ts Module not found: Can't resolve ''lib/utils/normalize.space'' (see below for file content)


2. Descripción

El build de Vercel falla en el branch feature/markdown-editor debido a errores de resolución de módulos (bloqueantes).

Error 1 & 2 — normalize.space no encontrado:

En ambos endpoints del editor (route.ts y upload/route.ts) se importa:

  • import { normalizeSpace } from "@/lib/utils/normalize.space";

Sin embargo, en el repo el archivo normalize.space.ts solo existe en:

  • _deprecated/lib/utils/normalize.space.ts

No existe en la ruta esperada por Next:

  • lib/utils/normalize.space.ts

Por lo tanto, durante next build el compilador no encuentra el módulo y el build se detiene con Module not found.


3. Checklist

Errores bloqueantes (bloquean el merge del PR)

  • Crear lib/utils/normalize.space.ts copiando/migrando el helper desde _deprecated/lib/utils/normalize.space.ts
  • Verificar que el export coincida con lo usado por los imports: export const normalizeSpace = ...
  • Ejecutar pnpm build (o npm run build según el flujo del repo) localmente para confirmar que ya no aparece Module not found
  • Re-deploy en Vercel del branch feature/markdown-editor y confirmar que el build pasa

Validaciones recomendadas (no bloqueantes, pero relacionadas)

  • Asegurar consistencia de normalización del path entre route.ts y upload/route.ts (orden de toLocaleLowerCase() vs normalizeSpace())
  • Confirmar que el helper migrado se use desde lib/utils/ para evitar futuras duplicaciones

4. Ideas de Diseño

Sobre normalizeSpace:
El helper en _deprecated/lib/utils/normalize.space.ts es el código correcto que ya existe en el proyecto. La falla ocurre porque los endpoints actuales importan desde lib/utils/ y ese archivo no fue migrado.

Recomendación:

  • Migrar el archivo a lib/utils/ (manteniendo el mismo export) y dejar _deprecated/ como legado.
  • Mantener los imports consistentes hacia @/lib/utils/... para evitar que el equipo reintroduzca el helper en otra ubicación.

5. Estrategia de Testing

  • Build local: ejecutar build limpio (pnpm build / npm run build) y confirmar que no aparecen errores Module not found.
  • Deploy de verificación: hacer push al branch corregido y confirmar que Vercel completa next build exitosamente.
  • Smoke test funcional: usar el editor para:
    • guardar contenido (endpoint route.ts)
    • subir archivo (endpoint upload/route.ts)
      y verificar que el helper normaliza correctamente los paths antes de llamar a Supabase Storage.

6. 📢 Importante — Comunicación

El error Module not found: Can't resolve 'lib/utils/normalize.space' es bloqueante y debe resolverse para que el PR #66 pueda pasar CI/Vercel.

El problema es estructural (ruta del módulo inexistente en lib/), no un tema de telemetry ni de lint warnings.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions