json-csv-convert-v1

1.0.1 • Public • Published

Convert V1

Convert V1 (npm package json-csv-convert-v1) is a zero-interaction, high-speed CLI and programmatic utility for lossless CSV ↔ JSON conversions.


Installation

npm install -g json-csv-convert-v1
# or for local development:
npm link

This installs the json-csv-convert-v1 command globally.


CLI Usage

# via global binary
json-csv-convert-v1 <input.csv> <output.json>

# or JSON → CSV
json-csv-convert-v1 <input.json> <output.csv>
  • <input>: path to a .csv or .json file
  • <output>: path ending in .json (for JSON output) or .csv (for CSV output)

Success prints:

✓ <N> records  |  <time>s

and exits with code 0. Error prints a message to stderr and exits with code 1.

Alternate Invocation

If you clone the repo directly, you can also run:

node convert.js <input> <output>

from the project root.


Programmatic API

// Require the module (from package or local file)
const convertFile = require("json-csv-convert-v1");

async function run() {
  await convertFile("data/input.csv", "data/output.json", (record, index) => {
    // optional per-record transform
    record.timestamp = new Date().toISOString();
    return record;
  });
}

run().catch(console.error);

Function Signature

convertFile(
  inputPath: string,
  outputPath?: string,
  transform?: (record: Record<string, any>, index: number) => Record<string, any>
): Promise<void>
  • inputPath: .csv or .json
  • outputPath: defaults to ./out if omitted; must end in .csv or .json
  • transform: optional per-record mapping function

I/O Details

  • CSV → records

    • Splits on ,; first row is headers
    • Missing fields return ""
  • JSON → records

    • Input must be a JSON array of objects
  • records → JSON

    • Pretty-printed with 2-space indentation
  • records → CSV

    • Columns from keys of the first record; null/undefined → ""
  • Automatically creates parent directories for output


Error Handling

  • Unsupported extensions → Error("Unsupported input/output format…")
  • JSON not an array → Error("JSON input must be an array of objects")
  • FS or parse errors → printed to stderr, exit code 1

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i json-csv-convert-v1

Weekly Downloads

1

Version

1.0.1

License

MIT

Unpacked Size

5.25 kB

Total Files

3

Last publish

Collaborators

  • haz3y0ne