Instalación
npm install @dazzadev/vue-sheet-mapper xlsxyarn add @dazzadev/vue-sheet-mapper xlsxpnpm add @dazzadev/vue-sheet-mapper xlsx
xlsxes una peer dependency: tienes que instalarla junto al paquete. Lee Seguridad antes de elegir versión — la copia publicada en npm no es la que quieres.
Importa la hoja de estilos una vez, en el punto de entrada de tu app:
import "@dazzadev/vue-sheet-mapper/style.css";Seguridad
vue-sheet-mapper pasa el archivo que sube el usuario directamente a SheetJS, así que qué build de SheetJS instales es una decisión de seguridad, no una preferencia.
El paquete xlsx de npm está abandonado. SheetJS dejó de publicar ahí después de la 0.18.5 (2022) y movió la distribución a su propio registro. Dos avisos de severidad alta afectan a esa versión — prototype pollution y ReDoS — y ambos están corregidos en builds posteriores que nunca se publicaron en npm. Instalar xlsx por la vía normal te da el código vulnerable.
Instala en su lugar el build parcheado desde SheetJS:
npm install https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgzpnpm add https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgzSe instala con el mismo nombre xlsx y expone la misma API, así que no cambia nada ni en tu código ni en este paquete. El rango de la peer dependency es >=0.18.0 precisamente para que estos builds lo satisfagan.
Un matiz, para que no te sorprenda luego: npm audit y Dependabot van a seguir marcando xlsx aunque cambies. Los dos avisos están registrados contra el paquete de npm sin versión corregida, porque desde el punto de vista de npm no existe ninguna. El build parcheado sí lleva los arreglos; la base de datos de vulnerabilidades simplemente no tiene a dónde apuntar. Si tu organización no puede cargar con una dependencia marcada de forma permanente, lo que necesitas es cambiar de parser, no de versión.