
Product
Announcing Bun and vlt Support in Socket
Bringing supply chain security to the next generation of JavaScript package managers
@aduh95/toml-prettifier
Advanced tools
Opinionated TOML code formatter written in JavaScript.
Reading a TOML file using Node.js and overwrite it with the prettified version:
import { createReadStream, createWriteStream, promises as fs } from "fs";
import { join } from "path";
import { tmpdir } from "os";
import { createInterface as readLines } from "readline";
import TOMLPrettifier from "@aduh95/toml-prettifier";
/**
* Prettifies a TOML file.
* @param {string | URL | Buffer} inputFilePath
*/
export async function prettifyTOMLFile(inputFilePath) {
// Read the input file line by line.
const reader = readLines({
input: createReadStream(inputFilePath),
crlfDelay: Infinity,
});
// Create a temporary file to write the prettified TOML.
const { handle, path: tmpFile } = await fs.mkstemp(join(tmpdir(), "pretty-"));
const writer = createWriteStream(tmpFile, { fd: handle.fd });
// Pass the input to TOMLPrettifier.
for await (const line of TOMLPrettifier(reader)) {
// Write the output to the temp file.
writer.write(line + "\n");
}
// Close the temp file once filled up.
await handle.close();
// Replace the input file by the temp file.
await fs.rename(tmpFile, inputFilePath);
}
The API is the same, although you must init the @aduh95/toml package manually
before using it. This uses a WASM module that must be initiate asynchronously
and is used to prettify arrays and inline tables.
import TOMLPrettifier from "@aduh95/toml-prettifier";
import initTOMLWasm from "@aduh95/toml";
await initTOMLWasm();
There are no available configuration for the formatting.
#s represent the start of a comment, followed by one space
unless the comment is empty.FAQs
Opinionated TOML code formatter
We found that @aduh95/toml-prettifier demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Product
Bringing supply chain security to the next generation of JavaScript package managers

Product
A safer, faster way to eliminate vulnerabilities without updating dependencies

Product
Reachability analysis for Ruby is now in beta, helping teams identify which vulnerabilities are truly exploitable in their applications.