goods-exporter
A versatile JavaScript library for exporting goods data to various formats such as YML, CSV, and Excel. Simplify data
export tasks with ease.
Features
- Export goods data to JSON, YML, CSV, and Excel formats.
- Easily integrate into your JavaScript projects.
- Compatible with Node.js version 16 and above.
- Comprehensive TypeScript type definitions included.
- Supports streams.
Supported formats
- YML (Yandex Market Language)
- JSON
- SimpleJSON (grouped)
- CSV
- Excel
- TgShop
- Insales
- Tilda
- WooCommerce
Installation
To use goods-exporter
in your project, simply add it to your dependencies using npm or yarn:
npm install goods-exporter --save
yarn add goods-exporter
Quick start
import { GoodsExporter, Product, Category, Formatters } from "../src";
import { PassThrough } from "stream";
const exporter = new GoodsExporter();
const products: Product[] = [];
const categories: Category[] = [{ id: 1, name: "Обувь" }];
const stream = new PassThrough();
exporter.setExporter(() => stream);
exporter.setFormatter(new Formatters.YMLFormatter());
exporter.setTransformers([
(products) => {
return products.map((product) => ({
...product,
price: product.price + 10000,
images: product.images?.map((image) => image.replace("image", "pic")),
}));
},
]);
await exporter.export(products, categories);
Example
import fs from "fs";
const exporter = new GoodsExporter();
const transformers: Transformer[] = [
(products) =>
products.map((product) => ({
...product,
price: product.price + 10000,
})),
(products) =>
products.map((product) => ({
...product,
images: product.images?.map((image) => image.replace("image", "pic")),
})),
];
exporter.setFormatter(new Formatters.YMLFormatter());
exporter.setTransformers(transformers);
exporter.setExporter(fs.createWriteStream("output.yml"));
await exporter.export(products, categories);