
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
fs-write-data
Advanced tools
Converts input JSON to one of multiple output formats {json, yaml, ini, toml}.
Provides a CLI and API interface to underlying capability, making conversion of data-formats a breeze, especially when coupled with fs-read-data
It's common to have data files in one of multiple well-known formats - sometimes just for config, sometimes for more sophisticated declarative definitions.
This is a tool to help you work with such files without getting in your way.
Great for file format conversions or reformatting of input files.
Compared to a single spurious bable module installation, this additional weight of multiple file-serializers was considered acceptable collateral-weight.
npm install fs-write-data
yarn install fs-write-data
Usage: write-data [options]
reads JSON from input/stdin and writes to fname/stdout
Options:
-V, --version output the version number
-x, --format <format> output format {json, yaml, ini, toml}
-i, --input <input> input file, else reads from stdin
-o, --output <output> output file, else write to stdout
-p, --options <options> options to the underlying serializers, as stringified JSON
-h, --help output usage information
Coupled with fs-read-data, it's reasonable trivial to achieve file format conversions.
# yaml to ini conversion
npx read-data ./data.yaml | npx write-data ./data.ini
# json formatting
npx read-data ./data.json > ./data.json
# yaml formatting
npx read-data ./data.yaml | npx write-data ./data.yaml
/**
* Serializes `data` using appropriate serializer and write to file or returns a string.
*
* Serializers used:
* [js-yaml](https://www.npmjs.com/package/js-yaml)
* [ini](https://www.npmjs.com/package/ini)
* [tomlify](https://www.npmjs.com/package/tomlify-j0.4)
*
* @param fname file to write to. Extension is used as hint for format. If missing, returns a string.
* @param data the JavaScript object to serialize
* @param ext serialization format. Overrides file extension
* @param opts options to the individual serializers - expects a JSON object.
*/
const write = require('fs-write-data');
# file format determined from extension
write(`/path/to/file/data.yaml`, data);
write(`/path/to/file/data.ini`, data);
write(`/path/to/file/data.yml`, data);
write(`/path/to/file/data.toml`, data);
write(`/path/to/file/data.json`, data);
# file format explicitly specified - overrides file extension.
# NOTE: the command will write `/path/to/file.data.ini`
write(`/path/to/file/data.yaml`, data, 'ini');
This is an aggregation module, much like fs-extra. It's built upon the shoulders of libraries that provide it's core functionality.
Support cast: awaiting commander
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Bugs, PRs, comments, suggestions welcomed!
FAQs
writes input json to multiple output formats - to file or cli
We found that fs-write-data demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.