transform-x
v0.0.2
Published
JS functions to convert between JSON, SQLite and Excel.
Downloads
18
Readme
transform-x
JS functions to convert between JSON, SQLite and Excel.
- Use via a JS import or CLI.
- Portable: Aims to work in any web standards compatible JS runtime (browser, Node.js, Deno, Bun, Cloudflare Workers).
Use as a JS library
npm install transform-x
// Use with Node.js
const x = require("transform-x");
x.json_to_sqlite;
// Use with vanilla JS ESM (web bundle)
import {json_to_excel, sqlite_to_json} from "transform-x";
// Use with Typescript (web bundle)
import {json_to_excel, sqlite_to_json} from "transform-x/src/lib";
CLI's
JSON ↔ Excel
json_to_excel
excel_to_json
JSON ↔ SQLite
json_to_sqlite
sqlite_to_json
SQLite ↔ Excel
sqlite_to_excel
excel_to_sqlite
Install
# This installs `$x_to_$y` CLI's that can be auto completed in your terminal with tab.
npm install -g transform-x
JSON ↔ Excel
# Provide both files as args.
json_to_excel --i ./input.json --o ./output.xlsx
# Use stdin (single sheet)
echo '[{"x": 2}, {"x": 3, "y": {"h": 1}}]' | json_to_excel --o ./output.xlsx
# Use stdout
json_to_excel --i ./input.json >./output.xlsx
# Write output to temp file, open in Excel app (macOS only).
echo '[{"x": 2}, {"x": 3, "y": {"h": 1}}]' | json_to_excel --open
# Pipe SQLite query result to Excel.
sqlite3 -json db.sqlite "select * from tbl_a" | json_to_excel --open
JSON ↔ SQLite
# Provide both files as args.
json_to_sqlite --i ./input.json --o ./output.sqlite
# Use stdin (single table)
echo '[{"x": 2}, {"x": 3, "y": {"h": 1}}]' | json_to_sqlite --o ./output.sqlite
# Use stdout
json_to_sqlite --i ./input.json >./output.sqlite
# Write output to temp file, open in native desktop GUI (macOS only).
echo '[{"x": 2}, {"x": 3, "y": {"h": 1}}]' | json_to_sqlite --open
CLI limits
sqlite_to_json
SQLite/JSON limited to around 500MB in size.
- SQLite files are read/written using JS RAM (as WASM is used).
- JSON output is limited to between 500MB to 1GB in size as this is the size limit of a JS string.
Binary values will be set to null in the output JSON.