
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
@woocommerce/csv-export
Advanced tools
A set of functions to convert data into CSV values, and enable a browser download of the CSV data.
Install the module
pnpm install @woocommerce/csv-export --save
onClick = () => {
// Create a file name based on a title and optional query. Will return a timestamped
// name, for example: revenue-2018-11-01-interval-month.csv
const name = generateCSVFileName( 'revenue', { interval: 'month' } );
// Create a string of CSV data, `headers` is an array of row headers, put at the top
// of the file. `rows` is a 2 dimensional array. Each array is a line in the file,
// separated by newlines. The second-level arrays are the data points in each row.
const data = generateCSVDataFromTable( headers, rows );
// Triggers a browser UI to save a file, named the first argument, with the contents of
// the second argument.
downloadCSVFile( name, data );
}
StringGenerates a CSV string from table contents
Returns: String - Table contents in a CSV format
| Param | Type | Description |
|---|---|---|
| headers | Array.<Object> | Object with table header information |
| rows | Array.Array.<Object> | Object with table rows information |
StringGenerates a file name for CSV files based on the provided name, the current date and the provided params, which are all appended with hyphens.
Returns: String - Formatted file name
| Param | Type | Default | Description |
|---|---|---|---|
| [name] | String | '' | Name of the file |
| [params] | Object | {} | Object of key-values to append to the file name |
Downloads a CSV file with the given file name and contents
| Param | Type | Description |
|---|---|---|
| fileName | String | Name of the file to download |
| content | String | Contents of the file to download |
FAQs
WooCommerce utility library to convert data to CSV files.
We found that @woocommerce/csv-export demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 19 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.