json-csv-convert-v1
v1.0.1
Published
Fast, minimal CLI tool to convert between CSV and JSON formats with optional per-record transformation and clean output.
Downloads
16
Readme
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 linkThis installs the
json-csv-convert-v1command 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.csvor.jsonfile<output>: path ending in.json(for JSON output) or.csv(for CSV output)
Success prints:
✓ <N> records | <time>sand 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:.csvor.jsonoutputPath: defaults to./outif omitted; must end in.csvor.jsontransform: optional per-record mapping function
I/O Details
CSV → records
- Splits on
,; first row is headers - Missing fields return
""
- Splits on
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 →
""
- 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
