@mostajs/file-export
v0.1.0
Published
Export de données structurées (titre + items + champs + liens) vers des fichiers — un DIALECTE par format (façon dialects @mostajs/orm) : html, csv, pdf, docx, ods (OpenOffice/Calc), xlsx (Excel). html/csv sans dépendance ; pdf/docx/tableurs via drivers o
Maintainers
Readme
@mostajs/file-export
Export de données structurées (titre + items {intitulé, lien, champs}) vers des fichiers, avec
un dialecte par format (façon dialects @mostajs/orm) :
html, csv, pdf, docx, ods (OpenOffice/Calc), xlsx (Excel).
Auteur : Dr Hamid MADANI [email protected] · Licence : AGPL-3.0-or-later
Principes
- fs-free : le module produit des octets, il ne touche jamais au système de fichiers.
La persistance est du ressort de
@mostajs/storage(seul contrôleur des fichiers). html/csv: zéro dépendance.pdf/docx/ods/xlsx: drivers npm optionnels, lazy (pdfkit,docx,xlsx).
Usage
import { exportDoc, availableFormats } from "@mostajs/file-export";
const doc = {
title: "Appareils d'ophtalmologie",
columns: ["catégorie", "fabricants"],
items: [{ title: "OCT", url: "https://…", fields: { catégorie: "Imagerie", fabricants: "Zeiss, Heidelberg" } }],
};
const { bytes, mime, filename } = await exportDoc("html", doc); // ou "csv" | "pdf" | "docx" | "ods" | "xlsx"
// → la persistance se fait via @mostajs/storage côté app (ex. saveUpload(new File([bytes], filename, { type: mime })))
await availableFormats(); // formats réellement disponibles ici (drivers présents)Rendu haute-fidélité via LibreOffice (basé fichiers) → module serveur séparé
@mostajs/file-exoffice(à venir).
