New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

fs-write-data

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fs-write-data

writes input json to multiple output formats - to file or cli

latest
Source
npmnpm
Version
1.0.5
Version published
Maintainers
1
Created
Source

fs-write-data

npm license travis status Build status Coverage Status David David Commitizen friendly

NPM

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

Why

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.

Installation

npm install fs-write-data
yarn install fs-write-data

Usage

CLI


  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

Use cases

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

API

/**
 * 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');

Development Tooling

fs-read-data

Dependencies

This is an aggregation module, much like fs-extra. It's built upon the shoulders of libraries that provide it's core functionality.

js-yaml ini tomlify

Support cast: awaiting commander

License

Apache-2.0

Code of Conduct

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.

Support

Bugs, PRs, comments, suggestions welcomed!

Keywords

json

FAQs

Package last updated on 19 Jun 2018

Did you know?

Socket

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.

Install

Related posts