Paquet CSV pour Node.js version 6
Version 6 de la csv forfait for Node.js est publié avec ses sous-projets. Voici les dernières versions :
csvversion6.0.0la dernière version était5.5.3
csv-generateversion4.0.0la dernière version était3.4.3
csv-parseversion5.0.0la dernière version était4.16.3
csv-stringifyversion6.0.0la dernière version était5.6.5
stream-transformversion4.0.0la dernière version était2.1.3
Il y a eu beaucoup de commits depuis la sortie du dernier paquet, environ 100, beaucoup trop à mon avis. La plupart des efforts ont porté sur la migration vers Modules ECMAScript (ESM) et fournir une infrastructure de construction robuste basée sur Cumul. Le site a été mis à jour et enrichi de nombreux exemples.
Avant de présenter les nouveautés, voici d’abord les changements de rupture. Certains noms de module ont changé en fonction de votre environnement ciblé. La documentation fournit maintenant des informations détaillées et des exemples sur ce sujet. De plus, certaines options ont été renommées dans le csv-parse forfait. Il n’y en a pas trop :
- Les utilisateurs de CommonJS doivent mettre à jour le chemin vers les modules de synchronisation, à partir de
package_name/lib/syncàpackage_name/sync. - Les importations sont toujours détruites, par exemple
import parse from 'csv-parse'il y a maintenant des exportations par défaut. - Dans le
csv-parseforfait, optionsrelaxa été renommérelax_quotes. - Dans le
csv-parseforfait, optionsskip_lines_with_empty_valuesa été renomméskip_records_with_empty_values. - Dans le
csv-parseforfait, optionsskip_lines_with_errora été renomméskip_records_with_error. - Dans le
csv-parsecolis, erreurCSV_RECORD_DONT_MATCH_COLUMNS_LENGTHa été renomméCSV_RECORD_INCONSISTENT_COLUMNS. - Dans le
csv-parsecolis, erreurINCONSISTENT_RECORD_LENGTHa été renomméRECORD_INCONSISTENT_FIELDS_LENGTH.
Voici les principales fonctionnalités :
- Tous les projets et modules sont désormais écrits sous forme de modules ECMAScript.
- Utilisation transparente entre CommonJS et ESM avec package.json
exportspropriété - Rédaction de nombreux exemples intégrés au site de documentation
- Remplacez la distribution du navigateur par la distribution IIFE générée par Rollup
- Nouvelle distribution UMD
- Intégrez les règles de charpie sur tous les fichiers js et café
- Compatibilité de rétroportage avec Node.js 8 en
csv-stringify - Dans
csv-parseimprimer le tampon actuel avec les optionsskip_line_with_errorsetraw - Dans
csv-parseoptionobjnamepeut maintenant se référer à la position d’index - Quelques améliorations TypeScript
Voici un exemple rapide illustrant certains des changements, en utilisant le csv-parse/lib/sync module. Dans la version précédente, le code ressemblait à :
const parse = require('csv-parse/lib/sync');
const records = parse('a, "b" ,c',
relax: true
);
Dans la dernière version, le code mis à jour est désormais :
// `parse` is now destructured, it is consistent with
// `const parse = require('csv/sync');` if you are using the `csv` package.
// Also, the path to the sync module is now 'csv-parse/sync'
const parse = require('csv-parse/sync');
const records = parse('a, "b" ,c',
// `relax` was renamed `relax_quotes`, this is one of the few options from
// `csv-parse` which were renamed.
relax_quotes: true
);
Veuillez signaler les bogues et proposer des fonctionnalités au Référentiel CSV sur GitHub.
