0.0.2 • Published 8 months ago

transform-x v0.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

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.
0.0.2

8 months ago